Complete reverse engineering of TJ-56-654 weather clock from AliExpress. Security fixes: - Eliminated WiFi password leak vulnerability - Removed dependency on Chinese cloud services (QWeather) - Secure WiFiManager captive portal setup - No hardcoded credentials Features: - Fully async architecture (zero blocking operations) - OTA firmware updates (web + ArduinoOTA) - NTP time sync with timezone + DST support - Open-Meteo weather API (free, no registration) - 3 display modes: time, weather, sunrise/sunset - REST API + web interface - EEPROM config persistence Performance: - Loop time: <1ms (was 10ms+) - Memory: 409KB flash (38%), 38KB RAM (46%), 62KB IRAM (94%) - Zero blocking delays Hardware: - ESP-01S (ESP8266EX, 1MB flash) - GM009605v4.3 OLED display (128x64, I2C) - Custom I2C mapping: SDA=GPIO0, SCL=GPIO2 Documentation: - Complete installation guide - Hardware specifications - API documentation - Troubleshooting guide - Version history v1.5 → v1.9.1 Built with Claude Code (Opus 4.5) Author: Andrey Petrochenko Date: 2026-01-03
834 B
834 B
name, about, title, labels, assignees
| name | about | title | labels | assignees |
|---|---|---|---|---|
| Bug report | Report a problem with the firmware | [BUG] | bug |
Describe the bug A clear and concise description of what the bug is.
To Reproduce Steps to reproduce the behavior:
- Go to '...'
- Click on '....'
- Scroll down to '....'
- See error
Expected behavior A clear and concise description of what you expected to happen.
Serial Monitor Output If applicable, paste serial monitor output here:
[paste output here]
Environment:
- Firmware version: [e.g., v1.9.1]
- ESP8266 board package version: [e.g., 3.0.2]
- Arduino IDE version: [e.g., 1.8.19]
- Hardware: [e.g., TJ-56-654, custom ESP-01S]
Additional context Add any other context about the problem here.
Screenshots If applicable, add screenshots to help explain your problem.