This is version 3.0 of my ESP32 weather station, rebuilt around Espressif's new ESP32-P4. The base station drives a 10.1" DSI touchscreen directly and combines live weather data, a full air quality readout, and a set of wireless sensors spread around the house and garden - all running on your own network, with the forecast pulled from a weather API you choose yourself.
- ESP32-P4 with a 10.1" touchscreen showing live readings and 24h history charts
- All-in-one Sensirion SEN66 for particulate matter, CO2, VOC, NOx, temperature and humidity
- Up to 6 wireless sensor nodes over LoRa and ESP-NOW
- Battery nodes run for years thanks to deep sleep (one of them is even a Geiger counter)
- Weather forecast from Open-Meteo, OpenWeatherMap or Visual Crossing, selectable in a setup screen
- Automatic OTA updates via GitHub Releases
- No cloud and no accounts, apart from the weather API
The system has three tiers: the ESP32-P4 base station with the display, an ESP32-S3 receiver that acts as a LoRa/ESP-NOW radio gateway, and the battery-powered sensor nodes themselves. They all share one simple packet format, which makes the whole thing easy to extend - adding a new sensor type barely touches the existing firmware.
I explain the full architecture, the power optimization and the sensor protocol step by step in the build guide.
Everything is open source. The complete build guide, wiring, bill of materials and background are in the full article, and all the code is on GitHub.
Build guide: https://www.haraldkreuzer.net/en/news/build-guide-esp32-weather-station-and-environmental-monitor
Source code: https://github.com/HarryVienna/ESP32-Weather-Station-and-Air-Quality-Monitor












Comments