HowTo: pxlBlck – Build your own pxlBlck_SlotClock

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 adjusted. 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.

Your own pxlBlck_SlotClock could look like this.

Safety instructions

I know the following hints are always a bit annoying and seem unnecessary. But unfortunately, many people who knew it "better" from carelessness lost their eyes, fingers or other things or hurt themselves. In comparison, a loss of data is almost not worth mentioning, but even these can be really annoying. Therefore, please take five minutes to read the safety instructions. Even the coolest project is worth no injury or other annoyance. https://www.nerdiy.de/en/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 shop via this link, Nerdiy.de receives a commission from the online shop or provider concerned. The price doesn't change for you. If you do your purchases via these links, you will support Nerdiy.de in being able to offer further useful projects in the future. 🙂


Requirements

For the assembly you have to master soldering tasks. The following articles provide tips on how to do this.

Required tools:

Required material:

In the following list you will find all the parts you need to assemble.


Overview

Here you can see a small overview of how the display of animations and the time on the pxlBlk_SlotClock can look.


Collect the parts you need

Before you can start building your own slotClock, you should have the required parts together.

To assemble the slotClock you need the following parts.

  • 1x WS2812 or SK6812 LED strip 144LEDs / m 60 LEDs long
  • 1x round Acrylic glass disc, 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 cables approx. 10cm long

You can find the STL files for printing on your 3D printer in the repository for the pxlBlck_SlotClock under the following link.


Prepare the LED strips

First, you should prepare the LED strip for installation.

To do this, insulate the ends of the three wires approx. 5mm…

… and tin them with a little solder.

Now also tin-plates the contacts on the LED strip as shown.

Another view of the tinned contacts of the LED strip.

Now solder the prepared lines to the corresponding contacts as shown.

Here the red line is connected to the 5V contact, the black line to the GND contact and the green line to the DIN contact of the first LED.

The signal line is connected to the DIN contact directly on the first LED. This makes it easier to install the LED strip later.

Another view of the LED strip including the soldered lines.


Place the LED strip in the holder

The prepared LED strip can now be inserted into the holder.

For this you need the prepared LED strip and the 3D printed bracket of the SlotClock.

You should now start putting the wires from the front …

… through the hole shown in the led mount.

Make sure that the lines lead away from the LED strip towards the base.

Now it gets a bit tricky: The lines should now be brought together in such a way that they do not jam when the LED strip is pushed in.

Note: The bracket in the picture looks a little different than the STL file offered above. The STL file is the correct version. Only in this way the twelve and six o’clock positions are aligned vertically.

Another view.

Note: The bracket in the picture looks a little different than the STL file offered above. The STL file is the correct version. Only in this way the twelve and six o’clock positions are aligned vertically.

Then you can slowly put the LED-strip over the entire circumference as shown …

… into the gap in the LED mount.

The end of the LED strip could slightly overlap with the beginning of the LED strip.

Note: The bracket in the picture looks a little different than the STL file offered above. The STL file is the correct version. Only in this way the twelve and six o’clock positions are aligned vertically.

Make sure that there are no short circuits.

Note: The bracket in the picture looks a little different than the STL file offered above. The STL file is the correct version. Only in this way the twelve and six o’clock positions are aligned vertically.

If necessary, you can stick some hot glue or insulating tape behind the end of the LED strip to avoid any short circuits.

As soon as you have completely inserted the LED strip everywhere, your SlotClock should look like this.


Mount the base

The base is there (as the name suggests) to make the SlotClock upright. It also houses the ESP8266 to control the LED strip.

For the assembly you need the base, two self-tapping 2×6 screws and the prepared LED strip holder.

Now guide the cables through the hole in the base as shown and lay it …

… congruent on the back of the LED strip holder.

Now you can mount the bracket using the two screws …

… screw it to the LED strip holder.

Be careful not to over tighten the screws.

Another view of the screwed in screws.

The LED strip holder should now be firmly screwed to the stand.


Insert the front screen

To cover the LED strip you can now insert a plexiglass plate into the LED strip holder.

To do this, you need the prepared unit consisting of the LED strip holder and stand as well as a 3mm thick Plexiglas pane with a diameter of 133mm.

You can then simply put the acrylic glass …

… into the LED strip holder from the front.

The acrylic glass plate should now hold itself in the LED strip holder.

If you want to attach the acrylic glass plate additionally, you can now …

… put on the 3D printed retaining ring as shown.

Another view of the inserted acrylic glass plate incl. Retaining ring.


Install weights in the stand

The SlotClock should now stand upright by itself. Nevertheless, you should install two additional weights in the base to increase the stability.

Two M8x25 screws are very suitable as weights.

Now insert the screws as shown …

… into the recesses in the base.

To prevent the screws from falling out, you can glue the screws in with a drop of hot glue.


Install ESP8266

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 the installation in the SlotClock I recommend using the “Wemos D1 Mini”.

Before installing the ESP8266 you should …

… tin the following contacts with some tin solder.

  • 5V
  • G
  • D4 (or D6)

Now you should prepare the lines to be soldered to the ESP8266.

Cut the cable to the correct length …

… and…

… removes the insulation of the lines by approx. five mm.

To make it easier to solder the lines later, you should tin the ends of the lines with some solder.

Then you can solder the prepared lines with the prepared ESP8266 …

…together.

The connections should be connected as follows.

ESP8266Line colorLED-Stripe
5VRed5V
GBlackGND
D4GreenDIN

After you have soldered the wires, you can insert the ESP8266 into the stand …

… and fix with a little hot glue.


Connect the USB cable and attach the cover

Before you close the back of the stand with a lid, you should connect a USB cable to the ESP8266.

A USB cable with a micro-USB connector and a relatively small micro-USB plug is best for this.

Plug the USB cable into the micro USB port of the ESP8266 as shown.

Another view of the connected USB cable.

Now you can put the lid …

… place it on the stand …

… and screw it to the stand with the four self-tapping 2×6 screws.

The line of the USB cable should be led out of the stand through the recess as shown.

Your SlotClock should now look like this.


Install LDR for brightness detection

The step described here is optional. It is only necessary if you want your SlotClock to be able to automatically adjust its brightness to the ambient brightness.

You will need the following components for this.

  • 1x LDR
  • 1x resistor 1k
  • 2x shrink tubing two cm long
  • 2x lines about five cm long

So that the connections of the LDR can be led into the housing, you must first …

… drill two 1mm holes in the base.

Now remove the cover flap from the stand …

… and fold the ESP8266 upwards without damaging the soldered cables.

Now you can use the 1k resistor as shown …

… and solder it to the underside of the ESP8266.

You can then insert the connection pins of the LDR through the previously drilled holes as shown …

… and stick it in the base.

In order to connect the lines to the LDR, you should prepare them again.

To do this, remove five mm of the insulation at both ends of the cables and tin them with a little solder.

Then solder the wires …

… with the connections of the LDR and …

… isolate the exposed contacts of the LDR with some shrink tubing.

You can then roughly stow the cables of the LDR in the base.

In order to then connect the LDR to the ESP8266, you should tin the following contacts of the ESP8266 with some solder.

  • 3V3
  • A0

Then connect the first connection line of the LDR …

… with the contact “A0” of the ESP8266.

You then connect the other connection line to the “3V3” connection of the ESP8266.

Your structure should be completely soldered and …

… look like this.

After the installation you can screw on the cover of the base again.

Be careful not to damage any cables.


Programming firmware

After setting up the pxlBlck_SlotClock, you now have to install ESPEasy including the pxlBlck plug-in on the ESP8266. How you can proceed 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 on this in the article pxlBlck – Install and configure the pxlBlck plugin.

As an additional orientation, you can also use the settings from the screenshot shown here.


Animations, icons and commands

You can find more information on the display of animations, icons and the possible commands with which you can configure your pxlBlck in the following articles.


Scaling to other sizes or LED strip “densities”

The WS2812 LED strips are available in different lengths or “dense” (LEDs/m). In theory, these (longer LED strips) can also be used to build a SlotClock. Oliver from https://huf.org/wp/ has taken the trouble and created a Google Sheet with which you can easily calculate the scaling factors. With the factor that fits your LED strip, you should also be able to print a suitable STL (if necessary divided into several parts).

Thank you Oliver! 🙂

Link to the Google Sheet:

LEDs per m
on the strip
Number of LEDs
in a circle
Length [m]Radius [m]Diameter [m]Magnification factor
to the original 3D model
144600,4170,0660,1331,000
96600,6250,0990,1991,500
74600,8110,1290,2581,946
60601,0000,1590,3182,400
30602,0000,3180,6374,800
Here you can see an excerpt from the Google Sheet.

I hope everything worked as described. If not or you have any other questions or suggestions, please let me know in the comments. Also, ideas for new projects are always welcome. 🙂

Fab

P.S. 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 appreciate it that I share these information with you, I would be happy about a small donation to the coffee box. 🙂

Buy Me a Coffee at ko-fi.com

16 comments

  1. Sieht echt cool aus! Klasse Artikel, irgendwann will ich mir auch mal eine Uhr bauen! Danke fürs Zusammenschreiben.

  2. Wie schon per Mail geschrieben ein super Projekt! Danke für die viele Zeit die du darin offensichtlich investiert hast!
    Zum Design der Base habe ich noch einen Vorschlag in Sachen Druckoptimierung:
    Wenn die Wandstärke der Unterteilungen ein vielfaches von 0.4mm wäre, würde der Druck noch etwas schneller und sauberer gehen. Gerade druckt man ansonsten bei jeder Unterleitung einen ganz schmalen Infill mit was die Druckzeit nach oben treibt,
    Man könnte natürlich über den Slicer und die Infill Settings etwas hacken, aber sauberer wäre es direkt im Design:)

    1. Hey Pilipp,
      Danke. 🙂
      Und danke für den Hinweis. Ist ein guter Punkt. Ich werde das umsetzen und die STL aktualisieren. 🙂
      Beste Grüße
      Fab

  3. Hi,
    ich habe vor die Uhr nachzubauen und habe dafür schon mal den ESP mit LED-Strip vorbereitet. Ich habe alle Einstellungen nach dieser Anleitung gemacht. Der ESP steuert jedoch nur 59 Pixel an, zwischen Sekunde 30 und 32 fehlt ein Pixel. Was kann da bei mir falsch gelaufen sein?

    Gruß Myrng

    1. Hi Myrng,
      hast du die Firmware mit der Arduino IDE (also den aktuellen Code) geflasht oder die vorkompilierten binaries genommen? Ich plane noch die binaries automatisch erstellen zu lassen (bisher füge ich die manuell in das repository ein) was zur Folge hat, dass die binaries nicht auf dem aktuellsten Stand sind.
      Ich habe auch gestern einen Fehler gefixed der so ähnlich klingt wie der von Dir beschriebene. Also falls du die binary geflasht hast sag mir mal bescheid. Dann kannst du es mit dem programmieren aus der Arduino IDE probieren oder ich aktualisiere die binary manuell. 🙂
      Beste Grüße
      Fab

      1. Ja, hab die fertige Binary genommen. Werde es dann nochmal mit der IDE probieren. Hab zwar schon relativ viel mit ESPs gemacht, aber finde ESPeasy bis jetzt nicht so intuitiv, deshalb die fertige IDE.

        Gruß Myrng

        1. Ja ähnliche Probleme hatte ich am Anfang auch damit. Ist wie mit allen Sachen: Hat man sich erstmal etwas damit auseinandergesetzt wird es leichter. 😀 (Sorry für den doofen Ratschlag). Das flashen der Firmware ist aber letztendlich relativ easy. Also wenn du schonmal mit der Arduino IDE firmware auf den ESP geflasht hast, solltest du das hinbekommen. 🙂 Wenn du willst sag mir gerne bescheid ob es geklappt hat und der Fehler darin behoben ist. 🙂
          Beste Grüße
          Fab

          1. Die Uhr ist fertig und die selbst kompilierte Version funktioniert! Keine Fehler mehr mit fehlenden LEDs 🙂

  4. Hey Fab,
    Sau geil, hab es fast hin bekommen 😀
    Mega Erfolgserlebnis gerade 🙂
    Hab nur etwa anders gemacht als du, habe die Uhr an sich doppelt so groß gemacht, sprich Pro Sekunde sollen zwei LEDs angesteuert werden, insgesamt nutze ich also 120 LEDs.

    Gibt es eine Möglichkeit, in der Benutzeroberfläche von ESP-Easy diese Änderungen anzupassen ?

    Danke und Gruß,
    Lukas

    1. Hey Lukas,
      super, freut mich. 🙂
      In der Benutzeroberfläche gibt es diese Option (noch) nicht. Aber wenn du mir ein bisschen Zeit gibst, sollte sich das (zumindest in den Code) einbauen lassen. 🙂

      Beste Grüße
      Fabian

      1. Hey Fab,
        Alles klar, dann warte ich einfach noch ein bisschen, Danke! 🙂
        Hätte noch eine kleine Frage, hab nun die kleine Uhr aus Fun nochmal gebaut, jetzt hat die Große Uhr nen kleinen Bruder 😀

        Dort habe ich das Problem, dass mir in der Benutzeroberfläche die Meldung angezeigt wird, dass noch keine RTC zur Anzeige gewählt ist. Hab mich daraufhin ein bisschen im Netz belesen, benötige ich trotzdem noch zusätzlich ein RTC-Modul oder fragt die Uhr normalerweise die Zeit über das WIFI ab ?
        Vlt. hab ich da auch was in den Settings übersehen, bzw. muss da noch was aktivieren.

        Sonst funktioniert alles super, schaue ständig auf die Uhr :DD

          1. Hey Fab,
            Ja hat alles funktioniert, dank deinen Anleitungen läuft jetzt alles.
            Danke für die geilen Projekte!

            Beste Grüße,
            Lukas 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *