Blog Layout

How to Build a Giant Hidden Shelf Edge Clock

We had a large space on part of our living room wall for which we could never find the right 'thing' to hang on it. After trying for several years we decided to make something of our own. This turned out rather well (in our opinion) so I turned it into a project on my Youtube channel and a written a guide which you're reading right now! 


It's a giant digital LED clock discreetly hidden in the edges of a geometric shelving system. It also included integrated LED downlighters to show off your favorite items on the shelves.


As the lighting is LED (using WS2821B 'Neopixels') you can choose your own colours - both for the clock face and downlighters. A discreet photoresistor is hidden in the top right corner which dims the LED's when the ambient light levels drop - great for evening ambiance in any room.


DISCORD server: https://discord.gg/EhqqePPcKk


Supplies:

You will need some supplies to build one of your own. Below are links to where you can find the parts on Amazon.

■ An Arduino Nano(x1): https://geni.us/ArduinoNanoV3
■ A 5m roll of WS2812B LEDS which has 60 LED’s a meter: https://geni.us/5mWS2812B60m
■ A Photosensitive resistor module: https://geni.us/PhotoresistorModule
■ Some Hookup wire - ideally three different colours: https://geni.us/22AWGWire
■ A couple of 470 Ohm resistors: https://geni.us/Ufa2s
■ A couple of electric terminal block strips - each 5 blocks long: https://geni.us/TerminalBlocks
■ No 8 wood screws: https://geni.us/No8Screw
■ A 5v power supply with screw terminals: https://geni.us/PowerSupplyTerm
■ Some thicker twin core cable 
■ Some filament for the 3D printed parts: https://geni.us/PLAFilament
■ Wood infused PLA filament: https://geni.us/WoodPLA
■ Wooden backboard at least 112 x 39cm the one I used was 138 x 60cm (this will give the finished project a 10cm border around the outside).

Code and other downloads


Code for the project can be found on its Github page: https://github.com/DIY-Machines/DigitalClockSmartShelving


3D printed parts and wiring diagrams can be downloaded from here: https://www.prusaprinters.org/prints/94364


Drawing for CNC drilling of the backboard (if you have access to a CNC machine or know someone else who does):

https://www.etsy.com/uk/DIYMachines/listing/1081760909


DISCORD server: https://discord.gg/EhqqePPcKk


Wiring Diagrams

Click on an image to see a larger version.


FAQ's

  • I get an error when uploading: ' exit status 1 'digitZero' was not declared in this scope...'

    There are two files on the Github page for this project. Both need to be opened as tabs in the IDE when uplaoding. 

    First open 'Shelf_Edge_Clock_V1.ino' in the IDE then click 'Sketch' from the menu bar, followed by 'Add file'. Choose the 'Digits.ino' file.

  • How do I change the number of LEDs used in each segment?

    The file 'Digits.ino' explains to the system which LEDs need to light up to create each number (0 through to 9) on the right-most digit. This is expressed as follows for the number one:


    void digitOne(int offset, int colour){

        stripClock.fill(colour, (0 + offset), 9);

        stripClock.fill(colour, (36 + offset), 9);

    }


    In this function we have a line for each continouse run of LEDs which are swithced on. These lines start with 'stripClock.fill'.

    This is followed by the variable 'colour' which controls the colour of the LED.

    The first number represents the first LED to switch on (remembering we count from zero and the order is as you have soldered them in series). There is another variable 'offset' which can be ignored for now followed by another number ('9' in the above example) which says how many LED's to light in a continouse run from this first one. 


    If you we're using 18 LED's per segment it might look like this for you:


    void digitOne(int offset, int colour){

        stripClock.fill(colour, (0 + offset), 18);

        stripClock.fill(colour, (72 + offset), 18);

    }


    You also need to adjust the offset value as found in the main program on lines; 185, 197 and 211.


    These values should represnt how many LED's come before the first LED which forms  the next 'digit' on the shelf clock.

  • How did you print the double coloured sleeves?

    I printed two layers of white (at a 0.2mm layer height per layer) before changing to the wooden filament.

    In Prusaslicer you can prompt the printer to chnage filament as explained here by Prusa: https://youtu.be/bzf20FxsN2Q?t=361

  • How do I make a 24 hour version?

    I would recommend taking look at the great work done by Florian here: https://github.com/florianL21/LED-ClockShelf 


Comments

By Lewis 02 Apr, 2024
KINETIC COASTERS with a TWIST! Laser or 3D Printable
By Lewis 20 Jan, 2024
How To Make Neon LED Signs | Low Cost with Alexa, Hue & WiFi Controls
By Lewis 15 Nov, 2023
A fast and reliable, multi-material, dual print headed printer with a few tricks up its sleeve...
By Lewis 29 Sep, 2023
Build your own Super Smart Magic Mirror
By Lewis 19 Jul, 2023
How to upgrade your desk to include smart responsive LED lighting and 3D printed upgrades to make your life easier!
By Lewis 23 Jun, 2023
We review Elegoo's new computationally superior speed demons... and wow they're fast!
By Lewis 19 Jun, 2023
3D Print your own moduler Bluetooth Speaker with cool disco lighting and modular speaker design
11 Apr, 2023
How to build your own Filament Spool Smart Lamp
By Lewis Aburrow 07 Feb, 2023
A massive build volume for a smaller price.
By Lewis 28 Dec, 2022
The newest Snapmaker, now with Dual Extrusion Printing, 6x quicker CNC Routing and the mighty 10W laser as standard
More Posts
Share by: