The pxlBlck_SlotClock consists of a 1×60 LED matrix. It can display the time in the same way as an analog clock. The colors of the individual hands can be set. Hour markers can also be displayed. This makes orientation and reading the time a little easier 🙂
Animations can also be shown on the LED display to provide information about events.
Everything you need to build your own pxlBlck_SlotClock can be found in the following article.
Safety instructions
I know the following notes are always kind of annoying and seem unnecessary. Unfortunately, many people who knew "better" have lost eyes, fingers or other things due to carelessness or injured themselves. Data loss is almost negligible in comparison, but even these can be really annoying. Therefore, please take five minutes to read the safety instructions. Because even the coolest project is not worth injury or other trouble.
https://www.nerdiy.de/sicherheitshinweise/
Affiliate links/advertising links
The links to online shops listed here are so-called affiliate links. If you click on such an affiliate link and make a purchase via this link, Nerdiy.de will receive a commission from the relevant online shop or provider. The price does not change for you. If you make your purchases via these links, you support Nerdiy.de in being able to offer other useful projects in the future. 🙂
Requirements
For the assembly you have to master soldering tasks. The following articles contain tips on this.
- Electronics - My friend the soldering iron
- Electronics – Solder THT components by hand
- Electronics – Solder SMD components by hand
Required tool:
Required material:
In the following list you will find all the parts you need for the assembly.
Overview
Here you can see a small overview of how the display of animations and the time can look on the pxlBlk_SlotClock.
Collect the necessary parts
Before you can start building your own slotClock, you should have the necessary parts together.
You will need the following parts to assemble the slotClock.
- 1x WS2812 or SK6812 LED strip 144LEDs/m 60 LEDs long
- 1x round Pleix glass pane, milky, diameter 133mm
- 3D printed base
- 3D printed stand
- 3D printed cover for the stand
- 3D printed retaining ring
- 2x M8x40 cylinder head screw
- 1x Wemos D1 Mini (ESP8266)
- 4x self-tapping screw 2×6
- 3x cable approx. 10cm long
The STL files for printing on your 3D printer can be found in the repository for the pxlBlck_SlotClock under the following link.
Prepare LED strips
First, you should prepare the LED strip for installation.
Here, the red wire is connected to the 5V contact, the black wire to the GND contact and the green wire to the DIN contact of the first LED.
The signal line is connected directly to the DIN contact on the first LED. This makes it easier to install the LED strip later.
Insert LED strip into holder
The prepared LED strip can now be inserted into the holder.
Now it gets a bit tricky: The cables should now be brought together in such a way that they do not get jammed when the LED strip is pushed in.
Note: The bracket in the picture looks slightly different from the STL file offered above. However, the STL file is the correct version. This is the only way to align the twelve and six o'clock positions vertically.
Other view.
Note: The bracket in the picture looks slightly different from the STL file offered above. However, the STL file is the correct version. This is the only way to align the twelve and six o'clock positions vertically.
If necessary, you can stick some hot glue or insulating tape behind the end of the LED strip to avoid possible short circuits.
As soon as you have completely inserted the LED strip everywhere, your SlotClock should look like this.
Mounting the stand
The stand is there (as the name suggests) to be able to place the SlotClock upright. It also houses the ESP8266 for controlling the LED strip.
To assemble, you will need the stand, two self-tapping 2×6 screws and the prepared LED strip holder.
Insert windshield
To cover the LED strip, you can now insert a Plexiglas plate into the LED strip holder.
You will need the prepared unit consisting of the LED strip holder and stand as well as a 3mm thick plexiglass pane with a diameter of 133mm.
The Plexiglas plate should now hold in the LED strip holder by itself.
If you want to attach the Plexiglas plate additionally, you can now add...
Installing weights in the stand
The SlotClock should now stand upright on its own. Nevertheless, you should install two additional weights in the base to increase the stability.
...into the recesses in the stand.
To prevent the screws from falling out again, you can glue them in with a drop of hot glue.
Install ESP8266
In order to be able to control the LED strip, an ESP8266 must of course be installed. This microcontroller will later take over the control of the LED strip.
The ESP8266 is available in different versions. For installation in the SlotClock, I recommend using the "Wemos D1 Mini".
Now you should prepare the wires to be soldered to the ESP8266.
Cut the cable to the correct length...
To make it easier to solder the cables later, you should now tin the cable ends with a little solder.
...soldering.
The connections should be connected as follows.
ESP8266 | Line color | LED strips |
5V | Red | 5V |
G | Black | GND |
D4 | Green | DIN |
Connect USB cable and attach cover
Before you close the back of the stand with a cover, you should connect a USB cable to the ESP8266.
A USB cable with a micro-USB connection and relatively small micro-USB plug is best suited for this.
Install LDR for brightness detection
The step described here is optional. It is only necessary if you want your SlotClock to automatically adjust its brightness to the ambient brightness.
You will need the following components.
- 1x LDR
- 1x resistor 1k
- 2x shrink tubing two cm long
- 2x cables approx. five cm long
To connect the cables to the LDR, you should prepare them again.
To do this, remove five mm of insulation from each end of the wires and tin them with a little solder.
To connect the LDR to the ESP8266, you should tin the following contacts of the ESP8266 with some solder.
- 3V3
- A0
After installation, you can screw the cover of the stand back on.
Take care not to damage any cables.
Program firmware
After setting up the pxlBlck_SlotClock, you must now install ESPEasy including the pxlBlck plugin on the ESP8266. How to do this is described in the following article.
Configure pxlBlck plugin
After installing the firmware you have to configure the plugin correctly. You can also find information about this in the article pxlBlck - Install and configure the pxlBlck plugin.
For additional orientation, you can also use the settings from the screenshot shown here.
Animations, icons and commands
More information about the display of animations, icons and the possible commands with which you can configure your pxlBlck can also be found in the following articles.
- pxlBlck - Configure and display animations
- pxlBlck - design icons, transfer them to the pxlBlck and display them
- pxlBlck - Commands for configuring the pxlBlck
Scaling to other sizes and "sealing" LED strips
The WS2812 LED strips are available in different lengths or "densities" (LEDs/m). Theoretically, these (longer LED strips) can also be used to build a SlotClock. Olivier from https://huf.org/wp/ has taken the trouble to create a Google Sheet with which you can easily calculate the scaling factors. With the right factor for your LED strip, you should also be able to print a suitable STL (possibly divided into several parts).
Thank you Oliver 🙂
Link to the Google Sheet:
LEDs per m on the strip | Number of LEDs in the circle | Length [m] | radius [m] | Diameter [m] | Magnification factor to the original 3D model (arithmetic) |
---|---|---|---|---|---|
144 | 60 | 0,417 | 0,066 | 0,133 | 1,000 |
96 | 60 | 0,625 | 0,099 | 0,199 | 1,500 |
74 | 60 | 0,811 | 0,129 | 0,258 | 1,946 |
60 | 60 | 1,000 | 0,159 | 0,318 | 2,400 |
30 | 60 | 2,000 | 0,318 | 0,637 | 4,800 |
Have fun with the project
I hope everything worked as described for you. If not or you have questions or suggestions please let me know in the comments. I will then add this to the article if necessary.
Ideas for new projects are always welcome. 🙂
PS Many of these projects - especially the hardware projects - cost a lot of time and money. Of course I do this because I enjoy it, but if you think it's cool that I share the information with you, I would be happy about a small donation to the coffee fund. 🙂
Looks really cool! Great article, someday I want to build a watch too! Thanks for writing it together.
I'm happy, thank you 🙂
As already written by email, a great project! Thank you for the amount of time you obviously invested in it!
For the design of the base, I have another suggestion in terms of pressure optimization:
If the wall thickness of the subdivisions were a multiple of 0.4mm, the print would be a little faster and cleaner. Otherwise, a very narrow infill is printed for each sub-line, which increases the printing time,
You could of course hack something via the slicer and the infill settings, but it would be cleaner directly in the design :)
Hey Philip,
Thanks. 🙂
And thanks for the hint. Is a good point. I'll implement that and update the STL. 🙂
Best regards
Fab
Hi,
I intend to recreate the clock and have already prepared the ESP with LED strip for this. I made all settings according to this guide. However, the ESP controls only 59 pixels, between 30 and 32 seconds a pixel is missing. What could have gone wrong with me?
Greetings Myrng
Hi Myring,
did you flash the firmware with the Arduino IDE (i.e. the current code) or did you use the precompiled binaries? I plan to have the binaries created automatically (so far I've added them to the repository manually), which means that the binaries are not up to date.
Yesterday I fixed an error that sounds similar to the one you described. So if you flashed the binary let me know. Then you can try programming from the Arduino IDE or I'll update the binary manually. 🙂
Best regards
Fab
Yes, I took the finished binary. Will try again with the IDE. I've already done quite a lot with ESPs, but haven't found ESPeasy that intuitive so far, hence the finished IDE.
Greetings Myrng
Yes, I had the same problem at first. It's like everything else: once you've dealt with it, it becomes easier. 😀 (Sorry for the stupid advice). Flashing the firmware is ultimately relatively easy. So if you've already flashed firmware onto the ESP using the Arduino IDE, you should be able to do it. 🙂 If you want, please let me know if it worked and the error in it has been fixed. 🙂
Best regards
Fab
The clock is ready and the self-compiled version works! No more errors with missing LEDs 🙂
Great, I'm happy! 🙃 Then have fun with it!
hey fab,
Awesome, almost got it 😀
Mega sense of achievement right now 🙂
I just did it a bit differently than you did, made the clock itself twice as big, i.e. two LEDs should be controlled per second, so I use a total of 120 LEDs.
Is there a way to adjust these changes in the ESP-Easy user interface?
Thanks and regards,
Luke
Hey Lukas,
great, I'm glad. 🙂
This option is not (yet) available in the user interface. But if you give me some time, it should be possible (at least in the code). 🙂
Best regards
Fabian
hey fab,
All right, I'll just wait a little longer, thanks! 🙂
I still have a small question, I've now built the small clock from Fun again, now the big clock has a little brother 😀
There I have the problem that the user interface shows me the message that no RTC has yet been selected for display. I then read up a bit on the net, do I still need an additional RTC module or does the clock normally query the time via the WIFI?
maybe Did I miss something in the settings, or do I have to activate something else?
Otherwise everything works great, keep checking the clock :DD
Hey Lukas,
could it be that it said something about "...NTP..."? 🙂 You don't necessarily have to have an RTC installed. If the pxlBlck is connected to a WLAN, it is more accurate/easier to retrieve the time via NTP. I have written an article explaining how you can configure the whole thing: https://nerdiy.de/howto-espeasy-ntp-zeitabruf-aus-dem-internet-aktivieren/
I hope everything works out. 🙂
Best regards
Fabian
hey fab,
Yes everything worked, thanks to your instructions everything is working now.
Thanks for the cool projects!
Best regards,
Luke 🙂
Great, I'm glad. 🙂
Thank you and best regards
Fabian
Hey, that's a super cool project!
You get itchy fingers watching it. Unfortunately, it is impossible for me to get the individual components (round plexiglass pane) and my neighbor's 3D printer is too small for it.
You don't happen to be offering these parts for sale, do you?