Giter Club home page Giter Club logo

esp32-dcf77_analyzer_clock's Introduction

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:

esp32-dcf77_analyzer_clock's People

Contributors

dl9sec avatar tobozo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

esp32-dcf77_analyzer_clock's Issues

Leap, CEST & Weekday indicators not showing

Hi not sure if these are work in progress but Leap, CEST, week no. & Weekday indicators not showing correctly.

CET is lit when it should be CEST.
LEAP is not lit.
The weekday indicator is not there-I can see the days of the week but not the actual day is not hi-lighted.
The week indicator shows week 28 but is greyed out.

Thanks again for this great project. I have an idea of putting this into a tiny perspex case along with a UDO Klein Super Filter..........

DCF77 Meteo Data 1 full day decode

DCF77MeteoDataDecode01..txt

Edit -data is missing from the code I will resend it complete as sson as the new data is ready!

Enclosed 1 full days Meteo Data from 00:00 to 23:59. Maybe you will find this useful.

I have added time to the data at the end of each section using basic serial.print with no leading zeroes added eg 0:3 is 00:03

I am transcribing the data onto a spreadsheet so sections of data can be broken down to see what and when data is sent.

It will take some time to do but can post it if it's of any use.

Compile Issue UI.h:65: error: 'class TFT_eSprite' has no member named 'setTextStyle'

Hi I have a complile issue see full text below.
I am using a TTGO TS V1.2.
If I comment out the line 65 in UI.h "sprite->setTextStyle( myStyle );" the compile completes and the program loads with this display- http://www.brettoliver.org.uk/ESP32Analyzer.jpg

I am not sure what effect this line has but the Date and time are not centered and the display has some coloured blocks missing. I also don't get any scrolling meteo txt as per your demo. I do get some weather icon though.

Regards.
Brett.

_Error txt

Arduino: 1.8.5 (Windows 10), Board: "TTGO T1, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, None"

Build options changed, rebuilding all
In file included from J:\My Documents\Arduino\Sketches\DCF77 ESP32 Analyzer Clock\esp32-DCF77_Analyzer_Clock\esp32-DCF77_Analyzer_Clock.ino:78:0:

sketch\UI.h: In function 'void setTextStyle(TFT_eSprite*, TextStyle*)':

UI.h:65: error: 'class TFT_eSprite' has no member named 'setTextStyle'

  sprite->setTextStyle( myStyle );

          ^

Multiple libraries were found for "SD.h"
 Used: C:\Users\Brett\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\SD
 Not used: J:\My Documents\Arduino\Sketches\libraries\SD
 Not used: C:\Program Files (x86)\arduino-1.8.5\libraries\SD
exit status 1
'class TFT_eSprite' has no member named 'setTextStyle'

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences._



config question

Tried running your software but unfortunately my m5stack keeps resetting with 3 speaker tones also every few seconds. Could not find reason. Tried Chimera core and std core.
I see you have the SDA and SCL pins connected to pins 33 and 27. In my m5stack they are 21 and 22. What m5stack do you use ?
I do not yet have the DCF77 connected. Could that cause the resetting ?

Clock is working well on an ODROID GO...

Hi,
thank you very much for this great project.
I can confirm that it is running well on an ODROID GO with the Chimera Core.

I was absolutely amazed how flawless the code builds (with no errors or warnings) and runs on the ODROID GO (including buttons and speaker).
I used the IO4 for the DFC input and IO15 for SDA and IO12 for SCL (no clock stretching possible!) at the extension port.

I wondered why a 5V DS1307 is used an not a 3V3 DS3231. Will try to use the DS3231 library to have an overall 3V3 system...

Regards, Thorsten

I encounter the following error when programming the lolin 32 pro

Good evening,
I am currently creating your esp 32 dcf assembly to analyze on your web page.
but I encounter the following error when programming the lolin 32 pro:
here is the error:
Compilation error: 'LGFX_SPI' in namespace 'lgfx' does not name a template type
could you help me.
Sincerely.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.