Main Content

"Connect" to an atomic clock in space! GPS, DCF77

This project is a clock with radio receivers which can receive the exact time from the GPS satellites or from the DCF77 transmitter.

This project is a clock with radio receivers which can receive the exact date and time from the DCF77 time signal transmitter or the UTC from the GPS satellites and display it on a 128x64 pixel graphic display. DCF77 transmitter and GPS is synchronized to an atomic clock. So basically this project can “connect to” an atomic clock.

This project is an open design: open hardware and open source software.

- receiving date and time from the DCF77 transmitter, decoding it, displaying it on a 128x64 pixel dotmatrix display
- receiving UTC from GPS satellites with a GPS module, displaying it on a 128x64 pixel dotmatrix display
- stand-alone date and time clock based on a real time clock (if radio signal reception is not possible)
- measuring and displaying temperature
- measuring and displaying battery voltage
- displaying SW version information
- simple menu system for configuration
- alarm function
- beep sound on button press

I built the project around a PIC microcontroller. The goal was during the micro selection is to have a low power consumption but yet powerful enough controller to decode the DCF77 and GPS signals and to drive the display. I also choose a type which I familiar with.

The display is a chip-on-glass type which can be powered from 3.3V. It can be controlled via a simple SPI protocol. Another advantage is that no mounting required, it can be simply soldered on the PCB, but i will use a header adapter so the display can be changed easily.

The LED backlight is powered with an NCP5005 boost driver. The clock will be running from 3 AA batteries. To decrease the power consumption the SW has to have some intelligence: dimming, or even switch off the backlight at certain time of the day.

I used a small 32768 kHz real time clock crystal, so the clock can remain relatively punctual even when no DCF77 or GPS reception is possible.

For temperature measurement an analog LM20 sensor is used.

In order to measure the output of the temperature sensor and the battery voltage accurately an LM4041 voltage reference is used.

Programming and debugging is performed with a PICkit3 programmer, so a header adapter is connected to the ICSP of the micro as programmer connector.

For powering the whole circuit 3 AA battery is used and a very low drop 3.3V voltage regulator.

For easier debugging and for measurement purpose during the development a red LED is directly connected to a micro output with a series resistor.

To be able to operate the menu and set the date and time 3 taktile type push buttons is connected to 3 microcontroller inputs with pull-up resistors.

A TDK PS1720P02 piezo buzzer is used for generating a sound signal when a button is pressed and for the alarm clock functionality.

For UTC reception from a GPS satellite a PmodGPS module is used from Digilent.

For exact time and date reception a DCF 77 receiver module with digital output is used from Conrad electronics.”

Link to article