Section Top Video Credits DCF77 Signal Dial LEDs Controls Schematic Atmega 328 Pins Veroboards Wiring MAX2719 Wiring Jig JQ6500 LEDs DCF77 Receiver RTC Mod Speakers Sounds Dial Build Inkjet Transfer Board Mounting Dial Surround MAX2719 Mods Case Build Modern Case Build DCF77 Filter Code
Click for larger animation
This Clock displays the DCF77 time code on 2 rings of 60 LEDs on a large 12" (305mm) diameter dial. The inner ring shows the live time code for the next minute as it is received
and the outer ring shows the current time as long as the previous minute was received error free. A further 24 LEDs show decoder status and time info.
Decoded time and date are shown on 2 large 8 digit 7 segment displays while DCF77 pulse timings and bit information are shown on a further 2 smaller 8 digit 7 segment displays.
The clock uses 2 x Atmega 328 microprocessors (Arduino Uno) , 1 to control the DCF77 Analyzer and 1 to control a Udo Klein Super Filter.
The Super Filter allows advanced DCF77 signal processing and also tuning of the Arduino quartz crystal.
The filter is switchable and has 10 status LEDs to show the state of signal reception and quality of output.
The clock also chimes the hours, quarter hours and seconds tick through 2 off JQ6500 sound modules.
The clock can be mounted in various housings.
Picture Frame Version
Using the same dial design mounted in a shadow box picture frame and a round photo mount.
Rear View showing optional desk stand fitted to the base
YouTube Video showing clock power up, display test and DCF77 decoding
Demo YouTube Video Showing Clock Receiving & Decoding DCF77 Pulses as well as Chimming the Qtr/Hours
Demo YouTube Video Showing the Picture Frame style Clock Receiving & Decoding DCF77 Pulses as well as Chiming the Qtr/Hours and general build
Demo of Udo Klein's Super Filter working on this clock
The Analyzer Clock in two different case styles. The old style dial on the left is painted Antique white while the modern dial on the right is painted white.
This short video shows my DCF77 analyzer clock displaying and decoding the DCF77 signal. All sounds are off bar the DCF77 live signal.
This is the MKII version of my clock. Details of the MK1 tower clock can be found here.
This clock is based on the DCF77 Analyzer Clock by Erik de Ruiter.
above Erik de Ruiter's DCF77 Analyzer Clock
Erik has provided full details of his clock here on GitHub
See pictures of his clock here Flickr
and Arduino Project Hub
and his other amazing clocks here Flickr
Differences between Eric's Clock and my clock
Although based on Eric's clock I have made a few changes to the hardware. Please mix and match whatever option suits your needs but make sure you change the code to suit.
I use two custom made Arduino UNOs on the Vero board rather than a Uno and a Mega.
I use cheap 7 segment displays and dot matrix modules from China throughout and have changed the code to match. See the section on display errors as they work really well once these mods are carried out.
I use 2x JQ6500 modules rather than the Adafruit sound board. As one of my boards is software controlled there are some software changes and another library to load.
As I have a Arduino Uno instead of a Arduino Mega I do not have all the spare pins to drive the decoder LEDs so I use a 3rd dot matrix module instead.
I have modified Udo Klein's Super Filter by adding extra status LED's. The brightness of these LEDs are PWM controlled by the DCF77 decoder Uno via 2 transistors not the Super Filter Uno.
There is also an LED test function added to the Super Filter to match the DCF77 decoder test funtion.
I only use 3mm LEDs and have chosen matched brightness LEDs to try and keep the brightness uniform.
I have added 4 seperate intensity levels in software so the Ring/Status LEDs, the large 7 segment displays, the small 7 segment displays and the Super Filter LEDs
all have custom brightness levels depending on the readings from the single LDR.
I don't have a temperature or week number display on my clock and have modified the code to suit.
I have added extra monitor LEDs to my Super Filter so on my clock there is only an option for Synthesized and Non Synthesized output. This is not switchable.
The DCF77 Sound on my clock has been modified to accentuate the difference between the incoming 0s and 1s. When the clock detects a 1 it just plays a slightly longer sound than 200mS.
The DCF77 Signal
DCF77 is a German long wave time signal and is transmitted from Mainflingen
Germany, about 25 km south-east of Frankfurt am Main.
The DCF77 signal is an amplitude-modulated, pulse-width coded 1 bit/s data signal. As each bit is transmitted every second it makes it a very visible time signal for displaying on my clock.
The time is represented in binary-coded decimal. It represents civil time, including summer time adjustments.
The time transmitted is the time of the following minute; e.g. during December 31 23:59, the transmitted time encodes January 1 00:00.
The chart below shows the makeup of the DCF77 time code transmitted a 1 pulse
per second over 60 seconds
With a relatively high power of 50 kW, the DCF77 transmissions can reliably be received in large parts of Europe, as far as 2,000 km (1,243 mi) from the transmitter in Mainflingen.
Inner & Outer LED Rings
Filter & Info LEDs
7 Segment Display LEDs
The switch control panel flips down from under the clock
Turns the tick tock sound On and Off (removes power from the JQ6500 module)
Tick Volume non locking
Turns the tick tock volume up and down (Tick sound switch must be On)
Off chimes are turned off
24/7 chimes are on 24/7
Timer chimes are only on at set times of the day e.g. off at night
Chime Volume non locking
Up turns volume up
Down turns volume down
After each button press a test chime is played so you can hear the new volume setting
On plays the DCF77 sound being received as beeps through the Piezoelectric sounder.
0 being 100mS and 1 played as a 500mS beep to make it easier to differentiate the received 0 & 1s.
Off the DCF77 beep sound is Off
Reset non locking
Filter resets the DCF77 Super Filter making it re-sync to the DCF77 signal
Analyzer resets the DCF77 Analyzer starting with a display test if enabled and then a clock re-sync. RTC time will be displayed from the time stored in the real time clock
Off disconnects the DCF77 signal from the clock
Analyzer the DCF77 signal is fed direct to the clock without any filtering
Filter the DCF77 signal is taken from the Super Filter and if the Super Filter is synchronized this signal is synthesized to the correct error free signal
LED rings and Info Display Schematic
Click to view 4000x4000 image
I have drawn this schematic to make it easier when it comes to wiring the LEDs and Dot matrix modules.
Atmega 328 Pin Connections
Two Atmega 328 Microprocessors are used in this project.
One for the decoder and displays and one for the Super Filter.
Decoder and display pins
Super Filter Pins
The pins above are the pin for the ICs.
To convert to the IDE use the chart below.
Vero Board Layouts
All wiring to other boards from the main board is via PCB header connectors. The connections from the main board to the switch panel is directly wired.
This allows the main board and switch panel to be removed for maintenance.
Main Board Rear
Sound Modual Board front & rear
RTC Mount and 3rd LED Dot Matrix module connection board
Pre-built board and modules
LM2596 Regulator Module drops the voltage down to 5v.
This is adjusted by the 10K preset resistor on the module and measured after the revearse protection diode D4.
Adjust this before adding the Arduinos to the board.
RTC DS3231 I2C
This module stores the time from the decoded DCF77 signal.
The built in clock has temperature compensation and has battery backup in case of power failure.
Note the RTC module is modified to take non rechargeable batteries.
MAX2719 Dot Matrix Module
These modules drive the inner and outer LED rings (2 modules) and the 3rd module drives all the other LEDs bar the Super Filter LEDs.
The LED matrix is removed and a PCB header soldered in place.
RCWL 0516 Doppler Radar Sensor Microwave
To turn the clock displays on only when the room is occupied I use motion detection.
You have a choice between the RCWL 0516 below that will detect movement from behind glass or the PIR module below.
PIR Module Infrared
The PIR module can be used instead of the Doppler Radar Sensor above.
The drawback of this device is it can not be used behind glass or Perspex etc.
Max2719 7 Segment Display 0.56"
I had a batch of these already but there are similar modules on tindie. Just make sure you are getting the larger 0.56" displays
Note a small modification may be required to prevent display errors on these modules.
Update Mottram Labs 0.56" MAX2719 7 Segment Display Modules
I have just found these modules online. I have tested them with my 0.56" Max2719 sketch and they work as my modules so no code change required on my sketch.
These are available from ebay for around £5.00
Here is the manufacturers site https://www.mottramlabs.com/
These modules come ready assembled with a surface mount MAX2719 chip
Rear view shows diodes and capacitors as per MAX2719 datasheet.
Looking at the schematic below from the Mottram Labs site the diode is wired so as not to give a voltage drop when daisy chaining modules.
I have confirmed this with a meter.
These modules do not need to be modified to work correctly.
Max2719 7 Segment Display 0.39"
This is the smaller 0.39" version used for the the bit, error and pulse displays.
They are available all over eBay and Amazon just make sure you get the modules with the header pins not soldered or the boards with the pins soldered to the back of the module.
Note a small modification may be required to prevent display errors on these modules.
JQ6500 16p Modules
One of these modules are used to play the ticking sound and the other the quarter and hour chimes.
With the sound files included with project you should be able to get away with the cheapest 16p module with 2M of memory.
The modules drive a single 3W 8Ω speaker each.
Sounds are loaded from your PC (not MAC) via USB using a simple program.
I used Vishay TLH44 series High Efficiency LEDs in a Ø 3 mm Tinted Diffused Package
The TLH.44.. series was developed for standard applications like general indicating and lighting purposes.
It is housed in a 3 mm tinted diffused plastic package. The wide viewing angle of these devices provides a high on-off contrast.
Several selection types with different luminous intensities are offered. All LEDs are categorized in luminous intensity groups. The green and yellow LEDs are categorized additionally in wavelength groups.
That allows users to assemble LEDs with uniform appearance.
• Standard Ø 3 mm (T-1) package
• Small mechanical tolerances
• Suitable for DC and high peak current
• Wide viewing angle
|PART||COLOR||LUMINOUS INTENSITY (mcd)||at IF||WAVELENGTH||at IF||FORWARD VOLTAGE||at IF||TECHNOLOGY|
|TLHR4400-AS12Z||Red||1.6||13||-||10||612||-||625||10||-||2||3||20||GaAsP on GaP|
|TLHO4400||Soft orange||1.6||13||-||10||598||-||611||10||-||2.4||3||20||GaAsP on GaP|
|TLHY4400||Yellow||1.6||10||-||10||581||-||594||10||-||2.4||3||20||GaAsP on GaP|
|TLHG4400-AS12||Green||2.5||13||-||10||562||-||575||10||-||2.4||3||20||GaAsP on GaP|
above my DCF77 Receiver Module from http://www.pvelectronics.co.uk
These items don't seem to be available anymore but try Amazon
I now use a single DCF77 receiver for all my clocks and have fitted a larger aerial to improve reception.
The aerial is located in the roof of my house away from any electrical noise. The 3.3v signal from the receiver is fed into a digital
repeater circuit built into my Pragotron Master Clock. The 3.3v signal is duplicated over 5 outputs and changed to 5v and can feed up to 10 DCF77 decoders.
PV Electronics DCF77 Receiver Module connections
Connections from left to right
1.VDD 2.TCON 3.PON 4.GND 5.NC
Provides output in an inverted format (output is low, and goes high once per second).
Low power standby mode - connect PON to Vdd. Connect PON to GND for normal operation.
The clock uses around 450mA max with LEDs at full brightness and drops down to around 80mA with the displays off.
You should be safe with a 1000mA DC PSU from 7 -12volts (the onboard module controls the voltage)
I use a common PSU with 10 battery backed up fuses and 8 non backed up fuses to power all my clocks.
I always fit fuses to my projects as this PSU can put out 10 amps. The individual 2amp fuses in the PSU panel cover the cabling to my projects and I then fit a smaller fuse in my projects.
Before wires can be connected to the MAX 2917 matrix modules they will need to be modified.
Remove the Dot Matrix LEDs as these are not required.
Two sets of 8 90° pin connectors will to be soldered to the lower edge of the existing LED matrix connector.
Modified MAX7219 module with 90° pin connectors soldered in place to the bottom of the old LED Matrix connectors.
Wires are taken away from these points to the LED matrix on the main board.
Side view showing the pins soldered to the side of the old LED Matrix connector pins just above the PCB.
With around 400 odd wires to connect the wiring needs a bot of planning in order to fit the wiring runs in the gaps between the modules.
Buiild and fix all boards to the rear of the dial so the wiring harness runs are visible.
The dot matrix boards are removed and wired away from the clock.
Wire the Super Filter LEDs and fit into the dial.
Wire the DCF77 Status LEDs and fit into the dial.
The Super Filter and DCF77 Status LEDs are connected by header cables to the main board.
Wire all the LEDs on dot matrix module 3 and fit into the dial.
Wire from dot matrix module 3 to the small breakout vero board and then wire away to the LEDs for this module fitted in the step above.
Wire the outer LED ring and then fit into the dial.
Wire the outer ring dot matrix display leaving the wire ends long enough to terminate on the outer ring LEDs.
Re-fit the outer ring dot matrix display and terminate the wiring harness to the outer ring LEDs.
Wire the inner LED ring and then fit into the dial.
Wire the inner ring dot matrix display leaving the wire ends long enough to terminate on the inner ring LEDs.
Re-fit the inner ring dot matrix display and terminate the wiring harness to the inner ring LEDs.
Wire all the LEDs on dot matrix module 3 and fit into the dial.
Wire from dot matrix module 3 to the small breakout Vero board and then wire away to the LEDs for this module fitted in the step above.
Build header cables and connect to all boards.
Fit main Vero Board and then wire to the switch panel.
The LDR is mounted through the hinged wooden door the switch panel is fixed to so this is wired at the same time.
Fit speakers and connect to the Vero Board with the JQ6500 sound modules.
If you have drilled the correct sized holes in the dial all the LEDs will push fit into place with no glue.
Make sure the inner edges of the LED holes are coated with paint/varnish in the painting stage to help with the friction fit.
All LEDs are pre-wired in the wiring jig. See below for details.
Building a wiring Jig for the LEDs
Print out the dial onto a sheet of paper. Print in reverse or lay the paper back to front as you will be working from the rear of the clock.
Lay the sheet on an old bit of wood or melamine. Centre punch all LED centres and drill with a 3mm drill bit.
Wiring JIG for positioning and wiring the LEDs. LED locations are drilled out with 3mm frill bit.
LEDs are pushed into the holes and wired on the jig.
Once wired they are then mounted on the back of the dial.
Wiring the LED Rings
The schematic diagram above shows the wiring for a section of 8 LEDs of the outer LED ring..
First push the eight LEDs into the holes in the jig.
Bend all the anodes so they connect together as per the schematic and solder in place.
A wire is connected to the eight connected anodes from the LED matrix module later.
Fit a small bit of insulation sleeve over the cathodes then bend these legs around 15mm from the LED.
Cut around 5mm from the bend and solder a short length of wire long enough to reach to the next batch of eight LEDs.
Section of 8 LEDs wired on the jig.
Repeat the process above in batches of eight LEDs.
Each batch of eight LEDs will have it's own separate anode connection to the dot matrix module. Eight in total.
Outer ring LEDs completed along with the 16 wires connected to the dot matrix display.
The LEDs are then pushed into the holes in the dial and the matrix module is fixed back onto the dial.
Once in place the 16 wires from the dot matrix module are connected to the outer ring LEDs.
This process is repeated for the inner LED ring.
This is part of the schematic for the picture above.
The 16 wires from the dot matrix module are ready to be connected across the 8 sets of 8 LED sections.
Note the 8th set has only 4 LEDs.
See full schematic here.
Wiring the 3rd Dot Matrix module
This module has only 24 LEDs connected.
The day of the week LEDs on the 1st section of 8 LEDs (only 7 connected)
The 2nd of 8 LEDs are CEST,CET Leap Yr,RTC Error,Synced, Error Period and Error Pulse Width (only 7 connected)
The 3rd of 8 LEDs are Buffer Full, Parity 3 to 1 pass and fail and Buffer Overflow (all 8 LEDs connected)
The 4th of 8 LEDs just contains 2 LEDs Minute marker and DCF77 Status
I could have just used 3 sets of 8 LEDs but using 4 sets made wiring simpler.
These LEDs are wired on the wiring jig then connected to a small Vero board where they are connected to the Matrix wires.
Note this board also acts as a mount for the RTC.
Inner & Outer LEDs inserted in the jig holes and wired.
Note LED numbering is revearsed as this is the rear of the dial.
Completed inner LED ring ready to be inserted into the dial and wired to the Dot Matrix module PCB
LED wiring completed and wiring away to the switch panel in progress.
Compeleted Switch Wiring from Main Board includes LDR wiring
Wiring on completed clock
This clock uses 2 x JQ6500 modules one for the tick tock sound and one for the quarter and hour chimes.
The tick tock sound is hardware controlled and the chimes are software controlled.
This clock chimes are based on an old carriage clock.
Chimes are struck on a single bell with a chime for each quarter hour and also for every hour.
Switch SW7 is a 3 position locking switch.
The module is controlled over serial hardware pins 13 & 14 on the Arduino. Note the 1K resistor on the receive circuit. See main schematic.
Off - power is removed from the JQ9500 and the 24/7 /timer pin is held high to prevent the Arduino pin from being left floating
24/7 - The chime will sound the four quarters and the hours 24/7
Timed - The four quarter and hour chimes will only sound from 05:15 until 23:00 hrs. (set in code)
The volume is set in software via the Arduino and the Chime Volume up or down switch
Tick Tock Circuit
This is hardware controlled direct to the JQ6500
Switch SW6 Tick On/Off just removes the power from the JQ6500.
Tick volume SW8 is a 3 way centre locking switch.
Operating the switch up or down sets the volume via the ADKey pin on the JQ6500.
The command to play the tick tock sound arrives every 2 seconds from the Arduino.
The sound file must be less than 2 seconds.
Diode D15 isolates the ADKey from the Arduino output.
The sound modules are each connected to an 8Ω 3W speaker attached to the side of the clock case.
These are available as a pair from Amazon
Speaker locations in the clock case.
2" speaker grills cover the speakers and were also from Amazon
Left side of clock showing speaker location.
Your sounds will need to be loaded onto the JQ6500 module.
See these sites for info and Arduino libraries for these modules.
Arduino Library JQ6500_Serial
English Language MusicDownload.exe Uploader for
By way of Nikolai Radke an English Language version of the MusicDownload.exe tool.
English Language MusicDownload.exe v1.2a
I just run this file from windows (no need to install it) and it runs in English see details below.
When the file is run this window will open. Click FILES
Click CHOSE FILES and shift select all the files you want to be copied to the module. Note rename the files for the chimes as below.
1 to 12 are the hour chimes. 13 to 16 are the quater chimes and 17 is the test chime used when setting the chime volume using the Chime Volume Switch.
Click OPEN above then click on the FLASH tab.
Click on FLASH and you should get a message saying FILE PROCESSING
It the files will fit on the module the message will change to FLASHING RUN and a green bar will show progress.
When flashing is completed the message will change to READY......
You can remove your module and plug it into the clock.
You can download my sound files here.
The files contain a grandfather clock tick tock and also the chime files.
I mixed these sound files up on Audacity at 48KHz sample rate the max quality the JG6500 board can handle.
The chimes were mixed on multiple channels to get the real harmonics then mixed back down to a single channel for the JQ6500.
12 o'clock chime built in Audacity.
Chimes sounds overlapp to create realistic sounding harmonics.
Tick Tock Sound Chime Sounds
JQ6500 Library Modification
Using the standard library every time a chime is played the library waits in case there is a reponse. This causes the clock run out of sync and any received data errors until the next minute.
I found this on google and is a reply from the author of the library.
Before sending a command, the library waits for up to 10ms to see if there is any left over data from the device...
after sending the command the library waits for a response for up to 1000ms
and after that it will wait at least 150ms while reading the response
since in the case of playFileByIndexNumber you don't need a response at all
you could perhaps get away with adding
immediately after the last command byte is written (currently line 263 of JQ6500_Serial.cpp)
that should reduce the time required to about 10-20ms probably.
Modification of DS3231 AT24C32 I2C Precision Real Time Clock Module
My clock uses a DS3231 AT24C32 I2C Precision Real Time Clock Module instead of a DS1307.
The module comes supplied with a Lithium-Ion rechargeable battery see diagram above. I use a non rechargeable battery so have removed resistor R5
from the module as below.
Location of R5 on the DS3231 module.
Charging Resistor R5 removed.
Making The Dial
The dial requires oround 700 seperate drilling operations and numerous aounts of cutting and filling to complete.
I don't have a CNC machine so it was all done by hand.
The dial was drawn up on a Cad program and printed out onto injet water slide decal paper.
Click below to download the dial in various file formats including 2x 4000x4000 png files one for printing the dial and one including all layers for dial cutting
Close up of dial printing with 3mm LEDs to give an idea of scale.
The quality from the water slide decal paper is very good far better than my old ink jet can print.
The dial is cut from 1.5mm thick aluminium sheet as it has to carry the weight of all the electronics and wiring.
Make a template by printing out the dial from your CAD program onto A3 paper.
Make sure it has centre marks for the LED holes and also the cut-outs for the 7 segment LED displays.
Carefully cutout the 7 segment display openings on the template with a craft knife.
Place the template on the alluminium sheet and tape it down to stop it moving.
Center punch all the center marks for the LEDs and draw around the openings for the 7 segment displays with a marker pen.
Remove the template to reveal the cutting/drilling marks on the alluminium sheets protective film.
Draw a circle the size of your dial with a compass using the centre punch mark from the DCF77 symbol LED as a centre point.
Cut out the circle with a hacksaw/jigsaw or bandsaw fitted with a metal cutting blade.
Cut out the 7 segment display openings with a coping/jig or fret saw. Take your time with this as it will save a lot of filing later.
Drill out all the holes for the LEDs. I start with a 1mm bit then a 2mm and then finally a 3mm bit.
This leaves the LEDs a friction fit once the paint and varnish is applied to the dial.
Mark center punch and drill 3 or 4 dial mounting holes.
With the holes drilled the protective film can be removed from the aluminium sheet and the dial rubbed down to remove all rough edges.
This will also give a good key for the paint.
Prime and paint with acrylic paint then a coat of matt varnish.
Antique White looks better on old dials or use pure white on modern dials.
Apply the water slide decal transfer.
Water slide decals are printed out on an inkjet printer soaked in water then slid into place.
They give a very detailed print and once given a coat of varnish are tough.
Don't forget to order transparent transfers so the dial colour can be seen through the transfer.
Follow the instructions with the pack as they do vary.
On my transfers I print out the dial on transfer paper let it dry and then cut it out to just under the size of the dial. I then give it a coat of acrylic varnish.
When the varnish is dry the transfer is soaked in water until the transparent transfer comes away from the white backing sheet.
Line up the transfer with the dial and slide it over the dial.
Make sure the centre dots line up with the centre of the holes in the dial then slide the backing sheet back off the transfer.
Carry out any final adjustments then remove any air bubbles.
Allow to dry then apply some clear acrylic varnish to project the transfer.
Once this dries carefully cut away the transfer around the 7 segment display cut-outs with a craft knife.
Then cut the transfer off all the LEDs hole. I used a leather punch just smaller than the hole.
Give it another coat of varnish to seal all the cut edges
Leave it overnight to dry.
Turn the dial over.
The PCB and modules are fixed to wooden mounting blocks cut from off cuts of timber.
These block are glued to the dial with impact adhesive.
Modules in position on the wooden blocks ready to be secured by M2 screws.
The main PCB fits on top of the lower 7 segment modules and is raised up on brackets.
JQ6500 sound module board and LED wiring board in place.
RTC is mounted on the LED wiring board but connected on the main board.
Main board mounted on standoff brackets.
Dial Surround Restoration
The original Oak dial surround was covered in a thick coat of varnish and years of dirt.
I used paint stripper to remove the varnish and then wood bleach to get rid of the very dark areas of wood.
The surround was then varnished with matt acrylic to enhance the grain of the wood.
Backbox showing switches folded away.
Correcting MAX7219 7 Segment Module Display Errors
The 7 segment modules seem to work fine work fine on their own. However, once you start daisy chaining them together the displays tend to error.
The datasheet calls for a 10μF and 0.1μ capacitor across the supply rails as close to the MAX7219 as possible.
I notice the 0.1μF capacitor is in place but the 10μF capacitor is missing. Add this capacitor in the 2 holes above the diode D1 on the rear of the display.
There is also a diode in series with the supply rail. When daisy chaining modules all these diodes are in series so the further down the line of modules the more volts are dropped causing display errors.
Remove this diode on each display and replace it with a wire strap.
Note the black tape over the 3rd and 6th digit tp make colons.
10μF capacitor added to the rear of the PCB on the +&- pins of the MAX7219 IC
The 1N4148 diode is replaced by a wire link.
Increasing The Constrast On The 7 Segment Modules
The 7 segment displays traditionally would have a sheet of red perspex to match the LED colour placed over the top of the display.
This was designed to hide the not lit segments and provide contrast to the LED segments that are on.
I have used Neutral Density Heat Proof Dimming Transparent Acetate Sheet ND 0.9.
This hide the not lit LED segments and provides the contrast needed in bright conditions. It has the advantage that it work on all colour LEDs.
My 0.56" modules are a deeper red than the 0.39" modules so I would need 2 different matching red Perspex to sheets to work well on both modules.
The acetate sheet is also very cheap the only disadvantage is that it is too flimsy to cover large areas without support.
The picture below shows the effect of the ND sheet. The lit LED segments have more contrast and the unlit LED segments are hidden. It also hides the black tape masking for the colon display.
Modification of the RTC Time 7 Segment Display Module to Show Colon Digit Separators
The standard display only has decimal points to separate the digits and has no colon that would normally be used in a clock display
I have set digits 3 and 6 to always display a "o" lower case o
Black plastic tape is then cut with a craft knife and placed over the 2 digits leaving a small section showing
When the display is on these visible sections now display colons
Clock Case Build
Complete clock case
Dial Bezel Removed Showing Dial Set in the wooden surround and the recess for the dial bezel hinge cut into the dial surround.
7 Segment displays and LEDs removed
Dial removed showing surround and backbox.
Dial Surround removed showing back box
Brass Dial Bezal
Bezel fitted to dial. These bezels are available from clock making supplies.
With dial surround.
Side view of the clock case.
The top catch releases the dial bezel while the lower catch releases the dial surround and allows it to hinge out from the case allowing access to the circuit boards.
Two of these latches are used both attached to the dial surround.
Alternative Modern Case Style
This case uses a large picture frame with a basic square back box to hold the electronics and to hold the dial away from the wall to give it some depth.
Outer frame and glass removed to reveal the thick photo mount card over the dial (a thin ply or wood sheet can also be used with a routed edge)
Photo mount removed to show how the dial is fixed to the back plate with 4 small screws.
The backplate holds the dial and has a large circular cut-out for the electronics.
It is hinged at one edge to the dial can swing out.
The speakers are mounted on both sides with holes and grills as per the other case.
The switches are mounted on the side in a cut-out.
When switched on the Udo Klein's Super Filter actively processes the incoming DCF77 signal
from the antenna/receiver. After a few minutes of sampling the DCF77 signal the Super Filter will predict the DCF77 signal and use this
to determine if the incoming signal contains any errors. The Super Filter will then synthesize a corrected DCF77 signal even if the signal is absent.
Super Filter Mod
See the schematic below I have modified the Super Filter Code to add extra monitor LEDs.
In order to do this I have removed 4 modes from the filter just leaving synthesized and inverted synthesized.
Note the PWM LED brightness control is via the Arduino controlling the DCF77 decoding not the Super Filter Arduino.
I have also added an LED test to the Super Filter to Match the LED Test on the main clock. This activates on reset or power up.
On power up the Supe Filter LED test starts and finishes then the main clock LED test starts.
The filter will lock onto the DCF77 signal even if the signal is really noisy. As days progress the filter uses the incoming DCF77 signal to adjust the Arduino crystal frequency.
This means the filter will stay in time even if the DCF77 signal is lost for many days.
In my clock the DCF77 signal is always fed to the Super Filter Arduino even if the DCF77 Source switch is set to off.
This allows the Super Filter to stay in sync and keep adjusting the quartz crystal from the Arduino.
Super Filter example
The top row shows the Super Filter turned on.
Once synchronized and tuned into the signal the Super Filter will synthesize a good signal even when the signal is completely lost.
On a noisy signal the Super Filter will search for known signal bits and keep itself synchronized to the transmitter.
The bottom row shows the Super Filter turned off. Whatever signal is received (good or bad) is sent to the decoder.
Below Super Filter correcting a noisy signal as displayed on the DCF77 Scope
Normal Signal No super filter - Normal signal from the DCF77 receiver
Noisy Signal No Super Filter - The aerial is moved near a LCD screen to generate noise over the signal
No Signal- The aerial is disconnected and moved connected via the super filter
Noise On Super filter On- The noise is filtered out leaving a perfect signal.
Super Filter Monitor LEDs
|Filter On||lights when the DCF77 Source switch is set to FILTER and means the Super Filter is decoding and synthesizing the DCF77 signal|
|DCF77 Filtered||the DCF77 Synthesized signal coming out from the Super Filter|
|DCF77 Signal||the DCF77 signal coming direct from the DCF77 receiver with no filter applied|
|Signal Difference||the difference between the incoming DCF77 signal and the Synthesized signal. In normal operation this will flash as the received signal shape is often slightly “wider” than the synthesized signal.|
|Filter Synchronized||best possible quality, clock is 100% synced|
|Filter Locked||clock driven by accurate phase, time is accurate but not all decoder stages have sufficient quality for sync|
|Sync Lost <200mS||clock was once synced, inaccuracy below 200 ms, may re-lock if a valid phase is detected|
|Sync Lost >200mS||clock was once synced but now may deviate more than 200 ms, must not re-lock if valid phase is detected|
|Signal Dirty||time data available but unreliable|
|Signal Bad||waiting for good enough signal|
Filter Synchronized - Timing is completely locked to DCF77 and the data is most up to date.
Filter Locked - If the quality factor of the decoder stages drops but the quality factor of the phase decoder stays high enough the clock will transition into the state locked.
In this state it is still phase locked to DCF77 but it may become out of sync by a second but only if a leap second is transmitted.
Sync Lost <200mS - This indicates that the quality factor of the decoder stage and the quality factor of the phase decoder have dropped. In this state the timer relies on the quartz crystal timings and the clock will slowly drift out of phase with the DCF77 signal. This is a warning that the clock may be running slightly out of sync.
Sync Lost >200mS - Once the clock has started to drift out of phase for more than a set period of time (depending on the tuned accuracy of the quartz crystal) then this LED will light
Below with the Super Filter turned Off and a bad signal the clock errors and will reject this minutes data.
Note the DCF77 Filtered LED pulses as normal but as the Filter is turned off the filtered signal is not fed to the clock decoder.
Below with the Super Filter turned On and a bad signal the clock has no errors and the clock is able to decode the data as normal.
Note the DCF77 Filtered LED pulses as normal
Modified Super Filter
DCF77 Analyzer Clock