📺 LCD v9: Weather Forecast, AQI Index & Animated Transitions
Current State (LCD v8)
- 14-screen rotation: 11 sensor bars + info + logo + health
- SPI @ 32 MHz, ~6.7 FPS refresh
- Proximity-based screen switching (LTR559, threshold 800)
- Static screens with color bars
Proposed Features
Weather Forecast Screen
AQI Index Screen
Animated Transitions
Technical Approach
Weather API
# OpenWeatherMap free tier: 1000 calls/day
# At 30-min refresh = 48 calls/day (well within limit)
URL: api.openweathermap.org/data/2.5/forecast
Params: lat=25.644&lon=-100.236&units=metric&cnt=8
AQI Breakpoints (EPA Standard)
| AQI |
PM2.5 (µg/m³) |
Category |
Color |
| 0-50 |
0.0-12.0 |
Good |
Green |
| 51-100 |
12.1-35.4 |
Moderate |
Yellow |
| 101-150 |
35.5-55.4 |
USG |
Orange |
| 151-200 |
55.5-150.4 |
Unhealthy |
Red |
| 201-300 |
150.5-250.4 |
Very Unhealthy |
Purple |
| 301-500 |
250.5-500.4 |
Hazardous |
Maroon |
Animation Performance
- ST7735 @ 32 MHz SPI can handle ~20 FPS full-screen
- Transition frames: 5-8 frames over 0.3s
- Use PIL
Image.blend() for alpha transitions
- Pre-render next screen in background thread
Dependencies
requests library for weather API
- OpenWeatherMap free API key
- Existing PIL/Pillow for animations
- SQLite 24h data for rolling AQI average
Screen Count After v9
Current: 14 screens → Proposed: 16 screens (+weather, +AQI)
Ref: #1 Roadmap — LCD Enhancements
📺 LCD v9: Weather Forecast, AQI Index & Animated Transitions
Current State (LCD v8)
Proposed Features
Weather Forecast Screen
.envfile on Pi (see [SECURITY] Pi hardening: firewall, fail2ban, SSH keys #3)AQI Index Screen
Animated Transitions
Technical Approach
Weather API
AQI Breakpoints (EPA Standard)
Animation Performance
Image.blend()for alpha transitionsDependencies
requestslibrary for weather APIScreen Count After v9
Current: 14 screens → Proposed: 16 screens (+weather, +AQI)
Ref: #1 Roadmap — LCD Enhancements