Minimalist LED Clock (Animated)

About: Aerospace Engineer working in Software Development with a passion for Hardware.

Tick tock, tick tock, the clock doesn't stop. It never does. It ticks through the early hours of the morning, to the late minutes of the night. Though it might be mundane, there's nothing stopping us from having some creative fun at re-imagining what a clock does. Here, I present you this minimalist LED clock that shows you time using virtual LED clock hands. The absence of moving parts contrasts with the mechanistic nature of a "clock", creating a unique decor waiting to be made by you!

This clock shows you the time by showing an animation of the LEDs to symbolize the clock hands. Clockwise for hours and anticlockwise for minutes.

Step 1: Materials

* Arduino

* Wires

* 12x LEDs

* 12x 100Ω resistors


* Soldering Iron and Solder

* Hot Glue Gun and Glue

Step 2: Solder LEDs

To make wiring more convenient and breadboard-less, solder a 100Ω resistor to each one of the LEDs' anode.

Step 3: Arrange

* Poke 12 pairs of holes with an LED in a circular manner on a square sheet of foam board, we can trim the excess later.

* Arrange the LEDs in a clock like pattern on the foam boar by poking them through the holes and gluing them in place.

Step 4: Solder Ground Pins

Solder all the LED ground pins together.

Step 5: Connect Signal Pins

Connect each one of the anodes to a digital pin on the Arduino board. Record the pins numbers associated with the time represented by the LEDs, as I have written on a piece of paper shown above.

.tg  {border-collapse:collapse;border-spacing:0;} .tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;} .tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;} .tg .tg-yw4l{vertical-align:top}

LED TimeArduino Pin

Step 6: Code

This is demo program that sets up the clock movements:

const int one = 12;
const int two = 13; const int three = 11; const int four = 10; const int five = 9; const int six = 8; const int seven = 7; const int eight = 3; const int nine = 10; const int ten = 2; const int eleven = 1; const int twelve = 6;
void setup() {
  pinMode(one, OUTPUT);
  pinMode(two, OUTPUT);
  pinMode(three, OUTPUT);
  pinMode(four, OUTPUT);
  pinMode(five, OUTPUT);
  pinMode(six, OUTPUT);
  pinMode(seven, OUTPUT);
  pinMode(eight, OUTPUT);
  pinMode(nine, OUTPUT);
  pinMode(ten, OUTPUT);
  pinMode(eleven, OUTPUT);
  pinMode(twelve, OUTPUT);
void loop() {
  if (hour() == 1)
    digitalWrite(one, HIGH);
  else if (hour() == 2)
    digitalWrite (two, HIGH);
  else if (hour() == 3)
    digitalWrite(three, HIGH);
  else if (hour() == 4)
    digitalWrite(four, HIGH);
  else if (hour() == 5)
    digitalWrite (five, HIGH);
  else if (hour() == 6)
    digitalWrite(six, HIGH);
  else if (hour() == 7)
    digitalWrite (seven, HIGH);
  else if (hour() == 8)
    digitalWrite(eight, HIGH);
  else if (hour() == 9)
    digitalWrite(nine, HIGH);   
  else if (hour() == 10)
    digitalWrite (ten, HIGH);
  else if (hour() == 11)
    digitalWrite(eleven, HIGH);
  else if (hour() == 12)
    digitalWrite(twelve, HIGH); 
if (minute() == 12)
    digitalWrite(twelve, HIGH);
  else if (minute() == 11)
    digitalWrite (eleven, HIGH);
  else if (minute() == 10)
    digitalWrite(ten, HIGH);
  else if (minute() == 9)
    digitalWrite(nine, HIGH);
  else if (minute() == 8)
    digitalWrite (eight, HIGH);
  else if (minute() == 7)
    digitalWrite(seven, HIGH);
  else if (minute() == 6)
    digitalWrite (six, HIGH);
  else if (minute() == 5)
    digitalWrite(five, HIGH);
  else if (minute() == 4)
    digitalWrite(four, HIGH);   
  else if (minute() == 3)
    digitalWrite (three, HIGH);
  else if (minute() == 2)
    digitalWrite(two, HIGH);
  else if (minute() == 1)
    digitalWrite(one, HIGH); 
void offAll(){
  digitalWrite (one, LOW);
  digitalWrite (two, LOW);
  digitalWrite (three, LOW);
  digitalWrite (four, LOW);
  digitalWrite (five, LOW);
  digitalWrite (six, LOW);
  digitalWrite (seven, LOW);
  digitalWrite (eight, LOW);
  digitalWrite (nine, LOW);
  digitalWrite (ten, LOW);
  digitalWrite (eleven, LOW);
  digitalWrite (twelve, LOW);



    • Optics Contest

      Optics Contest
    • Plastics Contest

      Plastics Contest
    • Make it Glow Contest 2018

      Make it Glow Contest 2018