Die pxlBlck_RingClock ist der pxlBlck_SlotClock sehr ähnlich. Sie ist auch mithilfe einer 1×60 LED-Matrix aufgebaut und kann die Uhrzeit nach dem gleichen Schema wie die pxlBlck_SlotClock darstellen.
Jedoch ist der LED-Streifen bei der pxlBlck_RingClock in einem Ring und nicht in einer Scheibe verbaut. Dies macht das Design der Uhr noch unaufdringlicher. Der Mikrocontroller zur Ansteuerung ist im Sockel der pxlBlck_RingClock verbaut.
Dabei habt Ihr die Wahl zwischen einem minimalistischem Sockel in dem der ESP8266 so kompakt wie möglich untergebracht ist. Wenn Ihr dagegen etwas mehr Standsicherheit wollt und vielleicht sogar noch Platz für eine RTC dann könnt Ihr die pxlBlck_RingClock auch mit dem größeren Sockel aufbauen. Falls Ihr auch die RTC verbaut, könnt Ihr die pxlBlck_RingClock auch ohne aktive WiFi Verbindung nutzen.
Alle Infos zum Aufbau der pxlBlck_RingClock findet Ihr im folgenden Artikel.

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 soldering tasks. The following articles contain tips on this.
- Electronics - My friend the soldering iron
- Electronics – Solder THT components by hand
- Electronics – Solder SMD components by hand
Required tool:
Required material:
In the following list you will find all the parts you need for the assembly.
Overview
Hier seht Ihr eine kleine Übersicht, wie die Anzeige der pxlBlck_RingClock aussehen kann. Wie üblich lassen sich die Farben der Minuten-, Sekunden-, Stundenzeiger und der Stundenmarkierung einstellen. Die Helligkeit der Stundenmarkierungen und der Zeiger lassen sich unabhängig voneinander einstellen.
Collect the necessary parts
Damit es mit dem Aufbau Eurer pxlBlck_RingClock losgehen kann solltet Ihr zunächst alle benötigten Teile zusammensuchen.

Für den Aufbau der pxlBlck_RingClock benötigt Ihr die folgenden Teile.
- WS2812 LED Streifen 144LEDs/m 60LEDs lang
- 3D gedruckter LED halter
- 3D gedruckter Sockel (hiervon gibt es verschiedene Versionen)
- 3x cable approx. 10cm long
- 1x Wemos D1 Mini
- 2x selbstschneidende Schrauben 2×8
- 1x Acylglas Ring Innendurchmesser: 130mm, Außendurchmesser: 141mm, Dicke: 3mm
- 2x M8x40 cylinder head screw
You can find the STL files for printing on your 3D printer in the repository for the pxlBlck_RingClock under the following link.
Updated 02/16/2021
Olivier hat eine STL erstellt mit der sich der LED-Ring aus transparenten PLA drucken lässt. Er hat freundlicherweise zugestimmt, dass diese hier verlinkt werden darf. Vielen Dank nochmal dafür. 🙂 Die STL findet Ihr auf Thingiverse unter folgendem Link.
LED-Ring mit der Mini-Basis verschrauben
Grundsätzlich gibt es verschiedene Versionen des Sockels. Der hier gezeigte Sockel ist der kleinste der verfügbaren Sockel. In ihm ist lediglich der ESP8266 untergebracht. (Mehr passt dort auch nicht hinein). Durch sein geringes Gewicht steht die pxlBlck_RingClock zwar aufrecht, aber kippt auch schnell Um. Ihr solltet diesen Sockel also nur verwenden, wenn der geplante Aufstellort eben ist. Als alternativer Sockel folgen weiter unten noch Sockel, welche sich zusätzlich mit Gewichten beschweren lassen. Zusätzlich ist in einem dieser Sockel auch etwas mehr Platz. So kann zum Beispiel auch eine RTC (Echtzeituhr) in den Sockel integriert werden.

Verschraubt den Sockel dazu wie abgebildet mit der LED-Halterung. Dazu könnt Ihr die abgebildeten M2 Schrauben inkl. Mutter oder Selbstschneidende 2×8 Schrauben verwenden.
LED-Streifen vorbereiten
Bevor Ihr den LED-Streifen in die Basis einlegen könnt solltet Ihr die Anschlussleitungen an diesen anlöten.

,,,den LED Streifen so vor Euch hin, dass der Pfeil auf von Euch weg zeigt. Dies ist wichtig, da an dieser Seite der Dateneingang des LED-Streifens liegt.

Nun solltet Ihr die ersten Kontakte mit etwas Lötzinn vorbereiten. Dadurch fällt das Anlöten der Leitungen später etwas leichter.

… an die vorbereiteten Kontakte des LED-Streifens. Dabei werden Leitungen an die folgenden Kontakte angelötet.
- G
- 5V
- DIN

Damit der LED-Streifen leichter in die LED-Halterung eingelegt werden kann, solltet Ihr nun die Rote Leitung vorsichtig umbiegen, sodass alle Leitungen in die selbe Richtung vom LED-Streifen wegführen.
Wichtig: Achtet darauf, dass Ihr die Kontakfläche des SMD-Streifens nicht zu sehr beansprucht. Ansonsten könnte es passieren, dass die Leitung inkl. der Kontakfläche abreißen.
LED-Streifen in LED-Ring einlegen
Nachdem Ihr den LED-Streifen vorbereitet habt könnt Ihr diesen nun in die LED-Halterung einlegen.

Dann könnt Ihr von der unteren “6-Uhr-Position” aus beginnen den LED-Streifen in die LED-Halterung einzustecken.
Acrylglas-Ring einlegen
Als Diffusor solltet Ihr nun noch einen passenden LED-Ring in die LED-Halterung einlegen.
ESP8266 mit dem LED-Streifen verbinden
Eure pxlBlck_RingClock sollte nun schon ziemlich fertig aussehen. Allerdings fehlt bisher noch das Herzstück – der ESP8266 – zum Betrieb der Uhr.

Dazu benötigt Ihr den ESP8266. Wie oft empfehle ich hier den Wemos D1 Mini zu verwenden. Auf diesem ist der ESP8266 verbaut.

Den Wemos D1 Mini könnt Ihr nun an die vorbereiteten Anschlussleitungen des LED-Streifens anschließen.
LDR an ESP8266 anschließen
Damit Eure pxlBlck-RingClock auch die Helligkeit des LED-Streifens automatisch an die Umgebungshelligkeit anpassen kann empfiehlt sich der Einbau eines LDRs. Dies ist aufgrund des geringen Platzes im Sockel etwas fummelig, aber letztendlich lohnt es sich. 🙂

Dazu benötigt Ihr einen LDR und einen “normalen” (1/W) 1k Widerstand.
Außerdem ist etwas Schrumpfschlauch (nicht auf dem Bild zu sehen) sehr hilfreich.

…wie abgebildet an die gezeigten Kontakte des Wemos D1 MIni.
So wird der Widerstand zwischen GND und dem Eingang des ADCs verlötet. Er funktioniert so als Serienwiderstand zum LDR und bildet in Kombination mit dem LDR einen Spannungsteiler.

Dazu solltet Ihr mindestens einen der LDR-Kontakte mit einem Schrumpfschlauch gegen Kurzschlüsse schützen.
Der LDR selbst sollte dann ca. 5mm über das Ende der Platine des Wemos D1 Mini hinaus ragen.
ESP8266 in Mini-Basis einschieben
Nachdem Ihr den LDR an den Wemos D1 Mini angeschlossen habt kann dieser nun in die Basis eingeschoben werden. Wenn Ihr wollt könnt Ihr damit aber auch erst warten und zuerst die Funktion testen. Überspringt dazu einfach diesen Teil und programmiert und testet die pxlBlck_RingClock erst. Es ist aber auch kein Problem den Wemos D1 Mini später nochmal herauszunehmen.

Um den Wemos D1 Mini in den Sockel einzuschieben, solltet Ihr ihn wie gezeigt in den Sockel schieben.

Achtete dabei darauf, dass keine SMD Komponenten auf dem Wemos D1 Mini beschädigt oder abgerissen werden.
Ihr solltet ohne großen Kraftaufwand in der Lage sein den Wemos D1 Mini einzuschieben.

Wenn Ihr wollt, könnt Ihr den LDR dann noch etwas hochbiegen und noch besser zum Umgebungslicht “ausrichten”.
Aufbau der pxlBlck-RingClock inklusive RTC (Real Time Clock)
Die pxlBlcks beziehen die korrekte Uhrzeit grundsätzlich über einen NTP-Server den sie mithilfe der WiFi-Verbindung erreichen. Manchmal möchte man die pxlBlcks aber auch an einem Ort aufstellen an dem keine WiFi-Verbindung verfügbar ist. In diesem Fall kann man die fehlende Quelle für eine korrekte Uhrzeit durch eine RTC ersetzen. Eine RTC (Real Time Clock) hält die eingestellte Uhrzeit Batteriegepuffert nach. So geht die Uhrzeit also auch ohne Stromversorgung nicht verloren.

Für den Aufbau der pxlBlck_RingClock inkl. Unterbringungsmöglichkeit für eine RTC benötigt Ihr die folgenden Teile.
- WS2812 LED Streifen 144LEDs/m 60LEDs lang
- 3D gedruckter LED halter
- 3D gedruckter Sockel (nun die größere Version die ebenfalls im Git-Repository verfügbar ist.)
- 3x cable approx. 10cm long
- 1x Wemos D1 Mini
- 2x selbstschneidende Schrauben 2×8
- 1x Acylglas Ring Innendurchmesser: 130mm, Außendurchmesser: 141mm
- 2x M8x40 cylinder head screw
Falls Ihr auch den LDR anschließen wollt (Infos dazu unten) ebenfalls folgende Teile.
- LDR
- 1k Widerstand 1/4W
- ca. 3cm Schrumfpschlauch
RTC mit dem ESP8266 verbinden

Nun könnt Ihr die Kontaktzungen entfernen indem Ihr sie kurz mit einem Lötkolben erhitzt. Sehr hilfreich ist dabei eine Pinzette oder Zange mit der Ihr die Kontaktzungen herausziehen könnt während sie gleichzeitig mit dem Lötkolben erhitzt werden.

Nun müsst Ihr die RTC noch an den I2C Bus des ESP8266 und die Versorgungsspannung anschließen.
Führt dazu eine erste Leitung vom Kontakt “D” der RTC zum Kontakt “D2” des ESP8266.

Wiederholt dies mit einer weiteren Leitung zwischen dem Kontakt “C” der RTC und Kontakt “D1” des ESP8266.

Im weiteren könnt Ihr nun die Masseverbindung zwischen RTC und ESP8266 herstellen. Verlötet dazu eine Leitung…
LDR an den ESP8266 anschließen
Dieser Schritt ist optional. Mithilfe eines angeschlossenen LDRs seid Ihr in der Lage Euren pxlBlck so zu konfigurieren, dass er die Helligkeit der angeschlossenen LED-Matrix der Umgebungshelligkeit anpasst. Das heißt die Helligkeit der angeschlossenen LED-Matrix wird gedimmt, wenn das Umgebungslicht dunkler wird und erhöht wenn die Umgebungshelligkeit heller wird.

Dazu müsst Ihr zunächst den gezeigten 1k Widerstand zwischen die Kontakte “GND” und “A0” des Wemos D1 Mini anschließen.
Eine Beispiel wie Ihr dies sehr Kompakt ermöglichen könnt ist im gezeigten Bild dargestellt.

Auf der Oberseite des Wemos D1 Mini müsst Ihr dann noch den LDR wie gezeigt verlöten.
Dabei empfiehlt es sich die blanken Anschlussbeinchen des LDRs mit etwas Schrumpfschlauch zu isolieren.

Der “Kopf” des LDR sollte so verlötet werden, dass er ca. fünf bis zehn Millimeter über das Ende der Platine des Wemos D1 Mini herausragt.
ESP8266 mit dem LED-Streifen verbinden
Nachdem Ihr den Wemos D1 Mini nun soweit vorbereitet habt, könnt Ihr mit dem Anschluss an den LED-Streifen fortfahren.

Lötet die Anschlussleitungen des LED-Streifens dazu wie gezeigt an den Wemos D1 Mini.
Dabei könnt Ihr die Kontakte des LED-Streifens nach folgendem Schema mit den Kontakten des Wemos D1 Mini verbinden.
ESP8266 | LED strips |
---|---|
5V | 5V |
G | G |
D4 | DIN |
ESP8266 in die Basis einschieben
Nachdem Ihr nun alle Teile an den ESP8266/Wemos D1 Mini angeschlossen habt könnt Ihr den Wemos D1 Mini in den Sockel einbauen.

Achtet dabei darauf, dass keine Bauteile auf dem PCB des Wemos D1 Mini abgerissen oder Leitungen eingeklemmt werden.
Gewichte in den Standfuß einbauen
Falls Ihr Eure pxlBlck_RingClock etwas Standsicherer machen wollt, könnt Ihr den Sockel mit zusätzlichen Gewichten ausstatten.

Damit diese an Ort und Stelle bleiben solltet Ihr sie mit einem Tropfen Heißkleber im Sockel fixieren. 🙂
Program firmware
Nach dem Aufbau der pxlBlck_RingClock müsst Ihr nun noch ESPEasy inklusive pxlBlck-Plugin auf dem ESP8266 installieren. Wie Ihr dabei vorgehen könnt ist in folgendem Artikel beschrieben.
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.

LDR zur Einstellung der Displayhelligkeit konfigurieren
Damit der LDR von ESPEasy ausgelesen und die aktuelle Helligkeit der LED-Matrix entsprechend aktualisiert wird, müsst Ihr zunächst noch ein paar Konfigurationen vornehmen. Wie Ihr dabei vorgehen könnt ist in dem folgenden Artikel beschrieben.
LED-Offset und Ausrichtung einstellen
Da die der LED-Streifen auf verschiedene Weisen verbaut werden kann, müsst Ihr die Anzeige ggf. anpassen.
Dazu könnt Ihr den Offset der “Zwölf-Uhr-Position” vom Anfang des Streifens einstellen. Diese Einstellung findet Ihr im Webmenü des Plugins in der Sektion “12 o’clock LED position”. Probiert hier am besten etwas rum, bis Ihr den korrekten Wert gefunden habt. Zur besseren Orientierung könnt Ihr dazu auch die Option “Thick 12 o’clock mark” aktivieren. So könnt Ihr leicht sehen, wo die 12 Uhr Position des Ziffernblatts ist und durch die Anpassung des Offsets so einstellen, dass sie an der obersten Position steht.
Für den Fall, dass Eure RingClock in die falsche Richtung läuft, könnt Ihr die “Drehrichtung” mithifle der “Direction Inversed” Option umkehren.
Konfiguration der RTC unter ESPEasy
Um die RTC in Kombination mit ESPEasy nutzen zu können, habe ich ein weiteres Plugin geschrieben. Dessen Konfiguration werde ich bald in einem gesonderten Artikel beschreiben und dann natürlich auch hier einfügen bzw. auf Nerdiy.de posten.
Alles was ihr wissen müsst um dieses korrekt zu konfigurieren findet ihr hier:
pxlBlck Usecases
Articles are listed under the tag "pxlBlckUsecase" in which you can find examples of use. It also explains how you have to configure your pxlBlck for this.
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.
- pxlBlck - Configure and display animations
- pxlBlck - design icons, transfer them to the pxlBlck and display them
- pxlBlck - Commands for configuring the pxlBlck
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. 🙂
Hello,
Thank you for the detailed and very good description. I recreated the whole thing (had a strip with 60LED lying around here), but I noticed that there is a jump / gap of 1 second when jumping from one end (supply) to the other end; do you have an idea what could be the reason?
I'll email you a little video...
Joachim
Good evening Joachim,
did you flash the pre-compiled binary? I recently fixed a bug that looks very similar to this one. However, I had only corrected the error in the code and had not yet updated the binary. I'm working on that. So you can either flash the firmware with the Arduino IDE or wait 10 minutes. By then I should have updated the binary.
Please let me know if that fixed the error. 🙂
Best regards
Fabian
Hello and thank you for the very detailed instructions. Unfortunately I've been waiting for a while for the 3D printer financed via Kickstarter and I'm sure I'll wait a little longer. Do you have an idea where I can have the 3D parts printed or is there another reader who can print the parts for me for a fee?
I still want to order all the other missing components and I noticed that you didn't specify the thickness of the acrylic ring anywhere. Since this should sit flush, the information would certainly be helpful. Thanks!
Kind regards from the Lower Rhine
Patrick
Hey Patrick,
thanks for the hint with the thickness for the plexiglas ring. I added the info (3mm).
As for printing the parts: I'm happy to do that too. Just contact me via the contact form if you are interested and then we can clarify it. 🙂
Best regards
Fabian
Hello Fabian,
Thank you for the detailed instructions!
Two questions: how thick is your acrylic glass for the cover? 3mm?
And even more interesting: How did you cut the acrylic glass?
Viele Grüße und ein “gutes Neues”!!
Olivier.
hey oliver,
Thanks and thanks for the hint with the thickness for the plexiglass ring. I added the info (3mm). I have the ring with me http://www.acrylformen.de/ be cut by laser. Unfortunately the shop is currently closed (as far as I know due to high demand). But there are also other shops that offer this service. Unfortunately I can't recommend any specific ones. 🙂
Frohes neues und beste Grüße’
Fabian
Hello Fabian,
Ich habe mir überlegt, eine größere Variante der Uhr zu bauen (3D-Modell muss man dann ggfs. in mehreren Teilen drucken). Die LED-Streifen gibt es ja standardmässig in verschiedenen “Dichten” (Anzahl LED/m). Für die verschiedenen Varianten habe ich einen Rechner erstellt, der den Durchmesser und den Vergrößerungsfaktor (für den 3D-Druck) berechnet. Den Rechner habe ich freigegeben: https://docs.google.com/spreadsheets/d/1NKIeCsHsKDcRir4_VSnpM0GEaJx69tWigmRbGMM3S2I/edit?usp=sharing
or.: https://bit.ly/2JAXHnR
You are welcome to link it in the article or use the table with the most common LED variants.
Greeting,
Olivier.
hey oliver,
super cool thing! Thanks a lot for this. I would include that in the article. Should I send you/your blog/etc. how to link? 🙂
Thanks and best regards
Fabian
Hello Fabian,
You are welcome to link to my blog: https://huf.org
Haven't made an article about it yet though
Best regards,
Olivier.
All right, thank you! Habs just entered and linked to your blog. Thanks again for that! 🙂
Best regards
Fabian
Hello !
I’m trying to download your STL from the github link but when I open the downloaded files in Cura, I have an error anf It won’t load. I’m used to download stl files from “thingiverse” or “Cult3d” but here, there is something in the link I can’t figure out .
Can you help me to get those files?
Thank you for your inspirational work!
Hey Matt,
Thanks for pointing that out. I got a similar complain in the past and investigated whats going on here. It looks like that gitHub does not delivering the STL file itself at downloading it but the page to display a preview of it. I have to find another way to offer the files here. Until then please download the complete repository (containing the stl files). The following link should work: https://github.com/Nerdiyde/pxlBlck/archive/main.zip
The STL files should be located in pxlBlck\platform\pxlBlck_RingClock
I hope this works for you. If possible please let me know. 🙂
Thanks and best regards
Fabian
Hello, thank you.
The link worked as expected. And now I have to chose which round clock I'll make 🙂
I have a broken LCD TV and I was wondering what it yould like to use the TV “diffusor” or any of the different display layer between the panel and the LED . I got to try !
Have a nice day.
Matt from France
Hey Matt,
sounds good, thanks for letting me know. 🙂
Good look with the diffuser. 🙂 Hope it works. If you like let me know how your build came out in the end.
Thanks and best regards from Germany
Fabian
Hey Fabian,
First of all, thank you for the great guide. I took the time to build the whole thing. Because you described it in such detail, that wasn't a problem either.
Even if this is not a forum, I have a question/problem.
Bei mir zeigt es aktuell keine Markierung bei den Stunden an (22Uhr Ortszeit). Einen Defekt am LED Band kann ich ausschließen. Wenn ich die “Direction inversed:” Funktion aktiviere, dann funktioniert es, aber dann läuft es ja in die falsche Richtung.
Do you have an idea what that could be?
Thanks
Carsten
Hey Carsten,
Thank you, glad to hear it. 🙂 Oh, bring on the questions. That's what the comments section is for. 🙂
About three weeks ago I fixed a bug that sounds very similar. It may be that the fix is not yet included in the current binaries.
I'll try to reproduce it and check it.
Until then: Did you compile and program the code yourself or use the pre-made bin files/binaries? If the latter, which one did you take? 🙂
Thank you and best regards
Fabian
Thank you for the fast answer. I took the binary for the ESP8266 from the github site.
Today I was able to determine that when switching to 6 p.m. (i.e. when LED 60 goes to 1), the hours are no longer displayed.
Maybe the information from the system page will help you:
Build:⋄ 20111 – Mega
System Libraries:⋄ ESP82xx Core 2_7_2, NONOS SDK 2.2.2-dev(38a443e), LWIP: 2.1.2
Git Build:⋄ (custom)
Plugin Count:⋄ 48 [Normal]
Build Origin: Self built
Build Time:⋄ Jan 25 2021 18:41:50
Carsten
Hey Carsten,
then you definitely have the latest version. There might be a bug in the code. :/
I just tried to recreate it on my watch but everything looks fine there.
Can you still send me your configuration? So which options you have configured in the plugin and how. Gladly also as a screenshot.
Wenn du möchtest kannst du mir auch die Konfiguration deiner Uhr als Datei zukommen lassen. Dazu musst du auf den Tab “Tools” wechseln und mit dem Button “Save” in der Sektion “Settings” die Einstellungen exportieren.
(This only exports the settings and no WiFi data or similar. :))
Thanks and best regards
...forget my request from the previous comment. I now know what you mean. Was able to replicate it on my watch as well. :/
I'll fix that and let you know here.
Thanks for telling me. I didn't notice it when testing. I'm always grateful when I get tips like this. 🙂
Best regards
Fabian
Hey Carsten,
found the error. (I hope) 😀
In any case, it no longer shows up on my watch. I'm not sure if I've tested all the options.
Uploaded the updated binary.
I hope everything is ok now. If so, I would appreciate a short feedback. 🙂
Best regards
Fabian
Thanks very much,
I had to try it immediately.
I flashed it and did the configuration (I should have been able to make backups beforehand), but it was done in 2 minutes.
Running 🙂
It's great that you made a new version available so quickly. When I have the plexiglass cover. I'll take a picture.
Great, I'm glad. 🙂 Have fun with it!
Yes gladly!
Hello
I don't have a laser cutter and wanted to build the watch first without waiting for the Plexiglas ring. So I created a ring in OpenSCAD and printed it out with transparent PETG.
I have made several attempts: with a material thickness of 1 mm, it is beautifully transparent. The transparency decreases slightly at 2mm. If you want the ring to be as satin finished as in the photo, you can lightly roughen the back with fine sandpaper, or print the ring thicker and play around with the infill pattern….
For increased transparency, the material should be printed at a slightly higher temperature.
Templates in 1mm and 2mm, as well as the OpenSCAD source code are on Thingiverse:
https://www.thingiverse.com/thing:4762684
hey oliver,
Excellent! Thanks for the link! May I pack the STL to the git repository? 🙂
Best regards
Fabian
Hello Fabian,
clear. A link to the Thingiverse repo is also welcome, so interested parties can play around with the OpenSCAD source 🙂
Greeting,
Olivier.
All right, I'll do that. Thank you again 🙂
Hi,
First of this is a great project and the writeup is fantastic. Thank you.
I have three questions:
– They say that the D1 mini doesn't have enough power for more that a few leds and you should power that separately. In your build I assume that you power the D1 from the usb and pass power to the strip from the 5v pin. Did you have issues with brightness and/or the D1 just failing by doing that?
– Your stl for the ring assumes 144 leds/m and has the small dividers accordingly. I assume using a strip with fewer leds/m would produce dark spots. Can you share the original file so I can edit the spacing?
– When you solder the wires on the led strip, why do you connect the power and ground after the first?
Thanks again
Hey Alexandros,
thank you 🙂
Here three answers. 😀
1. Yes and no. The max brightness is limited in software. So yes, the full brightness is not available. I'm actually working on a special PCB that should make it possible to make more brightness available on some pxlBlck platforms 🙂
2. The problem with LED stripes using fewer leds/m is also that it wouldn't fit in the ring anymore. Also the diameter would become a lot bigger. At least when you try to use an led stripe with 60 LEDs as well.
3. Hm, I'm not really sure what order you are referring here to. Normally it doesn't matter in which order the wires are soldered. 🙂 Of course you should solder the wires without any power supplied to any component involved. 🙂
Best regards
Fabian
Thank you for the reply,
Regarding 1 my issue what they discuss here https://forum.arduino.cc/index.php?topic=492092.0 meaning that the D1 will fail if you use it to pass power to the led strip.
Regarding 2 I was looking more to make a light display and less a clock that is why I was asking.
Regarding 3 in this image https://i2.wp.com/nerdiy.de/wp-content/uploads/2020/11/www.nerdiy.de-howto-pxlblck-pxlblck_ringclock-aufbauen-20190408-144522.jpg?resize=1152%2C1536&ssl=1
you wire the data at the start but the power and ground after the first led. why is that?
Thank you again for the tutorials and the time
Alexandros
Hey Alexandros,
you are welcome. 🙂
Regarding 1. Yes basically this is right. What I did to prevent is to use the “setBrightness” function of the underlying adafruit library. The maximal setable brightness of the matrix can be set. For more infos please read here: https://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library-use and search for “setBrightness()”. I used this functionality in my plugin (here: https://github.com/Nerdiyde/pxlBlck/blob/42e9987a61903b12edaa7c0fea2a954ca326e1ee/plugin/ESPEasy/_P205_pxlBlck.ino#L111) to reduce the max setable brightness. So if you use the pxlBlck plugin it shouldnt be possible to overload the usb-connection since the max brigthness is limited in software. The reduced brightness also leads to a reduced current and therefore the wemos should be capable to deliver the needed current. But of course you could also choose the option to bypass this “problem” by wiring the led strip to an external 5V-power input. 🙂
Regarding 3. Now I got what you are refering to. 🙂 That's basically done for space reasons. Electrically it does not really matter if the power connections are wired to the first, second or 33rd LED. All LEDs are powered in parallel by the 5V source. So the energy is distributed to the whole LED strip independently from where it is connected. Since it is easier to solder the power wires at that area I decided to use the power terminal at the second LED. Only the data input has to be soldered to the first led data input. 🙂
Best regards
Fab
alexandros,
Re. 1: The “Neopixel” strips are different from “common” LED strips or single LEDs in the way that the power for lighting the LED comes only from the 5v connector.
The D1 (or D4) is just a data pin that delivers color (and brightness) *information* to the LED pixels. Every LED regenerates that data signal and passes it on to the next neighbor. The amount of current on the data pin needed for a 10-pixel strip is (almost) identical to that of a 100-pixel strip. This current is no problem for the data pins of the ESP (or Arduino).
Keep asking!
Olivier.
Hello,
First of all, thank you for the super great project 😀
Unfortunately I have the following problems:
1. The seconds LED is always on for 1 to 3 seconds and then jumps on. The suspicion was that the power pack (2A) was on its knees, replacing it was unsuccessful. Reducing the power consumption of the LEDs didn't help either.
2. WLAN only works sporadically in the Easy Mega AP with my smartphone S20 5G FE, ie the pages are not loaded or are only partially loaded.
Both looks very much like overloading the ESP? Could it be that this also occurs if the ESP does not reach the NTP?
Do you have an idea how to fix the problem?
Firmware:
Build:⋄ 20111 – Mega
System Libraries:⋄ ESP82xx Core 2_7_2, NONOS SDK 2.2.2-dev(38a443e), LWIP: 2.1.2
Git Build:⋄ (custom)
Plugin Count:⋄ 48 [Normal]
Build Origin: Self built
Build Time:⋄ Feb 13 2021 10:53:33
LG
Anke
PS: Is there already a schedule when you integrate the RTC into the SW or present a config page to us disciples 😉
Hi Anke 🙂
thank you very much 🙂
1. Das liegt sehr wahrscheinlich an der Auslastung des ESP. Der ESP kann leider nur immer eine Aufgabe erledigen. Dabei haben vor allem das WiFi handling und die ganzen anderen Aufgaben die das ESPEasy Framework im Hintergrund erledigt Priorität (bzw. Verzögern andere Prozesse). Du kannst das sogar beobachten, wenn du die Debugausgabe für die serielle Schnittstelle aktivierst (Im Webmenü unter “Advanced”). Auf der seriellen Schnittstelle sollte ausgegeben welcher Prozess gerade bearbeitet wird und ggf. die anderen Prozesse verzögert. 🙂
2. Does that mean you use ESPEasy as an access point and connect your cell phone directly to it? I have to admit that I don't have much experience with this. I have connected my ESPs to my WiFi at home and use it to access the ESPs. Have you tried this before? 🙂 If you run the ESP in this mode, the ESP (usually) cannot reach the NTP server either. Then you probably have a similar problem as in the first point with the delayed second hand update. The attempt to connect to the NTP server will probably also delay the process that delivers the website data to your connected cell phone. You could try (just for testing) to deactivate the NTP retrieval and then see if something changes/improves. 🙂
About the RTC plugin:
I just pushed this up a bit on my ToDo list. The plan is for me to finish things on it by the beginning of April. I hope it works. 🙂
Best regards
Fabian
Hello Fabian,
sorry that I'm only now replying.
Of course you were right, it is due to the utilization of the ESP, the Wifi/NTP process with me 80% load if the WLAN connection does not come about or breaks off.
This is also the problem with the mobile as the ESP is busy. Maybe the AP will also be reset? But it's just a guess, because I'm a beginner in programming and debugging SW.
Regarding RTC plugins, I would like to say thank you for your great work 🙂
LG
Anke
Hey Anke,
Great, I'm glad to hear that we've at least tracked down the cause. 🙂
Best regards
Fabian
Hello Flo
you write:
> “Um die RTC in Kombination mit ESPEasy nutzen zu können,
> I wrote another plugin.
> I will soon describe its configuration in a separate article
> und dann natürlich auch hier einfügen bzw. auf Nerdiy.de posten.”
I can't find the module description anywhere. Unfortunately, the help pages of the module on the ESPEasy also point to nothing.
Ich habe das Modul verbunden und die Kommunikation mit dem 8266 funktioniert auch (z.B. Modul-Temperatur wird angezeigt). Leider macht der Betrieb ohne WiFi massiv Probleme: der Sekundenzeiger der Uhr “springt” und verzögert immer wieder (etwa zur selben Minute). Ich denke, das könnte mit dem Update-Intervall zusammenhängen.
Can you please write something about the configuration of the RTC 3231?
Thank you very much.
hey oliver,
uh that's creepy good timing. 😀 I just wrote something on the subject in another comment.
I'm trying to get the article ready by early April. The whole operation without WiFi is generally a bit problematic, but I try to solve that with the help of the plugin. 🙂
Best regards
Fabian
Hi Oliver,
I finally got the article for the RTC finished. You can find him here: https://nerdiy.de/espeasy_ds323x_sync_plugin/
🙂
Best regards
Fabian
Hello Flo
Thanks, I'll take a look when I get a chance!
Best regards,
Olivier.
Hello Flo,
I just saw that Anke had already asked 🙂
BTW: Wenn der NTP Server verfügbar ist, habe ich den “Sekundensprung” nicht, auch wenn die RTC aktiv ist.
Have a good meal!
Any news regarding the RTC plugin?
Best regards
bjorn
Hi Bjorn,
actually exists. 😀
The plugin is included in the last build in the pxlBlck repository. (Check it out if you want) I'm working on the documentary right now. Should (if everything works) go online this week. 🙂
Best regards
Fabian
Hi Bjorn,
I finally managed to finish the article. You can find him here: https://nerdiy.de/espeasy_ds323x_sync_plugin/
Best regards
Fabian
Hello.
Great idea, what material and what print resolution did you use for the case?
Blackster
Hey blackster,
I mostly print with PLA and if it should be a little prettier with 0.2mm layer thickness. 🙂
Best regards
Fabian
Updates on the RTC plugin? Also, I used your links and this version of ESP Easy doesn't have the plugin for the analog input for the LDR. Thoughts? My clock is working, just without a working RTC or LDR.
Hey Stephen,
yes and no. :/ The plugin should be included in the git repository. I will check that and will also finish the work on the article about it (like it was promised some time ago.)
Sorry for the delay. :/
best regards
Fab
Hi Stephen,
it took (a lot) longer then planned, but here it is: https://nerdiy.de/en/espeasy_ds323x_sync_plugin/
🙂
Best regards
Fabian
Hello Fabian, in the absence of a 3D printer, I ordered a 60 LED ring from Ali to test it. The ring comes in 4 segments that need to be soldered together first. Honestly, no fun - the 3 contacts are relatively close together, but I managed to do it anyway.
My first concern is how do I get the RingClock to look like the first 2 photos on this page? I've gone through the complete manual, searched the ESPeasy Configuration, but unfortunately I didn't find anything to even temporarily display such a rainbow. I would love to be able to display such a rainbow as a clock background and display the hands, for example, with the LEDs switched off!? Is the? In this context, I thought it would be useful to "simply" invert the face (with one command), perhaps temporarily or alternately, i.e. background = black, face = white -> change -> background = rainbow, face (invert) = black -> etc
Hey Patrick,
I think I know the ring. I've struggled with it before. 😀
To be honest, this display option does not exist (yet). But I think the idea is cool (and I'm surprised that I haven't thought of it myself yet).
I've only ever used the rainbow background for the start animation.
It should be possible to invert the colors by configuring the rules accordingly. Have you ever worked with it?
Best regards
Fabian
Hi Fabian,
I also thought that it might be about the rules, but I can't figure it out yet. Do you think that you can also create the rainbow using the rules, or is that only possible by programming directly in the code? I'll see what I can do about the rules first.
I also have an idea for a nice effect of the hands. Instead of simply jumping one LED further, it would be great if the hands would first make a quick lap around the entire dial before jumping to the next digit, the effect would be best observed with the second hand - it would also be great if you could could choose the direction of rotation of the orbit.
Another effect would be if the second hand could slowly fill the dial (except for markers and other hands) with one revolution, which is only resolved again when jumping to second 1 - would probably look best without markers.
Just a few ideas if you have the time and inclination. 🙂
Best regards
Patrick
Hi Patrick,
I temporarily implemented the rainbow animation recently. You can trigger them with the current firmware version and the pbani command. For this you have to use the animation ID 7. 🙂
Thanks for your ideas. I'm not really getting around to working on it right now, but I've written it down. 🙂
Best regards
Fabian
Hello Fabian,
my acquaintance agreed to build the watch for me, since my manual skills with such difficult things are, let's say, catastrophic.
Since I don't have a 3D printer, I was wondering if you could print me the parts I need and what it would cost?
Can you tell me roughly how much all the parts needed together cost?
Kind regards
andy