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.
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 stores listed here are so-called affiliate links. If you click on such an affiliate link and store via this link, Nerdiy.de receives a commission from the online store 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. 🙂
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.
- Electronics—My friend the soldering iron
- Electronics – Soldering THT components by hand
- Electronics - Soldering SMD components by hand
In the following list you will find all the parts you need to implement this article.
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.
- bottom right
- top right
- top left
- 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.
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. 🙂
Have fun with the project
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. 🙂
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 that I share this information with you, I would be happy about a small donation to the coffee box. 🙂
Great work! Thank you for the great projects!
Thanks very much! 🙂 Thanks for the coffee too! 🙂
Could it be that the files for the colon are missing in the repo? Of course, it may well be that I just didn't find it, since I'm not very experienced in 3D printing.
Yes, you're right. I'll add the STL files for it. If they're not in by tomorrow, please remind me again. 🙂
just added the STLs. 🙂
Have fun? with it
Thank you very much for the fast completion! Now I just have to see what kind of pipes I use and what kind of code snippet I use to control them.
Gladly. 🙂 I took 8mm aluminum rods. Instructions for this will be available soon. I'm almost working on it. 🙂
A small code snippet for control should also go online this week. 🙂
Have fun tinkering.
Hello when the rest comes the control and the connection from the arduino mfg
good morning thomas,
You can find an example of how to connect to an Arduino Nano in the following article: https://nerdiy.de/howto-arduino-timer-time_timy-zur-visualisierung-von-zeitdauern-bauen/
I hope that helps. 🙂
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!
Thanks for the kind words. 🙂
I posted a few 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. 🙂
The list says 144leds/m but instructions say 60/m which is it because the link takes you too 144/m
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. 🙂
Thanks for updating I will be buying you more coffee.
Thanks a lot 🙂
I am building a 16 rocket semi-simultaneous launch control system for the Cub Scouts. Looking to "amp up" the excitement with a "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.
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.
How did you route the cables out of the clock case and where did you place the microcontroller?
How did you connect the dots to the other digits?
Unfortunately, I haven't created a detailed tutorial for assembling the clock yet. But you can get a few impressions from the following postings on my Instagram channel:
Microcontroller (installed on a custom PCB behind an LED segment):
I came across the project a few days ago and would like to rebuild it so that an input is made via a 4×4 keypad. Nano, Keypad and WS2812 are already there.
what would I have to build in, so that the entered number is also displayed on the 7 segment?
For us it's all about the lap time in sport.
Thanks very much
you would then have to build up a corresponding number of digits and link them together. Then adjust the code accordingly so that the time you enter via the keypad is shown on the display. 🙂
I did something similar here. maybe you can use parts of the code: https://nerdiy.de/howto-arduino-timer-time_timy-zur-visualisierung-von-zeitdauern-bauen/
Very cool project. I would like to rebuild that. Could you post the code and schematic for the clock? Thank you very much
look here: https://nerdiy.de/de_de/howto-pxlblck-pxldigit_clock-mit-dem-pxldigit-pcb-aufbauen/
At least the firmware is linked there. 🙂