Introduction: Time Teaching Clock
A 3D printed all in one digital, word, analogue & Neopixel clock to help children tell the time.
With the news that digital clocks are now being installed in examination rooms in schools /colleges as children and teenagers are unable to tell the time on analogue clocks I decided to build a multifunction clock to teach children the time.
The clock has a word clock to translate the time from the digital and analogue clock in 5 minute intervals. There is also a Neopixel clock for dial illumination, seconds and also a colour change function so a small child who can't yet tell the time can tell when they are allowed out of bed in the morning.
Clip on dial overlays allow help words to be added to the analogue clock dial and also allow for different dials to be added for teaching different dial layouts eg 24hr clock or Roman numerals.
Supplies
Main Parts
The clock uses 2x Atmega 328 microprocessors 1 for the word clock and 1 for the analogue/digital clock and a WEMOS D1 mini for the Neopixel display.
Arduino UNOs,NANOs could be used instead of the Atmega 328s.
There are also 2 x real time clocks to store the time on power failure.
The analogue clock movement is a U.T.S. Radio Controlled Quartz Clock Movement - GM211DCF.
I used this movement as the minute hand has a 15 second pulse minute/hour drive motor and is designed to be stepped forward quickly.
This also makes it very easy to synchronise on 30 seconds. You could use a standard quartz movement instead and just adjust the number of pulses to drive it.
You could drive it 20 x 0.5 second pulses 3 times a minute on 0,20 and 40 seconds allowing it to synchronise on 30 seconds.
These standard movements also have manual adjustments on the back so you can move the hands backwards.
The clock is designed to be 3D printed I used white and black PLA filament with clear for the LDR sensor window and Word Clock LED diffuser.
OHP clear printer sheets inkjet or Laser for the clip on dial screen.
See schematic for full component details.
Step 1: Features
Word Clock tells the time in simple 5 minute intervals as we would say the time
Analogue clock tells the time using an hour and minute hand. The minute hand moves once every minute so time change is visible.
Clip on dial masks overlays can be added to help with the concept of time and also show 24 hour and Roman numeral time.
Digital clock tells the time in 12 hour or 24 hour format and includes seconds.
Neopixel clock indicates the analogue seconds by illuminating the digits on the minute ring.
The neopixel background ring will change colour from blue to green to indicate it is OK for the child to get up in the morning even if they can't yet tell the time.
The clock auto detects movement and will go to sleep if no movement is detected in the room. In the middle of the night a wave of a hand will bring the clock to life.
The clock auto dims to match the ambient light in the room.
The 3D printed word clock is modular so the display can be customised to add your child's name or say for example happy birthday on a set date.
This also allows the clock to be used in other languages.
The neopixel clock auto sets the time from an internet time server and the word, digital & analogue clocks are synchronised to this time every minute on 30 seconds.
Summer/Winter time changes are made by pressing a simple "Summer Time" or "Winter Time" buttons on the word clock.
Display testing. Long press of the Summer Time button selects a "Word test" mode & long press of the Winter Time button selects a "Snake Test" mode.
The analogue/digital clock is set by selecting the summer/winter setting on the time adjustment dial and then pressing either the Advance or Retard button once.
Pressing the advance button sets the digital time on 1 hour and starts the analogue clock fast advancing to the next hour.
Pressing the retard button sets the digital time back 1 hour and due to the limitations of the analogue clock movement (it can't go backwards) stops the analogue clock for an hour.
On power failure real time clocks keep the correct time on the word and digital displays. The analogue clock will need to be set again.
If required the word and analogue/digital clocks can be built as stand alone clocks as they have their own microprocessors and real time clocks.
Step 2: Dial Overlays
To help with teaching the time a number of clip on dial overlays can be added to the dial.
The clip on dials are simple 3D printed square frames with dials printed onto overhead projector tranparent sheets.
Pic 01 shows the collection of dials ready to clip on.
Pic 02 shows the fixed background dial.
Pic 03 This overlay splits the dial into 5 minute segments and names them.
Pic 04 As above the 5 minutes segments are named but without the 5 minute segment lines. This maybe a bit easier to read.
Pic 05 Once the child is confidant with telling the time a 24 hour clock overlay can be added. The digital clock can be switched to 24 hour mode if required.
Pic 06 This simple overlay shows when the minute hand indicates minutes past or minutes to the hour.
Pic 07 Once the child can tell the time it's time to teach time on a Roman numeral dial.
Note there are two basic types of Roman numeral dials and they differ in how the number 4 is written.
This dial overlay used the correct Roman numeral IV to indicate 4.
Pic08 This overlay shows the number 4 as IIII not IV and is very common on clock dials as VI upside down on a clock face can be miss-read.
Download all dials below. 8m file
http://www.brettoliver.org.uk/time_teacher_clock/images/Dials.zip
Step 3: Bedtime Display
When children are out of thier cots but still too young to tell the time they need an easy way of knowing when it's OK to get out of bed and play.
When it is still early hours of the morning the clock will glow Blue when the PIR detects movement.
This Blue colour lets the child know it is still too early to get out of bed.
Once a preset time is reached the clock glows Green showing it's now OK to get out of bed and play.
This is especially useful in the UK on Christmas morning as presents are generally opened first thing in the morning.
The animation shows the clock glowing Green once 7 O'Clock is reached.
Step 4: Word Clock-Introduction
This clock is an adaption of the WS2812b Strip Word Clock by zozzle / https://www.instructables.com/Minimalist-3D-Printed-RGB-Word-Clock
Pic 01 The clock uses a 100 LED WS281b led strip to show the time in 5 min segments. Names and dates can be configured if required with a message eg "happy b'day dad" displayed on a 2 different dates.
Pic 02 & 03 To make the clock universal and customisable I have modified the design and my Word Clock is modular with the letters printed individually which allows any letter to be placed anywhere on the Word clock face.
I have also changed the 5 minute time display to 2 minutes either side of the displayed time rather than 5 minutes after.
The clock is designed to be 3D printed and will required a 3D printer bed of at least 195mm.
I have added PIR and auto brightness control.
I have also added a manual sync button to 30 seconds.
Pic 04 Summer/Winter time changes are made by pressing a simple "Summer Time" or "Winter Time" buttons located on the top of the centre panel.
Display testing. Long press of the Summer Time button selects a "Word test" mode & long press of the Winter Time button selects a "Snake Test" mode.
On power failure real time clocks keep the correct time on the word and digital displays. The analogue clock will need to be set again.
Different colours can be selected in program (defaults) or by using buttons on the side of the clock.
Pic 05 Time can also be displayed digitally if required although this is best read at a distance of at least 10ft.
Step 5: Word Clock-Customising the Display
Changing the display physically is just a matter of printing out the new letters, popping out the old and pressing in the new.
The software will also need to be changed to matched the display layout.
Changing Display Layouts In Software
Pic 01 Viewed from the front the LEDs are numbered in software in vertical strips of 10 LEDs.
Starting from the right the first strip is numbered vertically bottom to top with the next strip labled top to bottom.
This is continued alternately on the remaining rows.
Pic 02 The schematic of the LED strip connections shows how the LED strips are connected physically.
Pic 03 To make a display layout I used a spreadsheet to workout the letter numbering and layout.
Each LED number is displayed on the sheet in grey with it's corresponding Letter above it in green.
For example the name "LYRA" uses LEDs 90,89,70 & 69.
If a letter is used in 2 words it is labeled in dark green.
White spaces are spare and any letter can be put in these places on the clock.
You can download the table sheet here Display grid table
Step 6: Word Clock-Customising the Display in Code
If we wanted to change the name "LYRA" to "JAMES" in the Arduino code.
Open the Word clock sketch in my case C:\My Documents\Arduino\Arduino Sketches\Word Clock 3D\Word-Clock-17.ino
Pic 01 Opens the Word-Clock-17.ino sketch along with the other sketches in that folder under separate tabs.
Pic 02 The words are held under the Word_Fuctions tab.
Click on this tab and scroll down to the "\\Words" around line 277.
This is where all the words are described each letter by it's LED number eg LYRA is LEDs 90,89,70 & 69.
Print out the letters for the new name "JAMES" and insert them in the clock in place of the L,Y,R,A and the spare letter.
Pic 03 shows the changes to the Display Grid Table spreadsheet.
We now have to change the code in the sketch to match our new letters.
Pic 04 I have commented out the out function for the name "LYRA" and made a new function "james" using the same LED numbers for JAME and added a 5th LED for the S of james LED 50.
The LEDs use the same line for each letter to be lit when that function is called- eg LED number 50 from the spreadsheet is grid.setPixelColor(50, c); .
The only problem now is the S of JAMES is now next to the I of IT and as they will be lit at the same time it will look wrong. See Pic 03 lower row says "JAMESIT IS"
There is not enough characters left on that row so we need to change "IT IS" to "IT'S".
Put the spare blank letter removed when the S of JAMES was added in place of the letter I of "IT".
Move the T of IT along one space and then Print out the letter " 'S" and add it after the T of IT to make the new word "IT'S".
Pic 05 shows the changes in the spreadsheet.
We now need to show this in the code.
Pic 06 From the code above IT is now IT'S and uses 3 LEDs 30,29 and 10.
IS is no longer used and is commented out.
Once the word functions are completed you need to check when they are displayed.
Pic 07 Go to the "Display Functions" tab and find the line
void display_time(uint32_t c, uint32_t hc){
The functions called here are displayed all the time.
I have commented out the function "is" as it has been included in the "it" functions as it's.
Below this line in the code is the if statement for displaying set words at set times of the day.
Pic 08 The final code to change is under the "misc" tab find the line void test_words(uint32_t c, int t){
This is a display test that will display each word one after the other.
Comment out the function "lyra" and replace with your new function "james".
Step 7: Word Clock LED Light Diffuser
Pic 01 The Word Clock case with letters inserted, rear view.
Pic 02 The LED diffuser is made of 2 parts.
The 3D printed diffuser is 0.5mm deep and is printed on clear filament. This goes in first against the letters.
This is followed by a white sheet of paper cut to size using the 3D printed diffuser as a template.
I found this was the best order as if the white sheet was in first it showed up shadows on the letters in bright light.
Pic 03 The Word Clock case with rear view with 3D printed diffuser in place.
Pic 04 The Word Clock case with rear view with white paper diffuser in place.
Pic 05 The LED divider grid is then place on top with all three held in place by the rear panel.
Step 8: Analogue Clock Introduction
The Analogue clock is housed in an identical case to the Word Clock.
It is controlled by an Atmega 328 microprocessor shared with the digital clock (UNO/NANO etc can be used).
The analogue clock movement is a U.T.S. Radio Controlled Quartz Clock Movement - GM211DCF and is synchronised to the Neopixel clocks NTP seconds.
I used this movement as the minute hand has a 15 second pulse minute/hour drive motor and is designed to be stepped forward quickly.
This also makes it very easy to synchronise on 30 seconds. You could use a standard quartz movement instead and just adjust the number of pulses to drive it.
You could drive it 20 x 0.5 second pulses 3 times a minute on 0,20 and 40 seconds allowing it to synchronise on 30 seconds.
These standard movements also have manual adjustments on the back so you can move the hands backwards.
The chapter ring is 3D printed and the numerals are then printed on Inkjet Transfer paper before being applied.
The numeral and dial layout was designed in TurboCAD.
Download the layout in various formats here.
Step 9: Analogue Clock Parts
Pic 01 The clock numerals laid onto a 3D printed chapter ring. The chapter ring is fixed to the dial using 3 self tapping screws.
Pic 02 Rear of Dial. The movement is mounted on the back of the 3D printed dial in a holder incorporated into the back of the dial.
Pic 03 Dial Front
Pic 04 The dial front has an Inkjet transfer design printed on it to give it some contrast.
I have used a name to match the name on the Word Clock or could just be the name of the clock or just some random design.
Pic 05 Dial, Chapter Ring and Dial Surround Spacer locations
Pic 06 The clock rear view showing the dial and movement mounted in the case.
Pic 07 A 3D printed dial surround spacer separates the dial from the case.
Pic 08 Four Lock washers bolted onto the corners of the case lock the case, dial spacer and dial together.
Pic 09 A cover is fixed over the clock movement and is used as a wall hanger.
Pic 10 & 11 The Clock hands are 3D printed and are a friction fit on the movement spindles.
Step 10: Analogue Movement Modification
The analogue display is driven by Lavet type stepping motor.
The motors are sourced from a U.T.S. DCF77 Radio movement (Pic 02) for the hour and minutes display. The motor requires very low current to drive it and can be driven direct from the Arduino output via a trimmer resistor.
The resistor is used to adjust the current to the motor so it works without being over driven.
Pic 01 The motor is driven by reversing the polarity to the drive coil which causes the permanent magnet toothed rotor (in red below) to turn 180°. The toothed rotor will continue to turn in the same direction each time the drive motor polarity is reversed. 2 output pins from the Arduino are used to pulse the drive motor with 1 pin always the opposite to the other.
The Lavet motor U.T.S. DCF77 Radio movement drives the min hand (the hour hand is geared down from this) 1/240th of a turn or 15 seconds.
U.T.S. DCF77 Radio Clock Movement Hack
In order for the Arduino to control the drive motor the movement has to have the motors isolated from their onboard drive circuits.
Step 1 Carefully pries the movement apart and remove the top and bottom case sections. Pic 03 & 04
This will leave the movement PCB, DCF77 aerial and motors Pic 05.
Step 2 Turn the PCB over so the solder side is visible. Pic 06
Desolder the DCF77 aerial from it's solder pads as it is not required.
There are 2 drive coils on this movement, 1 for seconds and 1 for hours and minutes.
Locate the 2 drive coil solder terminals, marked 1 and 2 above. 1 is hour and minutes 2 is seconds.
Cut one of the tracks to the minute and hour solder terminal to isolate the drive coil.
Only the hour and minute coil is required so wires are soldered to coil contacts 1 and 1.
Take these 2 wires through the clock movement and out into the battery bay.
Step 03 Pic 07 Solder the 2 wires from the hour /minute motor to the "Clk Motor Coil" terminals on the Lavet type stepping motor driver board. See Vero Board Layout section.
Locate the PCB/motor board back in the 2 case sections making sure the wires do not foul the case and clip the case back together.
The Lavet type stepping motor driver board is "hot melt" glued in place.
Step 11: Digital Clock Introduction
Pic 01 Max2719 7 Segment Display 0.39" with colon modification
The digital clock is synchronised to the Neopixel clocks NTP seconds and can display time in 12 or 25 hours.
The display auto dims and will also shutdown under the control of the PIR when no movement is detected.
It uses a MAX2719 module and is controlled by an Atmega 328 microprocessor shared with the analogue clock (UNO/NANO etc can be used) and has it's own RTC to store the time if the clock is powered off.
Max2719 7 Segment Display 0.39"
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.
Step 12: Correcting MAX7219 7 Segment Module Display Errors
Pic 01 Max2719 7 Segment Display 0.39" 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.
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.
Pic 02 before Pic 03 after modification
The MAX2719 data sheet calls for a 0.1μF capacitor and a 10μF capacitor across the supply near the MAX2719. 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.
Step 13: 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.
The acetate sheet is also very cheap the only disadvantage is that it is too flimsy to cover large areas without support.
Pic 01 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.
Step 14: Modification of the 7 Segment Display Modules to Show Colon Digit Separators
Pic 01 The standard display only has decimal points to separate the digits and has no colon that would normally be used in a clock display.
Pic 02 In code I have set digits 3 and 6 to always display a "o" lower case o.
Pic 03 Black plastic tape is then cut with a craft knife and placed over the 2 digits leaving a small section showing.
Pic 04 When the display is on these visible sections now display colons.
Step 15: Neopixel Clock Introduction
The Neopixel Clock uses a 60 LED ring of WS2811 LEDs.
Each LED has a WS2811 constant current LED driver IC built in and separate Red,Green & Blue LEDs.
The LED ring has 60 of these spaced around a 158mm diameter PCB.
Only 3 wires are used to control the LEDs. 5v,0v and a Data wire.
Any of the 180 LEDs on the ring can be lit in any colour in any sequence using a microcontroller.
The Neopixel ring is positioned under the Chapter ring minutes/seconds numerals.
A WEMOS D1 Mini microcontroller is used to control the LEDs.
The D1 Mini also has a WIFI connection to pick up the time from a NTP time source.
This is used to synchronise the Word, Digital and analogue clocks on 30 seconds.
Step 16: Neopixel Clock Parts
Pic 01 The Neopixel ring is positioned under the Chapter ring minutes/seconds numerals.
Pic 02 A single RGB LED module, the WS2811 IC can be seen on the left with the 3 LEDs to the right.
Pic 03 The LED ring has 60 of these spaced around a 158mm diameter PCB.
Pic 04 A LED surround is 3D printed to house the LED ring and can be lined with silver foil wrapped ring to reflect light back if required.
Pic 05 LED mirror ring is fitted behind the LED ring at the back of the LED surround.
Pic 06 A WEMOS D1 Mini microcontroller is used to control the LEDs.
The D1 Mini also has a WIFI connection to pick up the time from a NTP time source.
This is used to synchronise the Word, Digital and analogue clocks on 30 seconds.
Step 17: Program the WEMOS in the Arduino IDE
Pic 01 WEMOS D1 Mini pins diagram.
Pic 02 To program the WEMOS in the Arduino IDE select LOLIN(WEMOS) D1 R2 & mini in the TOOLS / Board/ESP8266 Boards menu.
Step 18: Neopixel Controls
Pic 01 There are only 2 switches connected to the Neopixel clock- a RESET button and a LED Ring Mode button.
The Reset button is on the main control panel labeled "Rst Neo".
Pic 02 The LED Ring Mode button is on the base of the PIR mount.
The Red LED Mode button can be seen at the base of the PIR mount in-between the two clock cases.
Pressing the button cycles between Normal mode with all ring LEDs on (Green/Blue depending on the time), Seconds only with Red LED hi-lighting the seconds or all LEDs off.
Pic 03 & 04 On Power up/restart/reset the defaults is a Green or Blue dial (depending on the time) with Red seconds.
Pic 05 Pressing the LED RING MODE once sets the Seconds LED on only.
Pic 06 Pressing the LED RING MODE again turns the LED ring off.
Pressing a 3rd time returns to the start.
Pic 07 The picture shows the Neopixel clock is trying to reconnect with the Purple LED ring growing as time trying to connect goes on.
Note after a preset time ( I have set 12 hours) with no NTP connection the clock will reset and try and get a connection.
While it is waiting for this the LED ring turns off and is replaced by a Purple LED at 30 seconds that will increase every 8 seconds.
Once connection is re-established the display reverts to the default.
All the other clocks continue as normal and will re-sync if required to NTP time when the connection returns.
Step 19: Printing Dials & Control Panels
Dials and control panels are printed on Water Slide Decal paper.
I use Water Slide Decal paper from BIGBITE Studio
They have some good tutorials on their site.
https://www.bigbitestudio.co.uk/tutorials/water-decal-tutorials/
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.
There is also info on my Arduino Barometer site which also shows how to use the transfers.
Step 20: Power Supply
The clocks needs a 5v power supply at around 700mA so a 2amp should be fine.
Pic 01 I have used a DC-DC Buck Converter Step Down Module LM2596 Power Supply is a step-down(buck) switching regulator, capable of driving a 3-A load with excellent line and load regulation.
The LM2596 series operates at a switching frequency of 150kHz, thus allowing smaller sized filter components than what would be required with lower frequency switching regulators.
Specifications of DC-DC Buck Converter Step Down Module LM2596 Power Supply :
Conversion efficiency: 92%(highest)
Switching frequency: 150KHz
Output ripple: 30mA9maximum)
Load Regulation: ± 0.5%
Voltage Regulation: ± 0.5%
Dynamic Response speed: 5% 200uS
Input voltage:4.75-35V
Output voltage:1.25-26V(Adjustable)
Output current: Rated current is 2A,maximum 3A(Additional heat sink is required)
Conversion Efficiency: Up to 92% (output voltage higher, the higher the efficiency)
Switching Frequency: 150KHz
Rectifier: Non-Synchronous Rectification
Module Properties: Non-isolated step-down module (buck)
Short Circuit Protection: Current limiting, since the recovery
Operating Temperature: Industrial grade (-40 to +85 ) (output power 10W or less)
Pic 02 The module is fitted into a 3D printed case from Thingiverse.
The case is hot melt glued to the back of the center mounting.
Pic 03 The PSU PCB is held in place with 2 off M3 nuts bolts.
I printed a 2mm insulating spacer washer with a flat side to clear components on the PCB.
Pic 04 PSU PCB fixed in place in it's holder.
One of the 2mm insulating spacer washers can be seen under the M3 Allen head bolt.
Step 21: Adjusting Time Digital Clock
Turn the digit adjust knob to the number you want.
Then press the number to set Hours 1 or 2 or Mins 1 or 2.
That digit is then set on the RTC.
To change to 12hr mode turn the digit adjust knob to the 12hr position. The clock will now show 12hr time.
To change back to 24 hr time move the digit adjust knob to any digit and press any hour or minute button (for the correct time).
Note for summer/winter time correction the time is changed on the analogue clock.
Step 22: Adjusting Time Analogue Clock
Turn the Analogue Clock adjust knob to the seconds, minutes or hours you required.
If you want to advance the time press advance. The clock will step forward the selected number of mins/sec/hours.
To retard press the retard button. As these movements can't move backwards the clock will wait until the time selected has passed before starting again.
If 15 seconds is selected pressing Advance will step the clock once (this is 15 seconds as the movement moves in 15 second steps).
Holding down the button continuously steps the clock one 15 second step at a time.
If 15 seconds is selected pressing Retard will stop the clock for 15 seconds. Unless the seconds are greater than 45 this will have no effect on the clock.
To retard the clock when 15 seconds is selected press retard after 46 seconds. This will actually retard the clock by 4 pules or 1 minute.
Simply press Advance a few times to fine tune the clock.
Summer Winter Change
To change the Analogue & Digital clock for summer and winter time move the selector to S/W.
If advance is pressed the clock will advance exactly 1 hour and also move the digital clock 1 hour on.
If retard is pressed the clock will wait an hour then start again at the correct time and then take an hour off the digital clock.
Note while the clock is being retarded the digital display will flash dim bright to indicate the analogue clock is correcting itself.
Cancelling Advance/Retard
To cancel advance or retard if pressed in error just press the opposite button e.g. if retarding press advance to cancel.
Step 23: Adjusting Initial Time Word Clock
Pic 02 Word Clock auxiliary control panel on top of the PIR mount.
Summer/Winter Time Setting
A single press of the Winter button takes an hour off the time.
A single press of the Summer button adds an hour.
Pic 01, 02 & 03 There are 5 control buttons four of which have another function if held.
Initial date & time setting
To use the clock to display a message on a certain date the time and date need to be setup in code.
Find the line "// rtc.adjust(DateTime(2021, 12, 10, 7, 52, 0)); //manual adjustment"
Set the time and date in this line. The date is the most important as the time can be fine tuned when the clock is running.
example 31st December 2021 05:54:0
uncomment the line and change it to
rtc.adjust(DateTime(2021, 12, 31, 5, 54, 0)); //manual adjustment
upload to the clock to set the date time in the RTC.
Important comment out the line then upload again.
This prevents the wrong time being set if the Arduino restarts.
Pic 04 Setting word colours
Default word colours are set in startup to top words and AM PM to Purple and bottom words Green.
Set these in Word Clock tab approx line 91/92
bottom_color = 5; //start bottom colour as green
top_color = 10; //start topcolour as purple
There are 13 predefined colour numbers
To test different colour combinations during time display press the "UP" button to cycle the top colours and AM/PM indicators and the "DN" button to cycle the lower colours.
On reset the colours return to the default.
Manual Seconds Sync
Pressing the "SYNC" button resets the seconds to 30 to allow the clock to be synchronised to a time source.
Sync will on happen once every minute when the seconds are 10 or above.
Automatic Sync
The real time clock will keep very good time but will slowly drift over time.
The Neopixel clock acts as a master clock and keep all clocks in sync via the 2 sync outputs on this clock.
Summer/Winter Time Setting
A single press of the Winter button takes an hour of the time.
A single press of the Summer button adds an hour.
Step 24: Word Clock Setting the Time
Animation shows cycling through seconds,minutes and hours setting by pressing and holding the "UP" button.
Showing the digital clock
To display the digital clock long press the "UP" button.
To return to the word clock long press the "UP" button again.
Showing the digital clock
To display the digital clock long press the "UP" button.
To return to the word clock long press the "UP" button again.
Setting the time
To enter time setting mode long press the "DN" button.
The clock will display S seconds.
To enter time setting mode long press the "DN" button.
Pic 01 The clock will display S seconds.
Short pressing the "DN" button cycles through M minutes and H hours setting.
M Minutes Pic 03 & 04
Pressing the "UP" button selects that value to be set.
The display changes to show the time in white with the units to set flashing white/red.
Pressing the "UP" button increases the flashing value and the "DN" button decreases the value.
Press & Hold "DN" to return to the setting menu.
Press & Hold "DN" again to return to the time.
Step 25: Adjusting Time Neopixel Clock
The Neopixel clock gets the time from the local NTP server so time does not need to be set.
Pic 01 If the clock errors or fails to get the time pressing the "Rst Neo" button on the control panel will reset the WEMOS processor and attempt to get the correct time.
Note after a preset time ( I have set 12 hours) with no NTP connection the clock will reset and try and get a connection.
Pic 02 While it is waiting for this the LED ring turns off and is replaced by a Purple LED at 30 seconds that will increase by 1 every minute.
Once connection is re-established the display reverts to the default.
All the other clocks continue as normal and will re-sync if required to NTP time when the connection returns.
Step 26: Neopixel Clock Display Modes
The Neopixel LED ring display can be changed via the Red "LED RING MODE" button on the bottom of the PIR mount.
Default is Green or Blue ring(depending on time of day) with Red seconds LED. 1st press shows only RED seconds with 2nd press turning the ring off.
A 3rd press returns to the default Green or Blue with Red LED seconds.
Pic 01 The animation below shows the 3 different ring LED modes
Step 27: Veroboard Layouts Main Board
The main Veroboard houses most of the components- 2 x Arduinos, 2 x RTC and the Wemos Module.
Pic 04 The main board is mounted on the rear of the Word Clock on a 3D printed spacer Pic 05.
Pic 06 The RTCs are mounted on the main Veroboard via a 3D printed spacer.
Pic 01 Main Vero Board with Modules/Arduinos in place.
Pic 02 Main Vero Board with Modules/Arduinos removed.
Pic 03 Main Vero Board Rear.
Larger Veroboard layout can be viewed on my web site here
http://www.brettoliver.org.uk/time_teacher_clock/time_teacher_clock.htm#vero
Step 28: Veroboard Layouts Lavet Stepper Motor (analogue Clock)
Pic 01 Lavet type stepping motor driver board.
Pic 02 As above but fipped down to show solder side.
Pic 03 Veroboard in place in analogue clock module.
Step 29: Veroboard Layouts Auxuillary Controls
Pic 01 to 03 Summer Winter Veroboard with 3D printed spacer. This Verobaord is mounted in the top of the 3D printed PIR mount.
Pic 04 to 06 Neopixel On/Off Control Veroboard with 3D printed spacer. This Verobaord is mounted in the bottom of the 3D printed PIR mount.
Step 30: Veroboard Layouts Control Panel
Pic 02 Control Panel
Pic 01 There are 2 veroboards on the control panel 1 for the Digital Clock Controls and the other for the Word and Analogue Clock Controls.
Pic 03 The veroboards are screwed to 3D printed spacers that are glued to the rear of the control panel.
Pic 04 3D printed spacer Digital Clock.
Pic 05 Pic 04 3D printed spacer Analogue & Word Clock
Step 31: Schematic
Schematic showing how all 3 clocks are wired together.
A full size version of the schematic can be viewed here.
http://www.brettoliver.org.uk/time_teacher_clock/time_teacher_clock.htm#schematic
Step 32: 3D Printed Parts
A complete zip of 3D printed parts including FreeCAD files for editing can be downloaded from my website http://www.brettoliver.org.uk/time_teacher_clock/time_teacher_clock.htm#Downloads
3D files can also be downloaded on this clocks Thingiverse page.
Pics 01 to 04 show various views of the clock. These pics should help locate the various 3D printed parts of the clock.
I have detailed all the parts of the clock in the following sections.
Step 33: 3D Printed Parts Word Clock
Pic 01 & 02 This is the front case of the Word Clock and has the 10x10 grid that holds the 3D printed letters.
Pic 03 Letters are individually printed out to make the 3D Word Clock display layout completely versatile.
Letters are a friction fit and can be popped out and changed if you decide to change the layout.
The letters are printed in TC LaserSans font http://www.brettoliver.org.uk/Word_Clock_3D/images/TC_LaserSans.TTF
Pic 04 Each 3D printed letter is 14.5mm x 14.5mm x 3mm.
Pic 05 Letters are printed out in batches upside down to give a consistant pattern to the front of each letter.
Pic 06 Back LED panel showing slots for LED strips.
Pic 07 The Light Divider has slots for each LED and space for wiring top and bottom.
Pic 08 LED light diffuser layers.
Pic 09 & 10 LED Light Diffusers 3D printed 09 and paper 10 in position inside the case front/letter holder
Pic 11 Rear PCB Cover front view with slots for the control panel, LDR window and wiring.
Pic 12 Pic 11 Rear PCB Cover underside view with slots for the control panel, LDR window and wiring.
Pic 13 Rear PCB Cover Window. Printed in clear plastic to allow light to reach the LDR.
Pic 14 Rear PCB Cover Mounting Bracket 2 off required for fixing to the Rear PCB Cover (nuts and bolts) to the Back LED panel wih M2 self tappers.
Step 34: 3D Printed Parts Main Control Panel
Pic 01 Control Panel Front View.
Pic 02 The control panel is fixed with M2 self tappers to the Back LED panel. The Rear PCB Cover fits over the top into the slot on the control panel formed by the control panel rear.
Pic 03 Control Panel Rear View.
Pic 04 Control Panel Rear cover. This is glued to the front control panel to form a slot for the Rear PCB Cover to fit into.
Pic 05 Control panel front showing slot for rear cover.
Pic 06 Completed control Panel rear view. The slot for rear cover to fit into can be seen and the Vero Board spacer position.
Pic 07 Veroboard Control Panel Switch Spacer Word & Analogue Clock.
Pic 08 Control Panel Switch Spacer Digital Clock.
Pic 09 Shows the loacation of the control panel.
Step 35: 3D Printed Parts Analogue/Digital/Neopixel Clocks
Pic 01 Dial Surround Front.
Pic 02 Dial Surround Front underside view.
Pic 03 Dial Surround Bezal.
Pic 04 Analogue Clock and Digital Display Mount rear view.
Pic 05 Analogue Clock and Digital Display Mount Fixing.
Pic 06 Analogue Clock Chapter Ring.
Pic 07 Neopixel Ring Mount.
Pic 08 Neopixel Ring Mount reflective insert.
Pic 09 Neopixel Ring Mount Bracket.
Pic 10 Minute Hand.
Pic 11 Hour Hand.
Pic 11 & 12 Analogue Motor Drive cover and clock mount front and rear views.
Step 36: 3D Printed Parts PIR Mounting Bracket
Pic 01 The PIR Centre Mount holds the PIR, the auxillary control panels and also provides the center join/mount of the 2 clocks
Pic 02 Spacer for Centre Mount.
Pic 03 Centre mount top switches for sumer/winter control of the word clock
Pic 04 Winter/Summer Label
This label is printed on my 1 colour printer by pausing the printer once the black layer is printed.
The white filament is then loaded and the print resumed.
See details of how do to this via CURA using the link below.
http://www.brettoliver.org.uk/3D_Printer_Projects/3D_Printer_Projects.htm#logo
Pic 05 Veroboard Switch Spacer for Centre mount top switches.
Pic 06 Veroboard Switch Spacer for Centre mount bottom switche.
Step 37: Code
There are 3 code files for this clock held in 3 differnet zip files.
Word-Clock zip, Round-LED-Clock (Neopixel clock) and Analogue-Clock.
The 3 zip files can be found on the downloads page of my we side.
http://www.brettoliver.org.uk/time_teacher_clock/time_teacher_clock.htm#Downloads