SkillAgentSearch skills...

ArduinoLEDClock

arduino based word clock

Install / Use

/learn @mattudakis/ArduinoLEDClock
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Arduino based LED word clock

Alt text

<br/>

Contents

  1. Features - WordClock features.
  2. Components - Components used to make the clock.
  3. Circuit - Circuit and wiring diagram for the clock's electronics
  4. Fabrication Process - Guide for the clock's build process.
  5. Setting the time and date - How to set time and date via Bluetooth terminal app.

 

Features

  • LED colour change button
  • On the hour and quarter hour LED animations
  • Birthday LED message on set dates
  • Automatic LED brightness control via photoresistor
  • Real time clock (RTC) time keeping with automatic daylight-saving time changes

 

Happy Birthday message and some different colour options

<img src="img/hbday_animation.jpg" width="235" height="245"> <img src="img/colouroptions.GIF" width="245" height="245">

On the hour and quarter hour animations

<img src="img/quarter_animation.GIF" width="235" height="250"> <img src="img/hour_animation.GIF" width="233" height="250">

Components

| Component | Description | Source |Reference | Quantity | |-----------------------|------------------------------------------|----------------------------------|---------------------|-----------| |Frame | Box photo Frame 23x23 cm | Ikea | Black RIBBA* | 1 | |Letter cut outs | Laser cut panel 3mm birch plywood | online laser cutting service | | 1 | |Baking paper | 23 x23 sheet to diffuse LED light | grocery store | | 1 | |LED dividers | Dividers to isolate LED light | online laser cutting services | 1.5mm backing board | 1 |
|LED array template | Card template to attach LED strips | online laser cutting services | 1.5mm backing board | 1 | |MDF board | 230 x 230 x3mm for back of clock | Hardware store/ online | 3mm thickness | 1 | |LED strip | addressable LEDs 60/meter 16.5mm interval | Amazon/AliExpress | 60 IP30, WS2812B | 121 LEDs |
|Arduino nano | Arduino/Elegoo nano | Amazon/AliExpress | ATmega328P | 1 | |Real time clock (RTC) | RTC with battery to keep time | Amazon/AliExpress | DS3231 | 1 | |Bluetooth BLE module | BLE Bluetooth for remote connection | Amazon/AliExpress | HM-10 | 1 | |Push button (momentary)| button to cycle through LED colour | Amazon/AliExpress | Tactile Push Button | 1 | |Photoresistor | measures ambient light to set brightness | Amazon/AliExpress | GL5516 | 1 | |Wire | wire to connect components together | Amazon/AliExpress | | <1 m | |Heat shrink tubing | heat shrink to tidy soldered connections | Amazon | | | |Soldering iron/solder | soldering iron to solder all components | Amazon/hardware store | | | |Custom PCB | optional custom PCB to solder components | online PCB manufacturer | | 1 | |Resistors | 1x330 1x1K, 1x2K, 2x10k | Amazon/AliExpress | | 5 | |Capacitor | 100uF 50V for power surge protection | Amazon/AliExpress | | 1 | |Power Jack | 5.5 X 2.1mm DC power Jack | Amazon/AliExpress | | 1 | |DC power supply | 5Volts 3Amp | Amazon | | 1 | |Mini USB-A cable | Cable used for Arduino power | Amazon/AliExpress | | 1 | |Square wood dowel | 10 x 10 x 30mm square dowel for backplate| Hardware store/ online | | 4 | |M2x10 micro screws | flat head screws for attaching backplate | Hardware store/ online | | 4 | |Glue gun with glue | glue gun to fix components | Hardware store/ online | | 1 | |Drill bits and drill | 12mm, 2mm, and 6mm drill bits and drill | Hardware store/ online | | 3 |

*The Ikea RIBBA frame in black has been discontinued. An oak version is still available, which could be spray painted. Alternative frames of the same size can be found on Etsy.  

Circuit

Circuit components can be connected following the Arduino clock circuit

Alt text

 

Alternatively a Custom PCB can also be fabricated for ease of assembly.

PCB files found here

Alt text

 

Optional full size PCB with pre-assembled LEDs

A large PCB with the addressable LEDs can be fabricated and pre-assembled.
This will save a lot of time in the soldering of the LED strips.
Full sized PCB files and pictures of assembled PCB can be found here

<img src="LEDPCB/PCB_LED_top.svg" width="400"> <img src="LEDPCB/PCB_LED_bottom.svg" width="400">

 

Fabrication process step-by-step

The assembly process involves the following steps

  1. Frame assembly
  2. LED array and power input assembly
  3. Arduino circuit soldering
  4. Button and photoresistor assembly
  5. Backplate fabrication and final assembly
  6. Loading firmware onto the Arduino

 

1. Frame assembly

  • Discard all parts of the frame except for frame itself.
  • Take the wooden laser cut clock face and place it face down within the frame.
  • Cut out a piece of baking paper the same size as the clock face and place on top of the clock.

This will diffuse the LED light to evenly light each letter.

  • Assemble the dividers and place on top of the baking paper/ clock face.

Alt text

 

2. LED array and power input assembly

Power input assembly

  • Take the USB cable and strip the external casing to expose the 4 wires.
  • Trim off the two data wires (these are usually green and white) leaving just the power and ground wires.
  • Extend the power and ground wires and tidy up the connections to add more stability.
  • With two additional pieces of wire solder the capacitor between them (see circuit diagram) this will connect to and power the LED array.
  • Connect both sets of wires to the DC jack making sure the wires are securely in place.

Alt text

 

LED array assembly

  • Cut the addressable LEDs to 11 LED strips.
  • Solder the LED strips in a snake like orientation starting from the bottom left.

The LEDs are directional so make sure they are solder in the correct direction. This soldering is time consuming, be patient and use soldering flux to help.

  • Tidy up the soldering connections with some electrical tape or heat shrink tubing.
  • Get the LED array template.
  • Using a glue gun, add a little glue between each hole in the template and glue the LED strip to the template.

Do this one strip at a time to prevent glue drying. Don't glue the first part of the first strip as access to this is needed later.

Alt text

 

3. Arduino circuit soldering

Using either the custom PCB or manual wiring, connect the HM-10, DS3231 RTC and the Arduino nano together. If using manual wiring follow the circuit diagram ensuring the correct resistors are included.

The custom PCB will save a lot of time and add more stability to the electronics so this is recommended.

For assembly via the PCB

  • Solder the Arduino nano, HM-10 and DS3231 RTC to the PCB along with the various resistors.

Alt text

 

4. Push button and photoresistor assembly

The colour of the LEDs in the clock can be altered using a push button attached to the back of the clock. In addition the brightness of the clock is automatically adjusted to the environments ambient light levels.

 

Making the brightness photoresistor

  • Solder two wires to the photoresistor and tidy the solder contacts with electrical tape or heat shrink tubing.
  • Using a drill, drill a hole slightly larger than the photoresistor diameter.

To prevent damage to the top of the clock, stick some tape over the drilling area.

  • Using a glue gun, glue the photoresistor into the drilled hole ensuring it is flush with the top of the clock frame and securely in place.

Alt text

 

Making the push button

  • Solder a small push button to two wires, tidying the connections with heat shrink/ tape.
  • Make sure the wires are long enough so that when attached to the Arduino the back plate can be removed.
  • Optional solder two female jump cable connectors to the wires so that it can be easily removed from the main assembly. Then solder two male header pins to two additional wires that will be then soldered to the Arduino.

Alt text

 

5. Backplate fabrication and final assembly

Backplate assembly

  • If no pre-cut backplate is available cut a 2-3mm piece MDF or plywood to the same dimensions as the front plate (23x23cm).
  • Using a large drill bit (12 mm), cut a hole at the centre bottom of the backplate. Try to align this with where the DC jack will be glued to the inside of the frame.
  • Using a smaller drill bit, drill a hole the same size
View on GitHub
GitHub Stars30
CategoryDevelopment
Updated11mo ago
Forks4

Languages

C++

Security Score

67/100

Audited on Apr 20, 2025

No findings