Introduction: Zen Clock

About: Passionate Maker

Most of you have seen those LED clocks shown here on Instructables, as I did. For me they where quite to complicated to build, requiring a CNC or awesome wood work skills.

So I've created my own approach with this features in mind: super easy to build, astonishingly look and useful.

Why Zen clock? When I've finished the first prototype, I've realized that being able to see just 4 updates/hour results in a less stressful time management being equally useful for most purposes.

Then, with this Zen concept in mind, I've decided to add a "Timer" function to it so that you can better control your time while you work, rest or do some mindfulness exercises!

And the best of all: The average cost is just 10$! (Most components in Supplies came in packs, so price could be a bit larger)

And as always, if you like this projects and want to contribute, you can make a small donation to my
Bringing those projects to you requires 3 to 4 times the item price, so this could help me bring you more projects :)

So that said, let's get started! :)


Aliexpress Worldwide Links (choose cheapest shipment method to reduce costs):

  1. LED Indexable Strip - IMPORTANT: Select 60LED, 1m. It's important that you choose 60LED because they are closer one to each other. Otherwise they will not fit in the 3D model.
  2. 2x 18650 batteries (optional, if you want it to be wireless)
  3. 1x USB Charger + Booster (you can replace this for a 1S USB battery charger and a small voltage booster if you have some laying around)
  4. 1x Arduino Nano
  5. 1x DS1307 RTC
  6. 1x Rotary Encoder
  7. Some white PLA (Just in case you need it. Any white PLA will serve)

And in case you want to start into the 3D print world:

Step 1: Features

  • Complete wireless clock with tens of hours of battery (about 3 to 4 days, depending on the brightness).
  • Day / Night mode. The light color palette will change after sunset.
  • Countdown mode: Set a countdown in intervals of 15 minutes, up to 24 hours.
  • 16 levels of adjustable brightness.

Step 2: 3D Printing

The 3D printing process should be quite easy and fast.

All files can be found at my Thingiverse:

Print all the parts with the flat side of the model facing the base of the printer.

For the sphere piece, you will need to use supports and make sure that the software generates the supports shown in the last picture.

The overall process should take about 5 hours with 0.28mm layer height, as I've used with good results.

For the sphere, you will need another extra 10 minutes to remove all the supports. Don't worry if the internal appearance is not the best. Any of the interior will be visible.

Step 3: LEDS - Building the Frame

For this step you will need to have printed XXX, and to cut 17 individual LEDs from the Strip.

For each of the LEDs, peel the terminals as shown in pic 5, presolder both sides before inserting them into the model to avoid melting the plastic later.

You should first remove the adhesive with some alcohol before soldering to avoid toxic fumes.

Insert all the LEDs following the diagram (pic 7), making sure the little arrow on the LED faces the appropriate direction, creating that kind of spiral.

For the closest connection between LEDs, you could achieve a solder between them without using wire (I did it this way). For the other two connections, you are gonna need some wire. My recomendation is that you use a thick single filament copper wire, as it will be much easier to work with.
If you don't have this, you could get any multifilament wire, peel a big piece of it and apply soldering to all of it, creating a rigid thick wire easy to work with (pic 10).

Now, cut your wire into the appropriate size and solder all the LEDs follow the draw.

For the most distant LEDs you will need a longer wire. This time is better to use regular coated wire to avoid shorcircuits.

The process is quite simple, but a bit laborious. So get some music playing and enjoy this kind of mindfulness exercise.

When you finish soldering, you can add some tape or glue to the LEDs to keep them in place, if they don't fit tightly. Just in case.


Sometimes some LEDs refuse to work with their brothers. Sometimes they don't show the appropiate color or they don't even power on or don't propagate the signal to the next LEDs.

Make sure your connections are alright using a Multimeter, and if it still doesn't work, replace the single LED that is causing problems. I had to do it at least three times because my LEDs were being recycled from an old project.

Step 4: Preparing the Battery

The steps are quite simple. First, fully charge your 18650 batteries so that they both have the exact same voltage before soldering them in parallel. You could do this by using the 18650 charger included in Supplies (battery positive to bat + of the charger, negative to bat - of the charger, and simply plug the USB to a mobile charger).

Check that the two batteries have the same voltage with a multimeter before continuing.

Then, with + and - of both batteries located, solder the two, positive to positive, negative to negative, using the included soldering tabs (if you use the batteries in supplies. If you use any other, use some wire).

Always solder batteries as fast as you can to not overheat them.

Then, add a some soldering tin to each side of the battery (as pic 2) to attach later on the cables.

Add the battery cables to the Charger + Booster as in pic 3, and solder them to the battery (bat+ to positive of the battery, bat- to negative of the battery).

Step 5: Electronics

Simply follow the diagram in the first picture. It's self explanatory, but here you have a brief overview:

  • 1 Series 2 Parallel battery to the Charger + Booster battery IN. (PIC ...)
  • Charger + Booster power out to the arduino 5V and GND. (PIC ...)
  • RTC SDA to Arduino A4 and SCL to Arduino A5, GND to Arduino GND, VCC to Arduino 5V.
  • The encoder Middle pin to the Arduino GND, and left and right legs to Arduino D3 and D2 respectively.
  • The encoder push button left pin to D7 and right pin to GND.
  • LED Strip 5V to Arduino 5V, GND to Arduino GND and signal pin to Arduino D8.

To make it easier:

  1. Solder the 5 rotary encoder wires and put the encoder into the 3D printed part's slot. (Pic 2, 3 and 4)
  2. Solder the wires to the Charger + Booster, put it into the 3D printer part's slot (push the wire side under the slot so that it fits nicely. Then, plug a cable into the charger to keep it into position and use 2 component glue or hot glue to fix it there forever so it doesn't move when you plug-unplug the USB. (Pic 5 and 6)
  3. Solder the Charger + Booster battery wires to the battery.
  4. Solder the Charger + Booster power out wires to the Arduino.
  5. Solder the Encoder wires to the Arduino following the diagram. (The encoder side with 3 wires corresponds to the Rotary Encoder, and the side with 2 wires to the push button)
  6. The rest is just following the connections and trying to keep it compact :)

You should end up with what is shown in picture 8.

Step 6: Arduino - Pushing the Software

This step is the easiest one. Plug the cable into the Arduino, download the .ino file and using Arduino IDE upload the code to the Arduino board.

If someone has trouble with this, I will be glad to help in comments!

Step 7: Paint the Inner Lid Border

To ensure a better definition between each LED, it is a good idea to paint the inner border of the housing lid with some permanent black marker, as shown in the picture.

Step 8: Assembly

It's super simple. Just fit all the electronics as compact as you can inside the enclosure.

The Arduino and RTC module will fit nicely under the battery.

If you want to keep everything in place you could use some 2 components glue or hot glue and attach all the electronics to the housing.

The last step is to insert the LEDS and the top lid. Make sure the lid internal lines match the LEDs holder lines.

Everything should came close tightly and nicely, and ready to enjoy :)

Step 9: Working Modes

The code I've included works as shown in the picture.

It has 4 modes:

  1. OFF
  2. Clock (this is the default when you power it on)
  3. Timer config
  4. Timer

On Modes 1, 2 and 4, rotating the encoder will increase/decrease the brightness.

On mode 3, rotating the encoder will increase/decrease the timer time in intervals of 15 min.

When the timer runs out, you can power off the "alarm" by pushing the button. This takes you to the OFF state.

Step 10: Enjoy :)

Pictures don't make justice to the results you will get with this simple project, believe me.

It looks super cool in my desk or in my bedside table at minimum brightness, at night

It's super easy to move as it's full wireless and when you are gonna be outside, just turn it off and keep the battery for when you need it.

Hope you liked this project!

I see you in comments :)

3D Printed Contest

Participated in the
3D Printed Contest