Skip to content

⏰ An ESP32 TFT interpretation of the @deruiter's DCF77-Analyzer-Clock-V2.0

License

Notifications You must be signed in to change notification settings

tobozo/esp32-DCF77_Analyzer_Clock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

esp32-DCF77_Analyzer_Clock

An ESP32 TFT interpretation of the @deruiter's DCF77-Analyzer-Clock-V2.0

image

Hardware Requirements:

Software Requirements:

Running on an ODROID-GO:

(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).

ODROID-GO esp32-DCF77 Analyzer Clock

The hardware components has to be connected to the ODROID-GO's 10-pin connector:

  • The DCF modules positive pulse output has to be connected to IO4 (5).
  • The RTC should be a DS3231 for convenience (3V3 system). Connect the supply pins to the ODROID-GO 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:

  • Uncomment the #define CONFIG_OGO in the Config.h (comment out any other of the platforms).
  • Activate the verbose compiler output at the Arduino IDE preferences.
  • Select the ORDOID ESP32 as target in the Arduiono IDE.
  • Build the firmware (just clicking the checkmark).
  • When successfully finished the build process, watch one of the last lines of the Arduino IDE console output and navigate to the temporary directory where the compiler puts the file esp32-DCF77_Analyzer_Clock.ino.elf.
  • There you will find a file named 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.
  • Copy the file \assets\img\OGO_DCF77_Analyzer_Clock_Logo.raw to the same directory (icon file created as described here).
  • Create the firmware with 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).
  • Rename the file with ren firmware.fw esp32-DCF77_Analyzer_Clock.fw (Windows) or mv firmware.fw esp32-DCF77_Analyzer_Clock.fw (Linux).
  • Put the firmware file 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.
  • After a software reboot you need to power the ODROID-GO off and on again to re-init the incomplete graphics.

CREDITS:

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

Author:

Interesting websites: