ESP8266-based OLED weather dashboard with multiple information views and a beautiful web interface.
- Clock View: Large time display with location and seconds progress bar
- Date View: Current date with calendar week
- Current Weather: Live weather with icon and temperature
- 3-Day Forecast: Weather forecast with icons and temperature ranges
- Sun Times: Sunrise/sunset times and day length
- Moon Phase: Current moon phase with illumination percentage
- Quote View: Rotating motivational quotes with WiFi SSID
- System Info: WiFi signal, uptime, memory, and IP address
- Modern UI: Beautiful gradient design with card-based layout
- Live Updates: Auto-refresh every 10 seconds
- REST API: JSON endpoint at
/apifor all sensor data - Settings Page: Configure location, temperature unit, and view duration
- Responsive: Works on desktop, tablet, and mobile
- Weather Emojis: Visual weather and moon phase indicators
Access the dashboard: http://<ESP_IP>/
![]() Clock View |
![]() Date View |
![]() Current Weather |
![]() Quote View |
![]() Sun Times |
![]() Moon Phase |
![]() 3-Day Forecast |
![]() System Info |
Web Dashboard Overview |
Configuration Portal |
Settings Page |
![]() WiFi Setup Screen |
![]() Web Dashboard |
![]() Settings Page |
- ESP8266 (ESP-12E/NodeMCU)
- SSD1306 OLED Display (128x64, I2C)
- I2C Pins: SDA=D6 (GPIO12), SCL=D7 (GPIO14)
- Uses Open-Meteo API (free, no API key required)
- Automatic geocoding for city locations
- Automatic timezone detection
- Weather codes: WMO standard
On first boot, the device creates a WiFi access point "ESP-Config":
- City/Location
- Temperature unit (C/F/Both)
- View duration (seconds)
- Manual coordinates (optional)
After connecting to WiFi, access the dashboard:
- Check the serial monitor for the IP address
- Open
http://<ESP_IP>/in your browser - Click "⚙️ Settings" to modify configuration
- Changes are saved to LittleFS and persist across reboots
Get JSON data: http://<ESP_IP>/api
Returns all sensor data including temperature, weather, sun/moon info, and system stats.
- Adafruit GFX Library
- Adafruit SSD1306
- WiFiManager
- ArduinoJson
- LittleFS
This is a PlatformIO project. To build:
pio run
pio run --target uploadMIT










