A retro-themed, Wi‑Fi–enabled weather station powered by ESP8266. It reads temperature and humidity via a DHT22 sensor, displays info on an SSD1306 OLED, and shows temperature bands through animated LED breathing. Fully controllable via a web-based CRT-style UI with serial logging and history tracking.
- Features
- Getting Started
- Wiring Summary
- Flashing the Code
- Accessing the UI
- API Endpoints
- Future Improvements
- License & Credits
- UI Preview
- NTP-based resilient time/date handling with offline fallback
- Web server with retro CRT UI theme (mobile-friendly)
- OLED display with rotating info & time/date toggle
- Three animated LEDs showing temp bands: HOT / AVERAGE / COLD
- Serial logging with autoscroll, timestamp toggle, and clear output
- Mode cycling: LIGHTS / SCREEN / BOTH / OFF
- Web API for sensor data, logs, device info, and history export
- ESP8266 (NodeMCU or Wemos)
- DHT22 sensor
- SSD1306 OLED (128×32, I2C)
- 3 LEDs + 1 button
- Breadboard, jumper wires, or soldered board
| Component | GPIO Pin | Notes |
|---|---|---|
| DHT22 | D4 | Temp/Humidity |
| OLED (I2C) | SDA/SCL | Default I2C 0x3C |
| HOT LED | D5 | Red |
| AVERAGE LED | D6 | Yellow/White |
| COLD LED | D7 | Blue |
| Button | D3 | INPUT_PULLUP |
- Clone this repo.
- Install dependencies:
- Arduino core for ESP8266
- TimeLib, Timezone, Adafruit GFX/SSD1306, ESPAsyncWebServer
- Upload
weather_station_v18.inoto your ESP8266 board.
- Connect to the same Wi‑Fi network.
- Visit
http://HOSTNAME.localor IP in your browser.
/api— Device info and sensor data/logs— Serial output (last 30 lines)/toggleMode— Cycle LIGHTS/SCREEN/BOTH/OFF/refresh— Force sensor read + NTP sync/history.json— 600-sample data history/history.csv— CSV export of data history
Coming soon—UI preview and LED behavior demo.
weather_station_v18.ino— Main firmwareCHANGELOG.md— Version historyPRODUCT_SPEC.md— Hardware and feature breakdownREADME.md— This document
- Sensor smoothing (EMA)
- Persistent settings via EEPROM
- Longer-term logging (SD or cloud)
- Manual time/date fallback
Open Source License. Built with love by Cody. Retro theme inspired by CRT displays and 90s PC vibes.