HowTo: Electronics – Build seven segment LED digit called “pxlDigit” from WS2812 LEDs

For another project I urgently needed a relatively large number to indicate a duration. From this this small “sub-project” emerged. Because with the 3D printed frame described here and a couple of WS2812 LEDs you can easily build a seven-segment number (or several) and use it to build displays to show numbers.

Over time, I noticed that these types of digits are suitable for all kinds of projects. For example, I’ve already used it to build a clock.

Maybe you also have a new use for it. I’m curious what comes to your mind. Then please leave me a comment. 🙂

How you build such a number is described in the following article.


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

Helpful Articles:
Before you start with this article, you should have dealt with the basics of soldering. You can find information on this in the following article.

Required material:

In the following list you will find all the parts you need to implement this article.

Required tools:

In the following list you will find all the tools you need to implement this article.


Collect the parts you need

To build a number you need the following parts:

  • 3D printed frame
  • 7x 2x LEDs of a 60LED / m WS2812 strip
  • approx.15cm 3-pole cable

Another view of the required parts

The STL files for printing on your 3D printer can be found in the repository under the following link.


Prepare the LED elements

So that you can easily glue the LED elements into the frame later, you should first prepare them.

The first thing to do is tin-plate the contacts on the LED strip.

Now you should cut six 3cm long pieces from the three-core cable.

You can then strip the cut off pieces of line and the rest of the line about five mm at the ends.

… and tin it with some solder.

So prepared, you should easily connect the lines with the prepared LED strips …

… be able to solder.

Make sure that you solder the lines to the end of the LED strip where the arrow points to the LED.

This is the data input of the first LED on the LED strip. Soldered this way you can avoid mistakes later when finally soldering the LED strips.


Install LED elements in the housing

After you have prepared the LED strips, it is now time to glue them into the 3D printed frame. At that time (the pictures shown here were unfortunately taken a while ago) I did not record every single step. But there are detailed recordings of every connection which hopefully make it possible to understand the steps. 🙂

As a “rough guide” you can use this circuit diagram as an overview.

The individual LED segments are connected in the following order.

  • below
  • bottom right
  • top right
  • above
  • top left
  • center
  • bottom left

The connections marked in blue are only drawn for the sake of completeness. These are of course already available. Otherwise “red” corresponds to the 5V supply and “black” to ground.

Before you solder the individual LED strips together, you should glue the individual LED strips into the frame as shown.

Another view of the glued in but not yet soldered LED strips.

As soon as you have soldered all of the LED strips, your number should look something like this.

In the following paragraphs there are detailed recordings of the individual connections.

View of the intersection where the segments bottom-right, middle and top-right meet.

You can see there that the lower-right segment is connected to the upper-right segment.

Of course, “5V” should be connected to “5V”, “GND” and “DO” of one LED strip with “DI” of the other LED strip for all connections.

View of the intersection where the segments bottom-left, middle and top-left meet.

You can see there that the lower-left segment is connected to the upper-left segment.

Upper right corner view. Here the upper-right segment is connected to the upper segment.

Lower right corner view. Here the lower-right segment is connected to the lower segment.

Lower left corner view. No segments are connected here.

But you can see how the supply line (via which energy and data will later be “sent” to the LED strips) is led out of the frame.

Upper right corner view. The upper-left segments and the upper segment are connected here.

Middle segment view.

It can be seen here that the upper-left segment is connected to the middle segment and the middle segment is in turn connected to the lower-left segment.


Install forwarding to the next digit

In the event that you want to build up several digits, you can also interconnect them. That means the data output of the first digit is passed on to the data input of the second digit, and so on. To do this, of course, you have to lead the data output out of the digit that has just been created.

Solder a single wire to the “D0” output of the LED strip in the lower left segment.

You can then lead this line out through the hole for the supply line.


Insert the diffuser

So that the light of the LEDs in a single segment is diffused a little better later, and the illumination is thus more even, you should now insert a diffuser into the segment. A small strip of paper is relatively suitable. You can cut this strip yourself. In the event that you have a paper plotter available, you can also have it cut to size. The template for this is linked in the material list area.

Before you can insert the paper strip, you have to …

… bend it slightly together.

Top view of the inserted diffuser.

The seven paper strips should then be able to be inserted into the individual segments as shown.

Another view of the inserted diffuser paper strips.

Make sure that the diffusers do not protrude from the 3D printed frame.


Glue on the paper front panel

There are several ways to attach a front panel. The installation of a 3D printed faceplate is described in the next paragraph. This section describes how you can stick a paper cover, which is best cut with a paper plotter, as a front cover. To do this, you should plot the bezels on self-adhesive “label paper”. So you can easily peel it off and stick it to the 3D printed frame.

After you have plotted the front panel, you can carefully remove it from the backing paper …

… and stick it to the 3D printed frame.

Then you should put the whole number on the front and press the front panel longer with the help of a heavy object.

The glued-on front panel should then look something like this. 🙂


Attach the 3D printed faceplate

It is best to print the 3D printed front panel from transparent or white filament. (Of course, light must be able to shine through. 🙂 ) In the pictures shown, I used transparent filament to make panels for the pxlBlck_digitClock. These are then attached to the frame of the digit with some hot glue.

These images are an excerpt from the assembly images of the pxlBlck_digitClock.

You can see the four 3D printed front panels here.

To connect this with the frame of the respective digit is enough …

… to put a small drop of hot glue on one …

… and the other side.

Then you can quickly place the front panel on the frame of the respective number.

The front panels center themselves on the frame of the digits and, thanks to the hot glue, shouldn’t be able to fall out.

Another view.

View of the digits including 3D printed front panels during operation.


Code for control using an Arduino

An example of how you can control this type of seven segment display with an Arduino, for example, I will post in the coming days and then link it here. 🙂 can be found in the following article

This includes a first use case how you can use the “pxlDigit’s”. The linked Arduino code will hopefully help with the first programming work. I will soon write a separate article about how to program the pxlDigit’s. 🙂


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

20 comments

      1. Hallo!
        Kann es sein, dass im Repo die Dateien für den Doppelpunkt fehlen? Kann natürlich auch durchaus sein, dass ich es einfach nicht gefunden habe, da ich in Sachen 3D Druck noch nicht sehr erfahren bin.

        1. Hey Stefan,
          ja da hast du Recht. Ich füge die STL-Dateien dafür noch hinzu. Falls sie morgen noch nicht drin sind, erinnere mich bitte nochmal. 🙂
          Beste Grüße
          Fabian

          1. Vielen Dank für die schnelle Erledigung! Nun muss ich nur noch schauen, was ich für Pipes nehmen und was für einen Codeschnipsel ich zum ansteuern benutze.

          2. Hey Stefan,
            Gerne. 🙂 Ich habe 8mm Aluminiumstäbe genommen. Die Anleitung dazu gibt es auch bald. Ich arbeite quasi schon dran. 🙂
            Ein kleiner Codeschnipsel zur Ansteuerung sollte auch diese Woche noch online gehen. 🙂

            Viel spaß beim basteln.
            Beste Grüße
            Fabian

  1. I’m also eagerly awaiting the instructions for the aluminum rods, code snippet! I’m also guessing you changed your wiring around some to have the wires ending on the sides instead of going down. Awesome project!

    1. Hey Matthew,
      thanks for the kind words. 🙂
      I posted some minutes ago another project that uses this digits. There is also an Arduino Sketch linked were some of the digit functionality is implemented. You can fnd the article here: https://nerdiy.de/en/howto-arduino-timer-time_timy-zur-visualisierung-von-zeitdauern-bauen/

      Also I implemented these digits in my pxlBlck project. Most of the implementation is starting here: https://github.com/Nerdiyde/pxlBlck/blob/61e7425560fc868f5b20d4f1727bdc72e65b99fc/plugin/ESPEasy/_P205_pxlBlck.ino#L4271
      I hope this is enough for a first start. I’m also working on the build instructions for the “aluminum rod”-version. But of course this needs some more time. 🙂
      Best regards
      Fab

  2. The list says 144leds/m but instructions say 60/m which is it because the link takes you too 144/m

    1. Hey david,
      thanks for letting me know. I corrected the typo in the material list. Actually its a 60LEDs/m. The links should take you to shop where you have to select the correct kind of led stripe. 🙂
      best regards
      Fab

  3. I am building a 16 rocket semi-simultaneous launch control system for the Cub Scouts. Looking to “amp up” the excitement with an “NASA-Apollo-style” countdown & message clock. Need to source six of 8″-12″ 7-segment displays. Need to be low power (running on batteries in the middle of the rocket field). But need to be “daylight readable” (viewed from 25′-100′ across the field in the middle of July sunny days. Thanks for any suggestions.

    1. Hey Robert,
      from my point of view it should be possible to build this. Battery operation is of course possible with a suitable battery. The countdown could be started via wifi in case you want to use a wifi capable microcontroller.
      Best regads
      Fab

Leave a Reply

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