GithubHelp home page GithubHelp logo

hpsaturn / m5stickc-dcf77-hat Goto Github PK

View Code? Open in Web Editor NEW
12.0 3.0 1.0 963 KB

Basic implementation of a DCF77 receiver (hat) for the M5StickCPlus ESP32 board

License: GNU General Public License v3.0

C++ 51.48% C 21.15% Shell 27.37%
arduino dcf77 esp32 m5stack m5stickcplus platformio

m5stickc-dcf77-hat's Introduction

PlatformIO

M5StickC DCF77 HAT

Basic hat implementation of a DCF77 receiver on a M5StickC-Plus or compatible ESP32 devices. This firmware uses an improvement of Arduino-DCF77 library, using an event callback to improve the GUI and signal representation.

Don't forget to star โญ this repository

Device

The current firmware was tested on 77.5KHZ single frequency device. It is the 4 pins version and it was bought in Aliexpress.

Wiring

M5StickC pin DCF77 pin Description
0 P PON: Enable/Disable
26 T Interrupt pin or data
3.3v VDD Positive (3.3v)
GND GND Ground / unlabeled pin

(see the photos in Thingiverse)

Usage

Some tips:

  • Check the right device. Some devices has different frequencies for each country.
  • Try to leave the device from away any radio or wireless interference or noise. The radio is very susceptible to noise.
  • In indoors it works, but is possible that in some builds doesn't. Try in outdoors first.
  • The position of the device for me was important, in horizontal is possible that it works better

Buttons:

  • Left button: Power ON/Off
  • M5 Button: Backlight or brightness toggle
  • Right button: Unimplementened

Installation

Please install first PlatformIO open source ecosystem for IoT development compatible with Arduino IDE and its command line tools (Windows, MacOs and Linux). Also, you may need to install git in your system.

For the default board, the M5StickCPlus, only clone this and upload firmware via USB cable with a simple command:

pio run --target upload

or import the project in VSCode and build and run it.

Box

Is a basic box - hat for these devices, for example M5StickC or M5StickC-Plus, also should be work in M5CoreInk device.

Box DCF77 M5StickCPlus Hat

Files:

DCF77 box base
DCF77 box lid

Also in Thingiverse.


Thanks to

@felmue to fix a sporadical crash.
@jcomas for the help and docs on https://t.me/esp_es
The old DCF77 library
The Seiko documentation

m5stickc-dcf77-hat's People

Contributors

felmue avatar hpsaturn avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

Forkers

felmue

m5stickc-dcf77-hat's Issues

frequent crashes

Hello there,

first of all, thank you very much for this repository.

I run the code on an M5StickCPlus and while it works ok the program from time to time crashes. Is that something you've encountered as well? Just curious.

I think it might have to do with the callback functions which are called from within the interrupt and on the ESP32 there are some restrictions regarding what's allowed in an interrupt and what not. I already removed all Serial.print() statements, but maybe writing to the screen is also problematic.

BTW: when I disable the callbacks I don't see any crashes anymore.

Thanks
Felix

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.