The Light Clock

A wifi enabled clock that always keeps perfect time and is beautiful to match :)

Similar projects worth following
People have made RGB clocks before, there are several on this site. I wanted to take the concept and make it a little more beautiful and add WiFi :)

The project was born of inspiration by other RGB LED clocks. I always felt that they didn't play enough with what was available. The LEDs were often bare, or facing directly to the viewer.

Most clocks I've seen would only highlight one or two LEDs for each "hand" I wanted a more beautiful method of telling time so that this could be part art piece part clock

Finally, I made it using the new(ish) esp8266 chip as I wanted a way to change the colours, and an HTML interface seemed to be just the trick.

  • 1 × ESP8266 recommend Node MCU 12-E version
  • 1 × 144LED strip of Neopixels Cut down to 120 LED size
  • 1 × 5V to 3.3V signal shifter
  • 1 × 3D print chassis
  • 1 × 5V 4A power supply

  • 1
    Step 1

    Welcome to The Light Clock, part art-piece, part timepiece, it's a modern take on the classic analogue clock. Where a traditional clock face uses hands to tell the time, The Light Clock turns your whole wall into a timepiece through a striking display of coloured light. You have the power to choose from millions of colours, allowing you to perfectly complement your existing décor, or simply to match your mood.

    You can build your own, or you can back us on Kickstarter right now

    To create the hour and minute hands, The Light Clock projects light in two different colours. At first glance this might seem complicated, but very quickly you’ll notice that you can read it with ease.

    In this example we’ve used yellow light as the hour hand, and blue light as the minute hand. Comparing each Light Clock with the corresponding traditional displays, you can see how each colour comes to an edge where a hand would normally be. Click for an animated example.

  • 2
    Step 2

    You can build it yourself! What you need is a…

    • Power Drill
    • 3D printer
    • Laser cutter

    Bigger tools required (shapeways is a good alternative if you don’t have these tools)

    Parts required:

    • NodeMCU-12E
    • Breadboard
    • Jumper leads
    • 144strip of Neopixel LEDs
    • 3.3v to 5v logic level converter
    • 5V 4A power supply (LEDs use looooots of power)

    OK, let’s do this!

  • 3
    Step 3

    Step 1: Installing ESP8266 for Arduino

    For this part you’ll need the Arduino 1.6.5 IDE (or higher).

    The IDE for the ESP8266 is pretty new, so you’ll probably need to install it. Open up File->Preferences and, under “additional boards manager”, simply add

    Now hit OK and go to “Tools->Board->Board Manager” and

    select “type: contributed”, after which the ESP8266 board should show up.

    Hit “Install” and go make a cup of coffee, this can take quite some time. :)

View all 13 instructions

Enjoy this project?



giuseppe.cislaghi64 wrote 03/13/2018 at 12:05 point

Hi Chris

can you help me please,

I can not load your lightclockwifi sketch into the nodecu esp8266 because it always gives me the error SECS_PER_HOUR was not declared in this scope.
And then i have another error:
time_t_syncInterval = SECS_PER_HOUR;
return secSince1970 + (time_t) (totalOfset * SECS_PER HOUR);
I tried to put your NTP and TIME libraries but nothing.

Sorry for my bad english


Greating from Italy

  Are you sure? yes | no

Joshua Snyder wrote 11/17/2016 at 14:31 point

After several days running your code for  the LED clock,  I keep finding that it drops off the .local domain.    I can still get to the device with the IP address, but not the .local address.   I don't have the same issue with my other ESP8266 projects.  possibly related,   I am using arduinoOTA to reprogram my other devices,  so the method of registering the .local name is a little different.    

  Are you sure? yes | no

Joshua Snyder wrote 11/15/2016 at 19:36 point

Just found this project as my neo-pixel pocket watch was evolving into a wall clock!   love the web interface,  I'm going to try to dig into some of the code to learn what I can.

  Are you sure? yes | no

Stephen wrote 10/02/2016 at 08:51 point

"...and is beautiful to match :)" Shouldn't that say "...beautiful to WATCH.". Sorry I couldn't resist the pun. 

  Are you sure? yes | no

Chris Carter wrote 10/02/2016 at 22:11 point

Haha, thanks Steve. I've really wanted to make a wrist-watch version, but I'm worried about the battery life. Would be fun to do anyway though :)

  Are you sure? yes | no

Stephen wrote 10/02/2016 at 23:32 point

As to battery life. I've noticed that almost everyone seems to want t o run their LEDs at the full 20ma limit. The new ones are quite visible at much lower current. Or employ a tap to view system. Experiment. Open your mind to the possibilities. B-)

  Are you sure? yes | no

Joshua Snyder wrote 11/16/2016 at 03:40 point

My Neo-Pixel pocket watch can only go about 1 to 2 hours on the 150mAH battery I have,  I now have a second one built with a 350mAH battery,  but I have not run tests on it.   it can run your code (with the pin changed to 2, and the pixels set to 12)

  Are you sure? yes | no

Andro wrote 10/01/2016 at 17:54 point

hi where can i contact you for some changes i would like to make but can't find in the code... btw I am doing a similar clock and your code is the best one i found so far...

  Are you sure? yes | no

Chris Carter wrote 10/02/2016 at 00:32 point

What do you want to know? You can send me a PM here if you like :)

  Are you sure? yes | no

Chris Carter wrote 08/24/2015 at 07:16 point

Sorry! I'm still going. Will be on holiday soon, but post themafter that

  Are you sure? yes | no

ben.phenoptix wrote 08/12/2015 at 22:06 point

The Skull is encouragement! I'll keep watching and take it back if you don't add those details!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates