Fixed
- Duplicate refresh on the first wake after a long sleep. A frame could refresh twice, a few minutes apart, on the first scheduled wake of the day (or after any long sleep). The daily NTP sync's correction was applied a moment after the early-wake check ran, so the frame refreshed on the still-drifted clock and then re-woke on the corrected one and refreshed again. The sync now waits for the correction to actually land before the early-wake check, so the wake settles on schedule and refreshes once.
Installation
Web Flasher (Easiest)
Flash directly from your browser (Chrome/Edge/Opera): https://aitjcize.github.io/esp32-photoframe/#flash
Manually
Choose the merged binary for your board:
photoframe-firmware-waveshare_photopainter_73-merged.bin: Waveshare 7.3" 7-colorphotoframe-firmware-seeedstudio_xiao_ee02-merged.bin: Seeed XIAO EE02photoframe-firmware-seeedstudio_xiao_ee04-merged.bin: Seeed XIAO EE04photoframe-firmware-seeedstudio_reterminal_e1002-merged.bin: Seeed reTerminal E1002photoframe-firmware-seeedstudio_reterminal_e1003-merged.bin: Seeed reTerminal E1003 (10.3" grayscale)photoframe-firmware-seeedstudio_reterminal_e1004-merged.bin: Seeed reTerminal E1004
esptool.py --chip esp32s3 --port /dev/ttyUSB0 --baud 921600 write_flash 0x0 photoframe-firmware-[board]-merged.bin