Alex Petrochenko and Claude Opus 4.5
abf3a513c9
docs: update documentation for v1.9.2
...
- CHANGELOG.md: Add v1.9.2 WiFi resilience changes
- README.md: Update journey section, memory stats, project structure
- docs/v1.9.1_HYBRID_FIX.md: Minor formatting fixes
- docs/v1.9.2_WIFI_RESILIENCE.md: New detailed documentation
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-07 09:19:19 +00:00
Alex Petrochenko and Claude Opus 4.5
4a7e889052
refactor: split monolithic .ino into modular structure + improve boot UX
...
## Code Structure
- Split 2172-line .ino into 7 modules:
- config.h - structs, enums, constants
- globals.h - extern declarations, function prototypes
- display.cpp - OLED display functions, Thanos dissolve effect
- ntp_client.cpp - NTP sync, DST calculation
- wifi_manager.cpp - WiFi connection management
- weather.cpp - Open-Meteo API (async)
- web_server.cpp - Web interface handlers
- clock_ntp_ota_v1.9.ino - setup/loop, EEPROM, OTA (153 lines)
## Boot UX Improvements
- Remove meaningless "READY" screen
- Replace cryptic counter (0-7) with "WiFi..." + animated dots
- Show SSID + IP on connected screen
- Use yellow zone (Y 48-63) for status text
- Fix text centering on all boot screens
- Initialize lastBlinkTime/lastModeSwitch to prevent first-frame glitch
## Layout (dual-color display)
- Blue zone (Y 0-47): main content
- Yellow zone (Y 48-63): status/version
- Centering formula: width = n×5 + (n-1)×1 for size 1
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-07 09:05:45 +00:00
Alex Petrochenko
0f2860c25e
Add comprehensive project context documentation
...
Complete context file with:
- Full development history (v1.5 → v1.9.1)
- All technical details and architecture
- Security issues and fixes
- Hardware specifications and pinout
- Current device configuration
- Next steps (Home Assistant integration)
- Key learnings from project
- Quick reference commands
This file serves as complete knowledge base for:
- Resuming work after long breaks
- Onboarding new contributors
- Understanding project evolution
- Reference for future features
2026-01-03 15:59:24 +00:00
Alex Petrochenko
220544583a
Update price: $12 → €5
...
The device actually costs €5 on AliExpress, not $12.
Updated all price mentions in README.
2026-01-03 15:26:50 +00:00
Alex Petrochenko
f2dc2fb961
Add dynamic GitHub badges to README
...
- Release version badge (auto-updates)
- License badge (MIT)
- Build status badge (CI/CD)
- Issues count badge
- Hardware and status badges
2026-01-03 15:25:16 +00:00
Alex Petrochenko
8f0df02e77
Initial commit: v1.9.1 production firmware
...
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
2026-01-03 14:01:31 +00:00