TTGO HiGrow with ESPHome

how would it be with more deep sleep sets??
Is this possible?
Like set deep_sleep1 4h if soil 70%
and deep_sleep2 2h if soil 40% and so on…
but this should be automated from ha or node red I guess so the deep_sleep trigger comes from outside esp?

Dont know how to code it, Im relative new in this area…


I imagine that you could use a combination of global variables and lambdas to make updates to the sleep interval during each wake period. That’s my unofficial guess just by looking at the docs. You might try hitting up the Discord channel.

On the one i have, the sensors are directly attached to power and not controlled by the ESP. this is the main cause of power loss. No matter how much you put it to sleep, the battery drops like a rock. i would suspect this might be suffering from a similar issue.

On the ESP32, you have the option of waking up on any RTC pin. However, there’s one scenario that you need to tell ESPHome how to handle: What if the wakeup pin is already in the state with which it would wake up when the deep sleep should start? There are three ways of handling this using the wakeup_pin_mode option:

  • IGNORE (Default): Ignore the fact that we will immediately exit the deep sleep mode because the wakeup pin is already active.
  • KEEP_AWAKE : Keep the ESP32 awake while the wakeup pin is still active. Or in other words: defer the activation of the deep sleep until the wakeup pin is no longer active.
  • INVERT_WAKEUP : When deep sleep was set up to wake up on a HIGH signal, but the wakeup pin is already HIGH, then re-configure deep sleep to wake up on a LOW signal and vice versa. Useful in situations when you want to use observe the state changes of a pin using deep sleep and the ON/OFF values last longer.

…On the ESP32, you additionally have the option to wake up on any RTC pin ( GPIO0 , GPIO2 , GPIO4 , GPIO12 , GPIO13 , GPIO14 , GPIO15 , GPIO25 , GPIO26 , GPIO27 , GPIO32 , GPIO39 ).

Don’t know if it helps :wink:

(PS: I can’t test anything for now, my T-Higrow are still in China @ packaging…)

1 Like

I think this might be the earlier version? The version of the board that I have has an enable pin on one of the 3.3v regulators that feeds the sensors. It’s connected to GPIO4, referred in the config above as Sensor Power/spower. I make sure to turn that off before shutting down.

Go to:


There is a fully functional program and a tutorial for setting this module up and integrate into Home-Assistant.

Also a 3D print is available for a case to the module


Thanks for the info :wink:
I don’t know about the others in this thread, but my goal is to use the higrow with esphome and not have to manage a clean code by ardruino ide…

would be nice if it work to convert the orginal bin of the seller to a esphome yaml, so we could see what are the breaking differences :smiley:

I did look into the ESPHome, but that was too Chinese to me.

I and BeardedTinker is working on to get the mqtt autodiscover to work with the module, so all the configuration yaml code will disappear.

This will be the version 2.0.
Version 2.0 of the INO sketch will be a one only, meaning, that no matter how many modules you have, you only need one sketch.


how this going? i want to do the exact same thing control a dc valve and monitor everything else. Did you prototype our own PCB?

LilyGo released on Twitter image yesterday (and video) of small pump attached to PCB to pump water based on sensor data.

saw that, but the newest higrow gives me poor data compared to the 8266 version. its why i was curious if @tyeth made any headway

Anyone has experience with the bme280 version? How to set the yaml file?
Second question: Do i need to include the configuration.h file?