⏰ An ESP32 TFT interpretation of the @deruiter's DCF77-Analyzer-Clock-V2.0
MIT License
An ESP32 TFT interpretation of the @deruiter's DCF77-Analyzer-Clock-V2.0
(Contributed by dl9sec)
Thanks to the ESP32-Chimera-Core, the clock runs fine and flawless on an ODROID-GO (with sound output and buttons support for A/B/MENU).
The hardware components has to be connected to the ODROID-GO's 10-pin connector:
IO4
(5).P3V3
(6) and GND
(1), SDA
to IO15
(4) and SCL to IO12
(3) (hopefully the RTC will never need to do a clock stretching, because IO12
is a buffered output pin, not an open-collector/-drain).To build a suitable ODROID-GO firmware file the following steps have to be proceeded:
#define CONFIG_OGO
in the Config.h
(comment out any other of the platforms).ORDOID ESP32
as target in the Arduiono IDE.esp32-DCF77_Analyzer_Clock.ino.elf
.esp32-DCF77_Analyzer_Clock.ino.bin
. Copy this file to a directory (of your choice), where the executable mkfw
(Linux) or mkfw.exe
(Windows, get it here: https://forum.odroid.com/viewtopic.php?t=31939) could be found.\assets\img\OGO_DCF77_Analyzer_Clock_Logo.raw
to the same directory (icon file created as described here).mkfw "DCF77 Anylyzer Clock" OGO_DCF77_Analyzer_Clock_Logo.raw 0 16 1048576 app esp32-DCF77_Analyzer_Clock.ino.bin
(Windows) or ./mkfw "DCF77 Anylyzer Clock" OGO_DCF77_Analyzer_Clock_Logo.raw 0 16 1048576 app esp32-DCF77_Analyzer_Clock.ino.bin
(Linux).ren firmware.fw esp32-DCF77_Analyzer_Clock.fw
(Windows) or mv firmware.fw esp32-DCF77_Analyzer_Clock.fw
(Linux).esp32-DCF77_Analyzer_Clock.fw
to your ODROID-GO's SD card in the odroid\firmware
folder and install it from there to your ODROID-GO.I learned a lot from Erik de Ruiter who learned a lot from the work of Matthias Dalheimer and Thijs Elenbaas who made their own DCF77 decoders.
Although the changes I made are far from optimistic, this code has wisdom DNA in its roots!
Without the incredible work of these geniuses I would not have known where to start and how to write those credits :)
Huge thanks to @BrettOliver for fueling the code with a 320x240 UI, implementing the leap second, and much more