Neopixel Bedroom Clock

RGB LED array based bedside clock with auto-brightness.
Future features include auto-sync time and WiFi connectivity.

Similar projects worth following
Unsatisfied with my current bedside clock and left feeling that the commercial offerings were lacking features, i have resolved to solve the problem myself.

8x24 RGB LED display made from 3x 8x8 neopixel panels.
Very low profile, is currently being hung on the wall.
DS3231 RTC module for accuracy (DS1307 proved to be very sub-standard
LDR for auto-brightness control (including super-dim mode for nighttime)
Mirror finish to the diffuser (cos its cool :-D )
Colour fades as time passes

Future features:
- Transition animations
- WiFi connectivity using ESP8266 for time auto-set
- ...and remote configuration of alarm modes/animations
- ...possible display of weather info (possibly a paper dial out the side rotated by a low profile servo)

The display (which also serves as the main structural element) comprises 3x Neopixel 8x8 panels. This element was originally going to be fulfilled by colourduinos but they didnt offer satisfactory results despite the higher pixel density and having square pixels.

As time progresses, the colour of the numbers cycles through the rainbow... 24 hours, 60 mins and 60 seconds. There is also a dot that moves along the bottom showing the progression through the current minute that also fades in colour along with the separating ':'.

Running the show is an Arduino nano (very cheap these days - £2.50) connected to a DS3231 RTC module (the DS1307 proved inaccurate). also attached is an LDR to detect light levels and dim the display accordingly (including Dim and SuperDim levels).

Libraries used include FastLED, Time, and DS1307RTC.

All code available on GitHub.

Dffuser is made from laminated paper with Mirror Film applied, cut to size, and stuck on with spray glue.

All options are configurable from the serial port.

Future options include setting the time based on internet time via an ESP8266 (when I've finished playing around with it), this may also prove useful for adding some kind of weather feedback too.

View all 6 components

  • Pictures

    David Hopkins01/22/2015 at 10:02 0 comments

    Finally took some pictures of the thing...

    here, the mirror finish is clear, and the dot along the bottom is showing about 20 seconds into the min.

    here we have the back view, Arduino nano in the middle, RTC on the right and a block of plasticard on the left (so it sits flat on the wall)

    the LDR kinda pokes up above the parapet and is held in place with a globule of hot-melt glue.

    all of the wires... these are to try to distribute power evenly as the traces on the board (+5V) don't seem to work too well.

    it may be hard to see, but the LEDs have got blobs of thick black paint (car touch-up paint) on them to help prevent light leakage in a dark bedroom

  • New RTC working well

    David Hopkins01/21/2015 at 14:19 0 comments

    Its been a couple of weeks and the new RTC (DS3231) is performing wonderfully, also the extra power wires have done the job, just wish i had access to a 3D printer to make an enclosure, ah well.

  • Time Issues

    David Hopkins01/21/2015 at 14:17 0 comments

    Ok, the DS1307 is absolute crap, its alright for a couple of days but looses 2 minutes a week!

    The slightly more expensive DS3231 module has arrive so will give that a go... its pin-compatable too.

    Also there seems to be flickering when at high brightness, particularly on the blue parts, will have to beef up the wiring.

  • Clock Constructed

    David Hopkins01/21/2015 at 14:15 0 comments

    After much playing about with the colourduinos ive decided to go for the neopixel 8x8 matrices, they are more expensive and have a less desirable pixel layout (not square and further apart) but a hell of a lot easier to actually do something useful with.

    after a bit of coding, the rest was a breeze, arduino nano stuck on the back of the displays, RTC hooked up and an LDR too, basic code tying the LDR value to the global brightness control in FastLED library. Boom! Done!

  • I2C working

    David Hopkins09/22/2014 at 21:54 1 comment

    OK, after a few pitfalls, i managed to get i2c working ok, had to increase the buffer from 32bytes to 192 in the library so i could send a modules-worth of data in one hit.

    this shows a mega hooked up to the colorduino, it just generates random data and pushes it over i2c to the display. once the other colrduino turns up i will be able to daisychain them :-)

    in the meantime ill be working on the details of constructing a frame of data on the master device. hope i have enough space, should have calculated that really :-/ ah well.

  • Logged ideas

    David Hopkins09/22/2014 at 13:58 0 comments

    just creating this as a placeholder for when i actually start doing things with this... i have ordered a rainbowduino, 2 colorduinos, rtc and 4 8x8 led matricies. one colorduino has arrived, as have the matricies, and i have got a basic demo sketch working.

    there seems to be very little out there for the colorduino, though many sites sell them. as a result, i will have to make my own i2c client sketch for it. we shall see how that goes :-)

    hopefully get to try that tonight and even put a couple of piccies up.

View all 6 project logs

Enjoy this project?



Ricardo wrote 01/31/2017 at 17:10 point


I have a  matrix 8x32 layout 

00  15  16

01   14  17

02  13  18

03  12  19

04  11  20

05 10  21

06 09 22 25

07 08 23 24

What change in the code ?

  Are you sure? yes | no

makegeneve wrote 01/05/2015 at 15:32 point

Hi David, I have a similar "back-burner" project, using 3x rainbowduinos. I was planning on using a DigiX board as the base, as it's the cheapest and smallest way to get all the IO you could reasonably need, including audio out... My wish would be for it to sync with my ical calendars and automatically adjust itself, as well as do funky things with the time colour throughout the day.

  Are you sure? yes | no

David Hopkins wrote 01/21/2015 at 14:27 point

Hi Paul, I have not yet encountered the DigiX board but it looks interesting, I've updated a bit on the logs etc, as you can see I've ditched the colorduinos in favor of neopixels, much much thinner and a great deal less hassle. Still have the colorduinos kicking about so may make them into tree decorations or something like that, something simple. let me know if you get any further with your project.

  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