Die Idee zum pxlDigit_PCB ist mir beim Aufbau des pxlDigit (Artikel hier: https://nerdiy.de/howto-elektronik-sieben-segment-ziffer-pxldigit-aus-ws2812-leds-bauen/) gekommen.
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.
Zusätzlich können auf dem PCB die folgenden (optionalen) Komponenten verbaut werden:
- BME280 Klima Sensor
- TSL2591 Helligkeitssensor
- MPR121 Touchsensor für bis zu 12 Touch-Elektroden
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.
Sicherheitshinweise
Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/
Affiliatelinks/Werbelinks
Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂
Voraussetzungen
Für den Aufbau müsst ihr SMD Lötaufgaben bewältigen. Die folgenden Artikel enthalten Tipps dazu.
- Elektronik – Mein Freund der Lötkolben
- Elektronik – THT Bauteile per Hand verlöten
- Elektronik – SMD Bauteile per Hand verlöten
Required tools:
Quantity | Item | Link |
---|---|---|
1x | Lötkolben | Bei Amazon kaufen |
1x | USB-Lötkolben | Bei Amazon kaufen |
1x | Dritte-Hand | Bei Amazon kaufen |
1x | Lötspitzenreiniger | Bei Amazon kaufen |
1x | Heißklebepistole | Bei Amazon kaufen |
1x | SLA 3D-Drucker | Bei Amazon kaufen |
1x | M2 Innen-Gewindeschneider | Bei Amazon kaufen |
1x | M3 Innen-Gewindeschneider | Bei Amazon kaufen |
1x | M8 Innen-Gewindeschneider | Bei Amazon kaufen |
1x | M8 Außen-Gewindeschneider | Bei Amazon kaufen |
1x | Torx Schraubendreher | Bei Amazon kaufen |
Benötigtes Material:
Quantity | Item | Link |
---|---|---|
1x | M2x6 Madenschraube | Bei Amazon kaufen |
6x | M2x6 Senkkopfschraube | Bei Amazon kaufen |
3x | M3x6 Madenschraube | Bei Amazon kaufen |
1x | M3x50 Senkkopfschraube | Bei Amazon kaufen |
6x | M2 Gewindeeinsatz | Bei Amazon kaufen |
3x | M3 Gewindeeinsatz | Bei Amazon kaufen |
3x | Zylindermagnet 5x2mm | Bei Amazon kaufen |
1x | Zylindermagnet 10x5mm | https://www.supermagnete.de/scheibenmagnete-neodym/scheibenmagnet-10mm-5mm_S-10-05-DN |
1x | 623 Kugellager | Bei Amazon kaufen |
2x | 608 Kugellager | Bei Amazon kaufen |
1x | JST SH Anschlusskabel | Bei Amazon kaufen |
1x | ELEGOO ABS-Like 3D Drucker Resin | Bei Amazon kaufen |
1x | Keber | Bei Amazon kaufen |
1x | 10x2mm Alurohr | Bei Amazon kaufen |
1x | Lötzinn | Bei Amazon kaufen |
1x | USB Netzteil | Bei Amazon kaufen |
1x | USB-C Kabel | Bei Amazon kaufen |
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 der Vergangenheit habe ich an dieser Stelle oft einzelne Bilder eingefügt mit denen gezeigt wurde welche Komponenten wo auf dem PCB verlötet werden müssen.
Ein noch besserer Weg um eine Übersicht darüber zu bekommen welche Komponenten an welcher Stelle auf das PCB gehören seht Ihr im folgenden Absatz. Dank der Arbeit von Open Scope Project kann man nun nämlich sehr hilfreiche HTML Dateien generieren in denen man direkt sehen kann welche Komponenten wo auf dem PCB verbaut werden müssen.
Die Übersicht für das pxlDigit_PCB seht ihr hier: pxlDigit_PCB
Die jeweils aktuelle Datei findet Ihr aber auch im GIT-Repository unter folgendem Link:
https://github.com/Nerdiyde/pxlDigit_PCB/blob/main/PCB/pxlDigit_PCB_v1.2_bom.html
(Beachtet dabei bitte, dass Ihr die HTML-Datei herunterladen müsst um sie anzuzeigen. Direkt aus dem GIT-Repository ist dies nicht möglich.)
PCB-Fertigung: Alle infos die Ihr zur Fertigung der PCBs braucht, könnt Ihr hier finden:
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 gedruckte Basis
- 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.
Weitere Ansicht.
Weitere Ansicht.
Wiederholt diesen Schritt für alle vier Platinenhalterungen.
Weitere Ansicht.
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.
Weitere Ansicht.
Weitere Ansicht.
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.
Weitere Ansicht.
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.
Weitere Ansicht.
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.
Weitere Ansicht.
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.
Weitere Ansicht.
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 …
… in den Sockel einkleben.
Nun könnt Ihr bereits alle PCBs in das Gehäuse einlegen.
An dieser Stelle empfehle ich den Aufbau bereits zu testen. Ihr könnt also bereits jetzt die Firmware aufspielen und testen, dass alle LEDs korrekt angesteuert werden.
Damit die PCBs sicher in der Halterung fixiert sind…
… könnt Ihr sie bei Bedarf mit einem Tropfen Heißkleber fixieren.
Der Aktuelle Aufbau solltet nun in etwa so aussehen.
An dieser Stelle könnt Ihr die Stromversorgungsleitungen wie gezeigt zusammenfassen.
Fädelt dann alle Leitungen auf die Seite des Master PCBs.
Um diese Leitungen dann an das USB Breakout anzuschließen, solltet Ihr zunächst die Kontakte
- GND
- VBUS
mit etwas Lötzinn verzinnen.
Dann könnt Ihr die Stromversorgungsleitungen wie gezeigt…
… mit dem USB Breakoutboard verlöten.
Achtet dabei darauf, dass keine Kurzschlüsse zu den benachbarten Kontakten entstehen.
Das USB Breakout Board könnt Ihr dann…
… mit etwas Heißkleber…
.. wie abgebildet in die Basis einkleben.
Weitere Ansicht.
Weitere Ansicht.
Weitere Ansicht.
An dieser Stelle solltet Ihr auch einen kleinen Funktionstest machen. Die pxlDigit_clock sollte nun über den USB Anschluss des Breakout Boards mit Energie versorgt werden können.
Die Diffusor einsetzen
Das Licht der LEDs in den einzelnen Segmenten wirkt erst dann wirklich gut, wenn es gleichmäßig verteilt wird. Dies erreicht man sehr gut indem Diffusor in das Gehäuse eingesetzt werden.
Dazu benötigt Ihr die vorbereitete pxlDigit_clock und 28 3D gedruckte Diffusorteile.
Das Einsetzen funktioniert sehr einfach, wenn Ihr die Basis des Gehäuses wie gezeigt über eine Tischkannte ragen lasst.
Dann könnt Ihr die Diffusor wie gezeigt einlegen. Falls diese zu locker im Gehäuse liegen könnt Ihr sie auch mit einem kleinen Tropfen Kleber im Gehäuse verkleben.
Sobald Ihr alle Diffusor eingesetzt habt, sollte Euer Aufbau so aussehen.
Weitere Ansicht.
Weitere Ansicht.
Im Betrieb sollte sich dank der Diffusor dann eine gleichmäßige Lichtverteilung ergeben.
Firmware programmieren
Ich arbeite aktuell noch an einer einfachen Arduino Bibliothek zur Ansteuerung der pxlDigits. Bis diese fertig ist könnt Ihr aber auch die pxlBlck Firmware verwenden. Diese unterstützt die LED-Matrix-Form des pxlDigit bereits und bietet zudem nützliche Funktionen zur Automatisierung und Ansteuerung über WiFi oder die serielle Schnittstelle. Allgemeine Infos zum pxlBlck-Plugin findet ihr auch hier:
Informationen zur Installation des pxlBlck Plugins findet ihr hier:
pxlBlck-Plugin konfigurieren
Nach der Installation der Firmware müsst Ihr das Plugin noch korrekt konfigurieren. Infos dazu findet Ihr ebenfalls in dem Artikel pxlBlck – Das pxlBlck-Plugin installieren und konfigurieren.
Als zusätzliche Orientierung könnt Ihr aber auch die Einstellungen aus dem hier gezeigten Screenshot übernehmen.
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.
Animationen, Icons und Befehle
Weitere Infos zur Anzeige von Animationen, Icons und zu den möglichen Befehlen mit denen Ihr Euren pxlBlck konfigurieren könnt, findet Ihr auch in den folgenden Artikeln.
- pxlBlck – Animationen konfigurieren und anzeigen
- pxlBlck – Icons designen, auf den pxlBlck übertragen und anzeigen
- pxlBlck – Befehle zur Konfiguration des pxlBlck
Viel Spaß mit dem Projekt
Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂
P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂