Giter VIP home page Giter VIP logo

clock's Introduction

components

YouTube Channel Views Instagram

Clock

Reinvigorating/ recycling a handsome old clock and making it super-accurate, internet optional. Uses a Raspberry Pi Pico and a radio antenna (or a Pico W and no radio antenna) to emulate a signal from a Mother clock. You can define the pulse interval as a parameter, so it works with a broad range of clocks (most take 60 seconds intervals, but some take 30 second or 1 second pulses).

European or US Radio Signals

The DCF77 signal is a radio signal that carries information from some Atomic Clocks. The signal covers most of Europe and is accurate to within a second over about 300,000 years (the DCF77 signal has been broadcasting the time since 1973 and in 2021 it was agreed to be continued for at least 10 more years).

The script also has (untested) code for WWVB, the signal used in the United States. To apply WWVB, change the region parameter in main.py from DCF77 to WWVB. If you test it and it works, let me know.

(Japan uses JJY. Adding code for this is on the todo list)

Internet Version

A variation that involves WiFi, fewer components, less code and uses a Pico W.

There is no need for a Real Time Clock (RTC) or Ferrite receiver as everything is done with a quick connect to WiFi and uses the Pico's RTC.

To use this variation, save the code in webtime.py as main.py on the Pico W. You will also need to save your WiFi login credentials as secrets.py on the Pico W in the format shown in secrets_example.py.

Hardware

  • Old 'nebenuhr' clock with secondary mechanism (a mechanism that is controlled by pulses from the mother-clock)
  • A ferrite receiver for the DCF77 signal if you're in Europe (or one for the WWVB signal if you're in the US)... Not needed if you're using Pico W
  • A microcontroller (Raspberry Pi Pico or Pico W)
  • Real time clock (backup for any radio signal issues)... Not needed if you're using Pico W
  • H bridge (LN298) or a 2 channel SPDT Relay Switch, for the polarity switch that triggers the clock mechanism. For higher voltage clocks, the relay is the better option
  • Step-up module to send correct voltage pulse to the clock (or a dc power supply, as used in the video)

Videos

An overview of how the clock works:

Explainer vid

How the pieces are assembled:

Explainer vid II

Building your own clock

Assemble the Pico, step up transformer and H bridge. Note that the voltage of the step up tranformer may vary depending on the clock you're using.

Schematic

The antenna also needs 3.3V power and GND. They were omitted in order to keep the diagram tidy. If you're using the H bridge (rather than a SPDT relay) and are sending more than 12V (we used 24V) to the clock then make sure you remove the 5v jumper from the H-bridge. schematic

Preparing files

Copy the files from this repository

  git clone https://github.com/veebch/clock
  cd clock

Only if you're running the code on a Pico W and want to sync to time online

  mv webtime.py main.py
  mv secrets_example.py secrets.py

and edit secrets.py so that it contains your WiFi credentials.

Transfer files

Send the files to your Pico using ampy

  ampy -p /dev/ttyACM0 put ./*

Edit the file firstruntime.txt to show the time that the clock is showing before the first run. This should be the only time you need to do this, the code will keep track of time after power-off.

Running

The code in main.py executes as soon as the Pico is powered on.

If you run while connected to Thonny then you will see the terminal output. On the radio version this shows the signal as it is decoded. If the bars look irregular or have gaps in, then there is an issue with the radio signal. A clear signal will look something like this:

Action Shot

Code used

The DCF77 part of the code was based on demogorgi/set-rtc-using-dcf77-via-dcf1.

To Do

WiFi version that runs a web server for easy tweaks to the time via smartphone.

Licence

GPL 3.0

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.