ESP32 Environmental Sensors
esp32 board

Wifi and Bluetooth environmental sensors built with ESP32 dev boards.

These firmwares are providing both a Wifi web interface and a documented BLE API to use with WatchFlower. They use standard Arduino libraries and are easy to customize.

GitHub
HiGrow

HiGrow

HiGrow is a plant monitoring sensor platform using ESP32 chips. The original creator is Lucas Fabbri. They are still available on a couple of Chinese brands like LilyGo or Wemos.

I would not recommend an HiGrow board for any serious plant monitoring, but only for tinkering with an ESP32 board with onboard sensors. However if you already have one, this firmware might be useful!

Documentation, firmware code and 3D printed parts on the GitHub repository

Capabilities:

  • Temperature
  • Humidity
  • Light intensity
  • Soil moisture
  • Soil fertility
  • Battery charging and monitoring

Dependencies:

  • Arduino IDE
  • ESP32 platform plugin
  • ESPDash
    • AsyncTCP
    • Arduino JSON
  • Button2 library
  • BH1750 library
  • DHT library (for DTH11, DTH21, DTH22)
  • DHT12 library (for DHT12)

ESP32 settings:

  • 80 MHz CPU and 40 MHz flash frequencies are fine, use more if you want a (bit) more responsive web interface
  • 2 MB APP and 2 MB FATFS partition scheme is requiered (needs more than 1 MB for the app)
HiGrow UI
HiGrow case
Geiger Counter

Geiger Counter

ESP32 board with a "CAJOE" Geiger Counter module designed not for portable handheld measurements, but for long term ambient radiation monitoring.

The CAJOE is a popular open source module with a Geiger Müller tube used for the detection of ionizing radiation.

“3.6 Roentgen. Not great, not terrible.”
You might not be planning on going to Chernobyl, but Chernobyl might just come to you...

Documentation, firmware code and 3D printed parts on the GitHub repository

Capabilities:

  • Event count (detect ionising event due to a radiation particle)
  • Event count per second
  • Radiation levels (µSv/s)
  • Radiation levels (µSv/m)
  • Radiation status (OK > careful > you're gonna die)

Dependencies:

  • Arduino IDE
  • ESP32 platform plugin
  • ESPDash
    • AsyncTCP
    • Arduino JSON
  • Button2 library

ESP32 settings:

  • 80 MHz CPU and 40 MHz flash frequencies are fine, use more if you want a (bit) more responsive web interface
  • 2 MB APP and 2 MB FATFS partition scheme is requiered (needs more than 1 MB for the app)
Geiger Counter UI
Geiger Counter case
Air Quality Monitor

Air Quality Monitor

ESP32 board with many, many air quality monitoring sensors.

The goal is to study our indoor air quality. This one is still a work in progress.

Documentation, firmware code and 3D printed parts on the GitHub repository

Capabilities:

  • Temperature
  • Humidity
  • Light sensor
  • Ambiant sound level
  • O2 sensor
  • O3 sensor
  • CO sensor
  • CO2 sensor
  • NOX sensor
  • VOC sensor
  • Particule sensor

Dependencies:

  • Arduino IDE
  • ESP32 platform plugin
  • ESPDash
    • AsyncTCP
    • Arduino JSON
  • Button2 library
  • BH1750 library
  • DHT library (for DTH11, DTH21, DTH22)
  • DHT12 library (for DHT12)

ESP32 settings:

  • 160 MHz CPU and 80 MHz flash frequencies
  • 2 MB APP and 2 MB FATFS partition scheme is requiered (needs more than 1 MB for the app)
Weather Station

Weather Station

ESP32 board with weather and atmospheric sensors.

The goal is to create an outdoor weather station. It can also use every sensor from the air quality monitor. This one is still a big work in progress.

Capabilities:

  • Temperature
  • Humidity
  • Barometer
  • Light sensor
  • UV light sensor
  • Rain gauge
  • Weather vane
  • Anemometer

Dependencies:

  • Arduino IDE
  • ESP32 platform plugin
  • ESPDash
    • AsyncTCP
    • Arduino JSON
  • Button2 library
  • BH1750 library
  • DHT library (for DTH11, DTH21, DTH22)
  • DHT12 library (for DHT12)

ESP32 settings:

  • 160 MHz CPU and 80 MHz flash frequencies
  • 2 MB APP and 2 MB FATFS partition scheme is requiered (needs more than 1 MB for the app)