Openweather32 - Open Source ESP32 based weather and air quality station

Hi All

i thought i’d share one of a esphome project that i’ve been working on over the last little while, the OpenWeather32, an Open Source ESP32 based weather and air quality station, designed around sensors supported by ESPHome. I designed it to be beginner friendly all thru hole soldering (minus the QWIIC connector).

Although there are many other open source weather stations out there, not many are based around the ESP32 and most are just weather stations without any air quality or soil moisture sensing capabilities. There also seemed to be a huge lack of any designed around sensors supported by ESPHome I also wanted it to be flexible enough for most people’s needs (which is why the variety of connector headers).


  • DIY friendly thru-hole design with most pins labelled
  • Based around a NodeMCU ESP32
  • Designed to work with ESPHome
  • 5V OR 6.5 - 32V DC input (when populated with TSR12450)
  • Optional dedicated Voltage regulator for QWIIC/Grove i2c bus for a high number of QWIIC devices
  • QWIIC compatible (Dedicated i2c Bus-A)
  • Grove compatible (Dedicated i2c Bus-A)
  • Mosfet controlled pump or solenoid output
  • RJ-11 (or 2.54 dupoint) Rain guage and anemometer inputs [Untested]
  • 5 spare GPIO pins (5 support ADC functions, 2 support DAC, 3 support capacitive touch)

Supported Sensors:

  • Supports a wide variety of temperature and humidity sensors including:
    • BME280 (Adafruit or other pin-outs)
    • AM2303 (otherwise known as the DHT22)
    • SI7021
  • Support the CCS811 CO2 and VOC (volatile organic compound) sensor
  • Supports the SDS011 particulate Matter Sensor
  • Supports the BH1750 Ambient Light Sensor
  • AMS AS3935 Franklin Lightning Sensor [Connected via SPI]
  • Four capacitive soil moisture sensors
  • Any QWIIC or Grove compatible sensor board

Render & Photos:

Render of the Revision 1.1 board

Photos of the Revision 1.0 board

More Details

Any improvements on adding more sensors or improving the EspHome implimentation are of course hugely welcome. I recognize there is a lot more work that could be done in a rev2.0, but i wanted to draw the line somewhere and release something after playing around with it on and off for a few months. I hope it’s useful to some people :slightly_smiling_face: