HowTo: pxlBlck - build pxlDigit_clock with the pxlDigit PCB

I got the idea for the pxlDigit_PCB while building the pxlDigit (article here: https://nerdiy.de/howto-elektronik-sieben-segment-ziffer-pxldigit-aus-ws2812-leds-bauen/) have come.

Dort wird das pxlDigit aus einzelnen WS2812-LED-Segmenten aufgebaut. Dazu müssen die LEDs zuerst in das 3D gedruckte Gehäuse eingeklebt und dann im Gehäuse miteinander verlötet werden. Besonders dieser Schritt ist aufgrund des mangelnden Platzes gar nicht so leicht. :/

Deswegen habe ich das pxlDigit_PCB entworfen. Darauf können die LEDs, der ESP8285 und die restliche Elektronik installiert werden. So kann man erst die gesamte Platine aufbauen, testen und programmieren und dann in das 3D gedruckte Gehäuse des pxlDigit bzw. der pxlDigit_clock einsetzen.

Dank des integrierten USB-C-Anschluss kann das pxlDigit auch direkt mit Strom versorgt und falls notwendig die Firmware programmiert werden.

In addition, the following (optional) components can be installed on the PCB:

  • BME280 Climate Sensor
  • TSL2591 Brightness sensor
  • MPR121 Touch sensor for up to 12 touch electrodes

Damit das pxlDigit PCB richtig wirkt sollte es in das 3D gedruckte Gehäuse eingebaut werden. So wird das Licht der LEDs besser verteilt und die einzelnen Ziffern lassen sich leicht zu einem größeren Display kombinieren. So könnt Ihr die Ziffern nutzen um zum Beispiel einen Follower-Counter, eine Spielstands-Anzeige oder auch eine Uhr zu bauen.

Für den Aufbau der Uhr werden vier Ziffern benötigt, welche dann auf eine 3D gedruckte Basis montiert werden. So lässt sich die aktuelle Stunden- und Minutenzahl anzeigen.

Natürlich gibt es noch weitere Möglichkeiten das pxlDigit_PCB als Anzeige zu nutzen. Die im folgenden Artikel gezeigte pxlDigit_clock ist ein erstes Beispiel. 🙂

Der Aufbau der Uhr “pxlBlck_digitClock” ist im folgenden Artikel beschrieben.


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 SMD soldering tasks. The following articles contain tips for this.

Required tools:

QuantityitemLink
1xLötkolbenBuy at Amazon
1xUSB-LötkolbenBuy at Amazon
1xDritte-HandBuy at Amazon
1xLötspitzenreinigerBuy at Amazon
1xHot glue gunBuy at Amazon
1xSLA 3D-DruckerBuy at Amazon
1xM2 Innen-GewindeschneiderBuy at Amazon
1xM3 Innen-GewindeschneiderBuy at Amazon
1xM8 Innen-GewindeschneiderBuy at Amazon
1xM8 Außen-GewindeschneiderBuy at Amazon
1xTorx SchraubendreherBuy at Amazon

Required material:

QuantityitemLink
1xM2x6 MadenschraubeBuy at Amazon
6xM2x6 SenkkopfschraubeBuy at Amazon
3xM3x6 MadenschraubeBuy at Amazon
1xM3x50 Senkkopfschraube Buy at Amazon
6xM2 Gewindeeinsatz Buy at Amazon
3xM3 thread insert Buy at Amazon
3xZylindermagnet 5x2mm Buy at Amazon
1xZylindermagnet 10x5mmhttps://www.supermagnete.de/scheibenmagnete-neodym/scheibenmagnet-10mm-5mm_S-10-05-DN
1x623 Kugellager Buy at Amazon
2x608 Kugellager Buy at Amazon
1xJST SH Anschlusskabel Buy at Amazon
1xELEGOO ABS-Like 3D Drucker Resin Buy at Amazon
1xKeber Buy at Amazon
1x10x2mm Alurohr Buy at Amazon
1xLötzinn Buy at Amazon
1xUSB Netzteil Buy at Amazon
1xUSB-C Kabel Buy at Amazon

Die benötigten Komponenten zur Bestückung des pxlDigit PCBs findet Ihr in der folgenden Datei.

Falls es aktuellere Versionen der pxlDigit Platine gibt, findet Ihr die verfügbaren Versionen in dem Git Repository unter:


Der Aufbau der pxlDigit Platine

In the past I often inserted single pictures here to show which components have to be soldered where on the PCB.

An even better way to get an overview of which components belong where on the PCB is shown in the following paragraph. Thanks to the work of OpenScope Project you can now generate very helpful HTML files in which you can directly see which components have to be installed where on the PCB.

You can see the overview for the pxlDigit_PCB here: pxlDigit_PCB

The current file can also be found in the GIT repository under the following link:
https://github.com/Nerdiyde/pxlDigit_PCB/blob/main/PCB/pxlDigit_PCB_v1.2_bom.html
(Please note that you have to download the HTML file to view it. Directly from the GIT repository this is not possible).

PCB ManufacturingAll infos you need for the production of the PCBs can be found here:


Die benötigten Materialien zum Aufbau der pxlDigit_clock

Im folgenden Abschnitt sind die benötigten Teile kurz beschrieben.

Die benötigten STL Dateien zum 3D Drucken der Gehäuseteile findet Ihr im GIT Repository unter folgendem Link.

Wie Ihr Dateien aus einem GIT Repository herunterladen könnt ist in folgendem Artikel beschrieben.

Für den Aufbau benötigt Ihr dann die folgenden Teile.

  • 3x aufgebaute “slave” pxlDigit PCB
  • 1x aufgebautes “master” pxlDigit PCB
  • 4x 3D gedrucktes Gehäuse
  • 3D printed base
  • 28x 3D gedruckter Diffusor aus transparentem Filament
  • 8x M3x8 Zylinderkopfschraube
  • USB-Breakoutboard
  • Wifi Patch Antenne mit UFL Anschluss
  • 3x 25cm Leitung 0.2mm² in (z.B.) Rot
  • 3x 25cm Leitung 0.2mm² in (z.B.) Schwarz
  • 3x 25cm Leitung 0.2mm² in (z.B.) Grün
  • 15cm Leitung 0.2mm² in (z.B.) Rot
  • 15cm Leitung 0.2mm² in (z.B.) Schwarz

Im folgenden seht Ihr ein paar Nahaufnahmen der benötigten Teile.


Die pxlDigit Platinen für den Einbau vorbereiten

Als erstes solltet Ihr die vorbereiteten Platinen mit den notwendigen Anschlüssen und Leitungen verbinden.

Dazu benötigt Ihr die vier aufgebauten pxlDigit Platinen. (3x Slave Version, 1x Master Version)

Dabei sollte eine Platine mit USB-C Anschluss, ESP und der zur Programmierung benötigten Elektronik ausgestattet sein. Die drei restlichen Platinen müssen nur mit den LEDs bzw. den dafür notwendigen Komponenten bestückt sein.

Weiterhin benötigt Ihr die vorbereiteten Leitungen.

  • 3x 25cm Leitung 0.2mm² in (z.B.) Rot
  • 3x 25cm Leitung 0.2mm² in (z.B.) Schwarz
  • 3x 25cm Leitung 0.2mm² in (z.B.) Grün
  • 15cm Leitung 0.2mm² in (z.B.) Rot
  • 15cm Leitung 0.2mm² in (z.B.) Schwarz

Verzinnt dann die Anschlusspads auf dem pxlDigit PCB…

… mit etwas Lötzinn.

Außerdem solltet Ihr auch die Leitungen vorbereiten indem Ihr die Leitungsenden abisoliert…

… und mit etwas Lötzinn verzinnt.

Dann könnt Ihr die Leitungen wie abgebildet…

… mit dem pxlDigit PCB verlöten.

Wiederholt dies für alle “slave” PCBs (PCBs auf denen nur die LEDs bestückt sind).

Das PCB welches mit den LEDs und der zum Betrieb notwendigen Elektronik (ESP & Co) bestückt ist (Master Version) solltet Ihr dann noch mit den übrigen beiden Leitungen verlöten.

Diese beiden Leitungen werden nur an die Kontakte

  • GND
  • 5V

angeschlossen.


Die Gehäuseteile vorbereiten

Damit Ihr die vorbereiteten PCBs in die Gehäuseteile einbauen könnt, solltet Ihr nun die Gehäuseteile vorbereiten.

Test

Dazu benötigt Ihr

  • 4x 3D gedruckten Platinenhalterungen
  • die 3D gedruckte Basis
  • 8x M3x8 Zylinderkopfschrauben

Eine der Platinenhalterungen solltet Ihr zunächst etwas bearbeiten. So passen später neben dem USB-C Anschluss auch die Anschlussleitungen durch die gezeigte Öffnung.

So könnte die fertig bearbeitete Platinenhalterung aussehen.

Nun solltet Ihr jeweils zwei M3x8 Zylinderkopfschrauben wie gezeigt durch die Basis stecken.

Um dies zu erleichtern könnt Ihr die Platinenhalterung als Ablage nutzen.

Verschraubt die Basis dann wie gezeigt mit der Platinenhalterung.

Other view.

Other view.

Wiederholt diesen Schritt für alle vier Platinenhalterungen.

Other view.


Die vorbereiteten Platinen in das Gehäuse einbauen

Nun könnt Ihr die Platinen in die Halterungen einbauen.

Dazu benötigt Ihr die vorbereiteten pxlDigit PCBs und die vorbereitete Halterung.

Setzt das erste (slave) PCB an der Ziffer rechts außen an und fädelt die Leitungen wie gezeigt durch die Öffnungen im Gehäuse.

Other view.

Other view.

Die Datenleitung welche auf dem pxlDigit PCB mit dem LIN Pin verbunden ist (in diesem Beispiel die rosa Leitung) solltet Ihr dann wie gezeigt durch die Öffnung des nächsten PCBs fädeln.

Other view.

Dann könnt Ihr das PCB wie gezeigt in das Gehäuse einlegen.

Wiederholt die vorherigen Schritte nun für das nächste pxlDigit PCB.

Other view.

Nachdem Ihr die Leitungen wie zuvor durch die Öffnungen gefädelt habt, könnt Ihr die Datenleitung des vorherigen PCBs mit dem LOUT Pin des aktuellen PCBs verlöten.

Other view.

Wiederholt dies dann nochmal bis Ihr alle slave PCBs und das Master PCB in Position habt.

Beim Master PCB wird natürlich nur der LOUT Pin mit der Datenleitung des vorherigen PCBs verbunden.

Other view.

Bevor Ihr das Master PCB in die Halterung einsetzt, solltet Ihr nun noch die WiFi Antenne anschließen.

Führt dazu die Anschlussleitung der Antenne durch die Öffnung in der Halterung.

Der UFL Anschluss der Antenne sollte dann…

… auf dem UFL Sockel auf dem master PCB angeschlossen werden.

Die Antenne könnt Ihr dann wie gezeigt …

... glue into the base.

Now you can already put all PCBs into the case.

At this point I recommend to test the setup already. You can already install the firmware and test that all LEDs are controlled correctly.

So that the PCBs are securely fixed in the holder...

... you can fix them with a drop of hot glue if necessary.

The current structure should now look something like this.

At this point you can combine the power supply lines as shown.

Then thread all the wires to the side of the master PCB.

To connect these lines to the USB Breakout, you should first connect the contacts

  • GND
  • VBUS

tin with a little solder.

Then you can connect the power supply lines as shown....

... solder to the USB breakout board.

Make sure that no short circuits occur to the neighboring contacts.

You can then use the USB Breakout Board...

... with a little hot glue...

... glue into the base as shown.

Other view.

Other view.

Other view.

At this point you should also do a small function test. The pxlDigit_clock should now be able to be supplied with power via the USB port of the breakout board.


Insert the diffuser

The light from the LEDs in the individual segments only really works well when it is evenly distributed. This is achieved very well by inserting diffusers into the housing.

For this you need the prepared pxlDigit_clock and 28 3D printed diffuser parts.

The insertion works very easily if you let the base of the case protrude over a table edge as shown.

Then you can insert the diffusers as shown. If they are too loose in the housing, you can also glue them with a small drop of glue in the housing.

Once you have all the diffusers in place, your setup should look like this.

Other view.

Other view.

In operation, thanks to the diffuser should then result in a uniform light distribution.


Program firmware

I am currently working on a simple Arduino library to control the pxlDigits. Until this is finished you can also use the pxlBlck firmware use. This already supports the LED matrix form of the pxlDigit and also offers useful functions for automation and control via WiFi or the serial interface. General info about the pxlBlck plugin can also be found here:

Information about the installation of the pxlBlck plugin can be found here:


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.


pxlBlck Usecases

Unter dem Tag “pxlBlckUsecase” sind Artikel aufgelistet in denen Ihr Beispiele zur Verwendung findet. Darin ist auch erklärt wie Ihr Euren pxlBlck entsprechend konfigurieren könnt.


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.


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

Buy Me a Coffee at ko-fi.com       

Kommentar hinterlassen

Your email address will not be published. Erforderliche Felder sind mit * markiert

This site uses Akismet to reduce spam. Learn how your comment data is processed.