HiGrow plants monitoring sensor

soil moisture, humidity and temperature for monitoring your plants

Similar projects worth following
HiGrow is a Soil Moisture, Temperature, Humidity sensor. HiGrow communicates with a cloud application for uploading data and the user can check his plants and sensor with an app.It uses ESP32 to powered by lipo battery, a Soil Moisture sensor and a DHT11 Temp and Humidity sensor.HiGrow hardware is almost opensource. We'll publish very soon the instruction to assemble your HiGrow and 3D print the case on http://www.higrow.techYou can find the ongoing firmware udpates, based on Arduino IDE, on GitHub: the ones interested in developing apps working with ESP32 we are also doing a porting of ESP TOUCH Smart Config to Xamarin. So you can integrate the libraries in your cross platform pr

#Installation steps

Firmware is based on Mongoose OS platform once you have installed Mongoose OS the HiGrow firmware project is available from the Library

javascript - 3.33 kB - 02/12/2018 at 21:08


markdown - 738.00 bytes - 02/12/2018 at 21:08


yml - 1.48 kB - 02/12/2018 at 21:08


  • 1
    Flash the firmware

    We moved the project to Mongoose OS which has a more stable and flexible library for Bluetooth. 

    From Mongoose is really easy to flash your board:

    1. Install Mongoose OS following the instructions here
    2. Connect your device via USB and turn it On (some light should blink :)
    3. Clone the project form library to your dashboard
    4. Build the project and then flash it on the board
  • 2
    Install the app

    app are almost ready, keep you posted

View all instructions

Enjoy this project?



Franky wrote 08/21/2018 at 18:56 point

very interested project, I very curious about how to port the EspTouch Smart Config to Xamarin. Are you using the nuget version 1.04? Thanks 

  Are you sure? yes | no

Bruno Araújo Aguiar wrote 07/27/2018 at 07:51 point

Hi i bought this board, but i cant program it using Arduino, i get the message:

A fatal error occurred: Failed to connect to ESP32: Invalid head of packet ('.')

  Are you sure? yes | no

Dirk wrote 06/14/2018 at 09:26 point

Hi Luca,

thank you for this really cool idea. I got 2 samples of the V1 board from the sources you have mentioned. Unfortunately, one of these is already dead, probably because it ran at very low battery. The problem is described here:

It looks like I cannot re-vitalize this dead HiGrow board. But this shows two things:

- version 1 is not usable for long term usage, might be ok just for experimenting

- a battery measurement possibility is essential, otherwise it will not be possible, to avoid the problem described above

- maybe there is a way to switch the board off completely, when battery drops to a too low voltage. I am not so good at hardware design, thus this is something I cannot answer

- question: is it possible to add a solar panel to load the battery? Any recommendations, how/where to connect the panel?

Otherwise I added MQTT comunication to your mongoose-os based implementation and enabled deep sleep (to save battery capacity). I am happy to provide sources for these changes, if wanted.

A picture of the hardware design would be very helpful to understand what is available and how to add more features. I still do not understand the usage of the button labeled "EN" and did not try to find out, which GPIO it is connected to. The same with the LEDs -- several are on the board, but it is hard to find out, where/how they are connected.

  Are you sure? yes | no

yann R wrote 05/20/2018 at 12:52 point

Hello Luca, thank you for your work.

That she is the number pin of the sensor ?

to integrate soil moisture into blynk

Thank you

  Are you sure? yes | no

rgarciadelarosa wrote 05/16/2018 at 16:11 point

Este proyecto sigue vivo ??

alguien lo tiene en marcha

tengo dos tarjetas compradas para poder instalar.

muchas gracias.

  Are you sure? yes | no

fhefter wrote 04/18/2018 at 17:59 point

Hallo Luca, 

your github sketch has a light sensor (pin 33). 

This seems to produce random numbers around 90-110 in my case. Where is the light sensor on the board? Is it the multi pin rectangle in the center? I already played with the adc attenuation and resolution but had no luck.

I use the rev1 board with the HiGrow icon.  

A circuit diagram would be very helpful. Rev 1 and Rev 2, if possible. 

Btw.: I'm also missing the transistor opposite to the "H" of the Icon. What is it for?

Thank you for all your work!

  Are you sure? yes | no

seriousori wrote 04/18/2018 at 17:14 point


I have mangoose installed on my esp32.
After that, I uploaded your program.
If I access the esp only see this page.

What did I do wrong?

  Are you sure? yes | no

Markus-Rolf wrote 02/18/2018 at 08:30 point

Hi to all,

very nice project this sensor. I would love to test it but I can't get my hardware running because of the header files. Is it possible, that you can also upload the *.h files? I'm not sure where to get them.

Thanks for your help,


  Are you sure? yes | no

Luca Fabbri wrote 02/12/2018 at 21:10 point

Hi everyone, thanks for your support! If anyone has experience with Mongoose OS you can review the code: any improve would be really appreciated!

  Are you sure? yes | no

Marcus Hoffmann wrote 03/17/2018 at 18:16 point

Hello Luca, is there any Android App available, yet?

  Are you sure? yes | no

Svirik82 wrote 01/03/2018 at 04:09 point

Hi people, I have a problem with your sketch!
Error during compilation. Can tell me what to do?

I took it from here:

Maybe it's in the DHT sensor library.
which library do you use?
The error is this:

C:\Users\HP_DV7\Documents\Arduino\sketch\HiGrowEsp32\HiGrowEsp32.ino: In function 'void setup()':

HiGrowEsp32:50: error: 'esp_deep_sleep_enable_timer_wakeup' was not declared in this scope

   esp_deep_sleep_enable_timer_wakeup(1800 * uS_TO_S_FACTOR);


HiGrowEsp32:51: error: 'esp_deep_sleep_pd_config' was not declared in this scope

   esp_deep_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_OFF);


C:\Users\HP_DV7\Documents\Arduino\sketch\HiGrowEsp32\HiGrowEsp32.ino: In function 'void loop()':

HiGrowEsp32:75: error: 'esp_deep_sleep_enable_timer_wakeup' was not declared in this scope

   esp_deep_sleep_enable_timer_wakeup(DEEPSLEEP_SECONDS * uS_TO_S_FACTOR);


C:\Users\HP_DV7\Documents\Arduino\sketch\HiGrowEsp32\HiGrowEsp32.ino: In function 'void sensorsData(char*)':

HiGrowEsp32:98: error: 'class DHT' has no member named 'computeHeatIndex'

   float hic = dht.computeHeatIndex(temperature, humidity, false);       


We use the library WiFi ver 1.0 from the folder: C:\Users\HP_DV7\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi We use the library HTTPClient ver 1.1from the folder: C:\Users\HP_DV7\Documents\Arduino\hardware\espressif\esp32\libraries\HTTPClient We use the library DHT from the folder: C:\Users\HP_DV7\Documents\Arduino\hardware\espressif\esp32\libraries\DHT (legacy)
We use the library WiFiClientSecure ver 1.0 from the folder: C:\Users\HP_DV7\Documents\Arduino\hardware\espressif\esp32\libraries\WiFiClientSecure exit status 1
'esp_deep_sleep_enable_timer_wakeup' was not declared in this scope

We use the library C:\Users\HP_DV7\Documents\Arduino\hardware\espressif\esp32\libraries\BLE: C:\Users\HP_DV7\Documents\Arduino\hardware\espressif\esp32\libraries\BLE

There may be a problem in the DHT library?

Be so kind as to tell me!
If you need a mail:

  Are you sure? yes | no

Ice2Cool wrote 01/19/2018 at 22:17 point

Try to include following:

#include "esp_deep_sleep.h"

  Are you sure? yes | no

seriousori wrote 05/01/2018 at 11:52 point

Hello, thank you for the suggestions.
Have it flashed but I'm not on the web server showing the data.
Nothing happens after flashing.

This shows the serial monitor:
ets Jun 8 2016 00:22:57

rst: 0x1 (POWERON_RESET), boot: 0x13 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 371
ets Jun 8 2016 00:22:57

rst: 0x10 (RTCWDT_RTC_RESET), boot: 0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP: 0xee
clk_drv: 0x00, q_drv: 0x00, d_drv: 0x00, cs0_drv: 0x00, hd_drv: 0x00, wp_drv: 0x00
mode: DIO, clock div: 1
load: 0x3fff0018, len: 4
load: 0x3fff001c, len: 956
load: 0x40078000, len: 0
load: 0x40078000, len: 13256
entry 0x40078a90
DeviceId: 207537695927856

  Are you sure? yes | no

Luca Fabbri wrote 02/12/2018 at 21:15 point

we moved the development to Mongoose OS, you find the code here

  Are you sure? yes | no

Ice2Cool wrote 01/02/2018 at 16:49 point

Hi, im looking into this project and bought two sets of PCB from aliexpress (this is where I stumbled onto it). Before loading any code to it I discover that my two boards does not have the transistor/FET, the 3 pin SMD component in the bottom part (toward soiltail). Does it exist any electrical drawing to this board so that I can investigate the board and its components?



  Are you sure? yes | no

Luca Fabbri wrote 02/12/2018 at 21:12 point

Hi! could you share a pic? the producer made an initial version which was faulty!

  Are you sure? yes | no

eok wrote 11/22/2017 at 18:46 point

is there a voltage divider to monitor the battery?

on which pin is it?

are there any more infos about the board?

which sensor is on which pin?

why is the github sketch not maintained?

  Are you sure? yes | no

Luca Fabbri wrote 02/12/2018 at 21:13 point

Not on thi sversion, rev2 is based on Adafruit schematics using LiPO and voltage divider on pin 13

  Are you sure? yes | no

alandonegan wrote 11/01/2017 at 16:48 point

Hi Luca,  I'd be very interested in purchasing one of your ESP32 dev boards for my project, are they available on any other online stores other than

  Are you sure? yes | no

Luca Fabbri wrote 02/12/2018 at 21:13 point

I posted the cheaper link to Aliexpress (they are almost everywhere just type higrow in your favourite repo)

  Are you sure? yes | no

stefanbode wrote 10/28/2017 at 11:31 point

you will get the PCB with the ESp32 onboard. Batterie 18650 and housing are not included. How’re this helps.

  Are you sure? yes | no wrote 10/20/2017 at 19:36 point

20 € for what?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates