Ramblings of an aging IT geek
← Ramblings of an aging IT geek
hardware

an esp32 weather station, mostly working, which is the best kind

A small ESP32 weather station feeding temperature, humidity and pressure into the homelab, and the one sensor that keeps lying to me.

A soldered ESP32 board with sensor wires on a bench

The weather station has been sitting on the windowsill for a fortnight now, and it mostly works, which on a hardware project is high praise. An ESP32, a BME280 for temperature, humidity and pressure, and a bit of ESPHome to glue it all to Home Assistant over MQTT. No breakout madness, no level shifters, just I2C and three jumper wires that I soldered properly this time instead of trusting a breadboard outdoors.

ESPHome did the heavy lifting. The whole config is about thirty lines of YAML, and the BME280 readings are genuinely good. Pressure tracks the Met Office to within a hair, and watching it fall ahead of rain is more satisfying than it has any right to be.

The "mostly" is the temperature. In direct afternoon sun the reading climbs four or five degrees above reality, because the board sits in its own little greenhouse and the BME280 is happily measuring the warmth of the ESP32 next to it rather than the air. The proper fix is a Stevenson screen, or at least a radiation shield and some physical distance between the regulator and the sensor. The bodge for now is a software offset and a note to myself to stop pretending it's a calibration problem when it's a packaging problem.

Next version gets the sensor on a short tail away from the board, and a 3D-printed shield. For now, it tells me the pressure honestly and the temperature with an asterisk, and that's a perfectly good first board.