Introduction: Desktop Ring Clock
As you can see from the photo above in this project, I would like to show you the construction of an office clock. Normally, such a project requires the purchase of a WS2812 LED ring, right? Projects that use LED strips in different watch constructions designs, in most cases, project the LED's light laterally on the wall. But I wanted to make an office clock, the LED light had to be projected in the front. With the 60 LED/m LED strip at hand, I thought I'd try to use it for this purpose. The idea was that the body, in which the string of LEDs are mounted, should reflect the light as best as it can. I 3D printed the body with a white material and this was enough for the LEDs light to be seen in the front.
So basically my project is about how you can replace a LED ring with a LED strip (also in different other projects I think, not only watches).
What would be the advantages...
- The price: a 60 LED ring is twice as expensive as an 1m, 60 LED/m led strip,
- The 60-LED ring comes from a certain size, with strips different diameters can be made, there are strips with 30 led/m, 74 led/m, 96 led/m, 100 led/m, 120 led/m, 144 led/m ) so there is a wide variety of possibilities
- If one or more LEDs are defective or are become damaged over time in rings, replacing them is particularly difficult, comparatively in the case of the strips where it is very easy instead
- And last but not least, LED strips are more widespread, so they are easier to find than rings.
Let's see the construction!
Step 1: Components, Materials
A list with what I have used:
- 3D printed components: the ring and the support, the STL files can be downloaded from Tinkercad;
- A smoked plexiglass ring, I attached the SVG file above with the dimensions needed;
- Black (frosted) window foil;
- A piece of 1m of WS2812 led strip, 60 led/m (with adhesive on the back);
- RGB LED Controller module for ESP-01;
- ESP-01 wireless module (with ESP8266);
- For programming the ESP-01 module: a programmer adapter, a switch button, an USB male to female extension cable;
- 5.5x2.1mm DC connector female jack with cable;
- Power supply 5v/2A;
- Hot glue.
Step 2: Electronics, Software and Programming the ESP-01 Module
For this projects I didn't even need a schematic, it's so simple! So, first I prepare the LED strip (look at the note below) I soldered the end of the LED strips, then I soldered the power and data wires at the beginning of the strip (the LED driver module comes with a three-wire connector just for that). Then I soldered the power wires (from the DC jack) to the LED controller module. That's it! The electronic part is ready!
Note To see how the led strip is prepared please look at the first pictures in the next step: Construction...
With the software again it's very simple. I have used in all my projects based on ESP8266 a framework with which I have become accustomed and which in my opinion is excellent. This framework provides a web server accessible from a phone for example to configure the connection to my router, to connect to a time server (NTP), but I can also add pages with which I can perform different operations in the program loaded on the ESP8266 microcontroller.
This framework is based on the code of Andreas Spiess - Internet of Things with ESP8266 - but he also took over the original John Lassen framework - ESP 8266 Arduino IDE WebConfig.
So I used this framework, simplified it a little and only added the code for using the FastLED library and the code (a few lines) for displaying the time. Everything is on github, you can download the program from there.
For programming the ESP-01 module I used an programming adapter to which I attached a touch button that connects the GPIO1 pin to the Ground (see picture below).
So for programming I needed the follow the next steps:
- I downloaded and installed Arduino IDE;
- I installed in the Arduino IDE the programming platform for ESP8266;
- I installed the FastLED library;
- I downloaded the source code from github :)
- I plugged the adapter into the USB extension cable, connected the cable and installed the adapter driver (the adapter is CH340 based, it was already installed on my computer so I checked which COM port number was taken by the adapter ) and then removed the adapter from the cable;
- I made the configurations in the Arduino IDE for programming the ESP-01 module(step3);
- Now, that I had the ESP-01 module in the adapter, I held the adapter with the button pressed and I inserted the adapter into the USB cable. At this moment the ESP-01 module booted in programming mode and I was able to load the program. If I did not succeed at first I repeated the procedure (I see that it failed because the Arduino IDE says about communication error);
- After program upload, I removed the adapter from the USB cable, the ESP-01 module from the adapter and put it in the RGB LED controller module.
Step 3: Construction
I will also detail the steps of the construction phase, also follow the attached pictures above.
- I cut two pieces with 30 LEDs from the LED strip;
- I fixed back to back, offset, the two pieces with the help of some plastic spring clamps;
- Slowly and carefully I gradually removed the protective paper from the back of the strips and immediately attached the strips to each others back;
- Folded the ends of the strips together so they can be soldered;
- Made the soldering required for the electronic assembly;
- Printed the ring and the support with white PLA filament;
- Cut at the CNC the smoked plexiglass ring (a friend helped me :))
- Placed two layers of black window foil on the plexiglass ring;
- Matched and fixed with hot glue the LED strip in the printed ring;
- Fixed the ring support to the printed ring with hot glue;
- Fixed the controller with hot glue to the support;
- Fixed the plexiglass ring in the printed ring;
- Programmed the ESP-01 module and put it in the LED controller module;
- Powered on to set up router access credentials on the phone.
Step 4: Demo
In the video below you can see the clock during operation.
Please note the position of the LEDs in the printed ring: the even values for the seconds and minutes appears on the inside LED circle and the odd ones on the outside LED circle, which makes it easier to read accurate time values...
I hope you liked my article and you will be inspired to made this watch too.
Good health to everyone!
First Prize in the
LED Strip Speed Challenge