ESP32 weather station: BME280 on an OLED
Open in the lab ▸Make my own copy
Temperature, humidity and air pressure on a 0.96" OLED, updated every second. Both modules share the same two I²C wires (SDA on GPIO21, SCL on GPIO22): each has its own address, 0x76 for the BME280 and 0x3C for the display, so the ESP32 talks to them one at a time on the same bus. Click the BME280 and change the weather: the screen follows. A sudden pressure drop of a few hPa in a few hours is the old barometer sign of a storm coming.
What is on the bench
4 parts, 9 wires, with a sketch (the program runs in the lab). Boards: ESP32 DevKit.
| ESP32 DevKit | 1 |
|---|---|
| USB charger / port | 1 |
| OLED display (I²C) | 1 |
| BME280 environment sensor | 1 |
Put it on your page
The project runs live inside the frame: readers can press buttons, turn knobs and read the meters.
<iframe src="https://zencircuitlab.com/embed/zclweather" width="100%" height="560" style="border:1px solid #2f363a;border-radius:10px" loading="lazy" title="ESP32 weather station: BME280 on an OLED on Zen Circuit Lab"></iframe>
Link
https://zencircuitlab.com/p/zclweather
Published by its author under the lab's community terms: it may be opened, copied and changed by anyone. Simulation results are for learning; check a real build against the parts' datasheets.