undefinedSchon vor einigen Jahren habe ich mir selbst einen Wecker gebaut, der bis heute in Benutzung ist und mit dem ich sehr zufrieden bin.

Für dieses Weihnachten war die Idee, meiner Mutter einen neuen Radio-Wecker zu kaufen. Aber die Auswahl ist alles andere als Seniorengerecht und die Anforderungen waren doch so einfach:

  • Großes Display
  • Display-Helligkeit passt sich der Umgebung an
  • Eine(!) Weckzeit
  • Einfachste Bedienung ohne Hürden
  • Wecken mit Radio

Stellt sich raus, dass es Oft mit USB, Internet, zwei Weckzeiten und 6 bis 10 Knöpfen einhergeht. Dazu alles in Englisch und Mini-Taster oder schwergängige Schieber. Dazu zeigen die wenigsten Seniorengerecht die aktuelle Weckzeit an (nur winziges Wecker-Symbol etc). Scheinbar scheint bei allen ein großes Display ausreichend um das Senioren- oder Demenz-Radio nennen zu dürfen.

Also muss ein neuer Wecker selbst gebaut werden! Ein durchaus anspruchsvolles Projekt und ein strammer Zeitplan. Ich bin sehr gespannt, ob ich das bis Weihnachten hinbekomme oder ob das Geschenk am Ende Zeitverzug hat.

Weiter lesen? Klicke die Headline um den ganzen Artikel zu sehen!

09.11.2025

Ich bin gestartet mit einer Einkaufsliste (inzwischen mehrfach aktualisiert und ergänzt):

  • Display 4 Zoll TFT mit SPI-Schnittstelle
  • Teensy 3.2
  • ESP-32 Dev Kit C V4
  • Real Time Clock RTC-Modul DS3231 I2C Echtzeituhr
  • Rotary Encoder (aus dem Fundus)
  • Große farbige Drucktastenschalter (Edelstahl, RUNCCI-YUN)
  • Mini Kippschalter (aus dem Fundus)
  • Verstärker-Modul (PAM8406)
  • Radio-Modul (TEA5767 mit i2c-Schnittstelle)
  • Lautsprecher (Zerone, 5 W 8 Ohm TV-Lautsprecher)
  • VISATON Breitbandlautsprecher FR 7, 5W an 4Ω
  • USB-C Buchse zur Stromversorgung (RUNCCI-YUN)
  • 3.3 DC Spannungsregler Step Down Netzteilmodul 4.75V-12V bis 3.3V 800mA
  • Pegelwandler (Logic Level Shifter), 4 Kanal, BiDirektional, 5V~3.3V (i2c)

Alles was fehlt, muss also immer wieder nachbestellt werden...

10.11.2025

Erste Tests am CAD. Da ich die meisten Bauteile noch nicht habe, sind das erst mal nur Versuche um eine Design-Idee zu finden. Möglichst kurze Druckzeit am 3D-Drucker soll es auch haben etc. Aber eigentlich kenne ich noch nicht einmal die finalen Abmessungen. Ich breche also wieder ab...

undefined

12.11.2025

Okay, der Teensy, den ich als Plattform wollte, ist mir zu Teuer. Kaum unter 30,- EUR zu bekommen. Daher soll es jetzt ein ESP32 sein. Die WLAN- und Bluetooth-Funktionen brauche ich nicht. Dazu noch ein Uhrenmodul mit Batterie als Echtzeit-Uhr (RTC). Auch eine USB-C-Buchse soll als Stromversorgung noch rein.

14.11.2025

Erste Teile sind eingetroffen, daher geht es wieder an das CAD. Den ersten Entwurf für den Deckel habe ich nach Rücksprache mit einem Bekannten neu designt und statt Ihn "Aufzusetzen" werde ich Ihn lieber "Einsetzen". Die Abmessungen sind jetzt vermutlich 140 x 80 x 70 (Breite, Tiefe, Höhe). Dann vier Gummi-Füße aufkleben und fertig.

So schaut der Entwurf jetzt aus. Um zu erkennen wo was hin muss und wo Löcher benötigt werden und ob es Platzprobleme gibt, habe ich das Display, den Lautsprecher und andere Teile konstruiert. So kann ich Ein- und Ausblenden wann immer ich etwas benötige:

undefined

undefined

Auch das Lautstärkerad ist jetzt eingeplant und sichtbar sowie "Böcke" für das Radio-Modul (oben links im Bild) und das Verstärker-Modul (Rechts in Bild).

Falls es jemand interessiert, ich nutze Plasticity als CAD-Software unter OpenSUSE LEAP 15.6 (Linux). Dieses CAD ist Fantastisch und ich liebe es. Klar, die Einarbeitungszeit muss man einrechnen. Aber vieles ist intuitiv und gut gelöst. Daher hat man schnell Erfolge. Klare Empfehlung! In Plasticity exportiere ich dann als STL und slice das dann für den 3D-Druck mit CUDA.

15.11.2025

Weitere Testdrucke mit dem Deckel. Löcher sind zu klein und die Idee, Schrift auf den Deckel direkt zu drucken, wird verworfen. Das wird weder schön noch lesbar :-( Aber Aufkleber oder mit Stift aufgemalte Symbole oder Text werden nicht haltbar genug sein. Daher versuche ich 0,4mm hohe Symbole aufzudrucken.

Neuester Stand am CAD:

undefined

Testdrucke des Deckels sind hoffentlich bald erledigt. Das Gehäuse wird im Druck nochmal Anspruchsvoll. Eine erste Schätzung ergibt, dass das Gehäuse über 10 Stunden drucken wird. Ich denke darüber nach, das ganze Gehäuse bei einem Profi drucken zu lassen.

Nachtrag: Hab es selbst gedruckt. War einfach zu Neugierig :-)

undefined

06.12.2025

Ja, es hat eine Weile gedauert bis ich die Zeit finde wieder etwas hier aufzuschreiben. Ich fasse die letzten Tage daher hier zusammen.

Erster 3D-Testdruck

Ich habe das Gehäuse und den Deckel selbst gedruckt und bin erst mal sehr zufrieden. Bis auf wenige Probleme am Gehäuse war es größtenteils Super. Probleme waren vereinzelte Durchmesser mit ein paar Zehntel mm zu wenig aber auch die Tatsache, dass das TFT-Display gar nicht auf der gesamten Glasfläche anzeigt sondern unterschiedliche Ränder aufzeigt. Also wurde der Ausschnitt für das TFT-Display und einige Durchmesser korrigiert. Auch die Lage des Bocks für das Radio-Modul wurde verändert (nach rechts geschoben), denn nur so passt der zugehörige Stecker zwischen die Taster im Deckel.

Lautsprecher

Bei einem ersten Test der Endstufe mit den kleinen Lautsprechern kam schnell Ernüchterung. Die sind viel zu leise! Auch wenn der Klang für die Größe beeindruckend ist, sind sie doch viel zu Leise für einen Senior. Da ich die Endstufe nicht wechseln möchte, musste ich bessere (größere) Lautsprecher suchen die zur Endstufe und in mein Gehäuse passen. Am Ende bin ich bei Pollin Fündig geworden und habe VISATON Lautsprecher mit 5W an 4Ω gekauft. Tatsächlich, diese haben deutlich mehr "Wumms" und klingen auch gut. Allerdings passen die so nicht in der geplante Gehäuse. Ich habe mich entschlossen, den Lautsprecher auf Grund der optimalen Lautstärke und Klang nach vorne gerichtet einzubauen. Das Gehäuse musste also wachsen:

 undefined

Zweiter Testdruck

Eine Abdeckung für den Lautsprecher werde ich bestimmt finden und verschiebe diese Frage in die Zukunft. Diesen Gehäuse-Entwurf hab ich dann auch gedruckt (über 12 Stunden) und zweimal schwarz lackiert (Acryl-Farbdose mit Matt-Schwarz):

undefined

undefined

Man kann hinten links bei der Kabelklemme sehen, dass ich eine Vorrichtung zur Aufnahme eines Fotowiderstandes eingedruckt habe. Der Wecker soll seine Display-Helligkeit ja dem Umgebungslicht anpassen.

ESP32

Da das Gehäuse jetzt größtenteils fertig war, ging es an den Aufbau. Ich hatte noch nie zuvor ein ESP32-Projekt durchgeführt und hatte einiges an Lernkurve zu diesem speziellen Mikrocontroller. Das WLAN und Bluetooth werde ich vorerst nicht nutzen, aber ein ESP32 ist deutlich günstiger als der ursprünglich angedachte Teensy. Das sind die bisherigen Lernerfahrungen, ganz kurz zusammengefasst:

  • Der ESP32 hat einen 3,3V Spannungswandler, der aber nur begrenzt Leistungsfähig ist. Eine echte Doku mit dem gesicherten Wert hab ich nicht gefunden, aber in verschiedenen Foren war immer wieder ein Maximum von 200mA genannt. Da das TFT so um den Dreh benötigt (bei Aktivität) wollte ich es nicht strapazieren und habe noch einen separaten 5V zu 3,3V Spannungsregler besorgt.
  • Viele PINs sind nicht für alle Aufgaben geeignet. Das offizielle PIN-Sheet verschweigt die meisten davon und nur intensives Forschen hat mir dann offenbart, welche PINs tatsächlich nutzbar sind. Vermeiden sollte man 0,1, 3, 6, 7, 8, 9, 10, 11, 12, 15, 21 + 22 (i2c), 5+23+18+19 (SPI). Weiterhin sind 34, 35, 36 und 39 nur als Eingänge ohne eingebaute Pull-Up oder Pull-Down nutzbar. Das schränkt die Sache deutlich ein und verursacht unnötigen Aufwand und Fehler. Da war der Teensy deutlich besser!
  • Der ESP32 ist nicht 5V-tolerant. Daher kann das Radio-Modul, welches 5V benötigt, nicht einfach per i2c-Bus direkt an den ESP32 angeschlossen werden. Es braucht einen Pegelwandler (Logic Level Shifter 5V~3.3V) am i2c. Das verkompliziert nochmal alles.
  • Den ESP32 unbedingt auf einen Sockel oder Sockelleisten drücken. So kann man später viel leichter Probleme durchmessen! Siehe Bericht weiter unten.

Planung

Diese zwei Blätter hab ich mir in der Planungsphase als Anhaltspunkt gemacht. Sie sind aber inzwischen bereits teilweise überholt:

undefined

Ich hab dann die Lochraster-Platine benutzt um den ESP32, den Spannungswandler und einige Stiftleisten aufzubauen. Auch den Deckel hab ich mit den Tastern und Elementen verschraubt und verlötet (an Stiftleiste). Ich möchte alle Teile einfach an- und abstecken können, damit der Aufbau und das Testen etwas leichter fallen.

Programmierung

Dann ging es an die Programmierung, die zuerst einmal das TFT ansteuern soll. Ich hab mir eine menge Dinge zusammen-gegoogelt und benutze Visual Studio Code mit PlatformIO als Grundlage für das Projekt.

Das größte Problem ist aktuell die benötigte große Schriftart für die Uhr-Anzeige. Ich finde viele Fonts für Arduino- und ESP32-Projekte, aber keiner ist Groß genug für mein Display. Am Ende entscheide ich mich dafür, die Ziffern 0-9 und den Doppelpunkt als 1 Bit Bitmaps zu nutzen. Dafür hab ich mir einen Lizenzfreien Monospaced Font auf fonts.google.com gesucht und die Zeichenfolge "0123456789:" als Test mit 180px ausgeben lassen. Davon dann einen Screenshot gemacht und mit GIMP das passende Schnitt-Raster gesucht (Bild -> Raster konfigurieren). Dann mit diesen Zahlen das imagemagick "convert" tool verwendet um die Ziffern auszuschneiden (convert Numbers_Fragment-Mono-200px.png -shave 12x0 -crop 123x149 +repage +adjoin Numbers-Mono-200px_%02d.png). Am Ende hab ich die Bildchen dann mit einem Online-Tool wie image2cpp in Arduino-Kompatiblen Code konvertiert.

Als Grafik-Library für das TFT-Display habe ich mich für LovyanGFX entschieden. Die originale Arduino-Lib war mit ihrer SPI-Implementation einfach viel zu langsam. Außerdem hat LovyanGFX noch weitere praktische Funktionen wie Text zentriert auszugeben oder mehr eingebaute Fonts. Ich nutzte das also um einen ersten Entwurf zur Oberfläche zu gestalten und einen ersten Loop für die Steuerung zu gestalten. Das Programmgerüst ist sogar schon recht brauchbar.

Nach weiteren 10 Stunden dann die ersten Erfolge!

undefined

Erster Rückschlag

Am folgenden Tag hab ich dann noch den Spannungsteiler aufgelötet und dann kam beim Anschluss ein herber Rückschlag:

Die i2c Kommunikation war plötzlich total kaputt. Die RTC Uhr lieferte nicht mehr 0:00 und den 01.01.2000 sondern total verrückte Zahlen wie 165:233 und auch das Datum sprang wie Wild umher. Im Serial-Monitor wurde dann ein i2c Fehler 263 angezeigt, der irgend einen Timeout darstellt. Am Ende sprangen die Zahlen sogar dann, wenn die i2c Kabel wieder weg-gelötet hab. Ich war total frustriert. Und weil ich sowohl das RTC als auch den ESP32 direkt auf die Platine gelötet hab (ich Vollpfosten) konnte ich nur schwer bis gar nicht nach den Fehlern suchen.

Ich hab mich nach mehreren Stunden Fehlersuche schweren Herzens dazu entschieden, einen zweiten ESP32 und ein neues RTC-Modul zu nutzen um alles neu aufzubauen. Zum Glück hab ich gleich jeweils zwei bestellt. Also wieder stundenlanges löten...

Die Version 2 hat den ESP32 und auch das RTC-Modul jetzt steckbar und ich hab mit größter Sorgfalt gearbeitet. Ein erster Test hat dann sogar wieder funktioniert.

Doch einen Tag später kommt plötzlich das i2c-Problem wieder! Das selbe Phänomen, der selbe Fehler im Serial-Monitor. WTF

Und dazu kommt noch, dass das TFT-Display manchmal weiß bleibt. Und manchmal startet der Serial-Monitor nicht und re-startet den ESP32 die ganze Zeit. Ich kann meinen Frust kaum in Worte fassen. Meine Teensy-Pojekte hatten solche Probleme selten.

Ich untersuche alles, ziehe den ESP32 und messe alle Leitungen. Am späten Abend einen kleinen Erfolg. Ich finde einen Kurzschluss zwischen zwei PINs auf meiner Platine. Zwar kann ich den mit den Augen nicht sehen, aber definitiv messen. Also nehme ich Isopropanol und eine alte Zahnbürste und schrubbe meine Lötkontakte und zumindest die seltsamen Re-Boots und das weiße Display kann ich damit reparieren. Es ist aber auch ein Hinweis, dass es evtl. weitere PINs sind, die da eine Rolle spielen.

Am Abend später stelle ich fest, dass der PIN 12, den ich für den Taster am Rotary-Encoder nutzen wollte, Probleme macht wenn man den mit Pull-Up-Widerstand programmiert. Er hat wohl eine Rolle beim Flashen und definiert die Flash-Spannung beim Re-Boot (oder so ähnlich). Der darf also auch nicht verwendet werden. Ich tausche den gegen den noch freien PIN 26 und dann geht es mit funktionierendem Serial-Monitor weiter. Langsam werden die nutzbaren PINs knapp. Fast 21 PINs sind nicht nutzbar oder nur für bestimmte Zwecke. Die offizielle Pin-Grafik erweckt den Eindruck, dass man mit vielen PINs basteln darf. Das stimmt aber nicht!
Tipp: Die KI von blackbox.ai hat mir bei der Suche nach Problem-Pins ganz gut weitergeholfen.

07.12.2025

Heute messe ich meine Platine nochmal durch um die restlichen Probleme zu identifizieren. Und tatsächlich finde ich noch weitere Fehler. Die 4K7 Terminator-Wiederstände am i2c-Bus hab ich versehentlich gegen 3,3V verbunden statt gegen GND. Bin beim abzählen im Raster wohl um eins verkommen. Autsch, das ist doof. Und ich finde noch ein kleines Masse-Kabel das ich von oben durch die Leiterplatine geführt hab welches sich per Pinzette raus-ziehen lässt. Auch das muss ich neu verlöten. Und siehe da, ich hab endlich das RTC am i2c-Bus und das TFT-Display wieder am funktionieren! Uff, das erleichtert ungemein.

Auch die seltsame Fehlermeldung zum i2c-Bus ging weg, nachdem ich ein Downgrade der ESP32 Basis-Library auf die Version 5.0.0 durchgeführt hab. Darauf hat mich ein Forums-Post gebracht. Scheinbar ist neuer nicht besser...

Also schließe ich den Pegelwandler an den i2c-Bus und klemme das Radio-Modul an. Dazu auch gleich den Verstärker und einen Lautsprecher. Man will das ja mal testen.

Zweiter Rückschlag

Leider rauscht der Lautsprecher laut und dazu kommt ein penetranter Pfeifton. Ich steppe alle FM-Frequenzen durch und trotz eingesteckter Antenne finde ich nur zwei Sender im Rauschen. Als Ursache für den Ton kann ich das TFT-Display ausmachen. Sobald ich es abstecke ist der Ton weg. Stecke ich es wieder an, pfeift es wieder. Ich beende den Abend mit der Erkenntnis, dass ich Kondensatoren (106, 104), Drosseln und Abschirmung brauche. Amazon-Bestellung ist getätigt. Ich bin aber skeptisch, ob das ausreichen wird :-( Und laut einer KI-Frage ist die Antenne mit ca 30cm zu kurz und sollte eher so 75cm betragen? Warum liefern die dann eine 30cm Antenne mit?

10.12.2025

Ich habe weitere Stunden mit der Suche nach einer Lösung für das Rausch- und Pfeifproblem verbracht. Auch Kondensatoren in der Spannungsversorgung des Radio-Moduls, und eine Drossel mit 47 mH Induktivität haben das Problem nicht gelöst. Scheinbar hab ich bei meinen Tests sogar das Radio-Modul zerstört, denn seit neuestem liefert es nur noch Rauschen und findet keinerlei Sender mehr. Es reagiert und ich bekomme Callbacks etc, aber alle Frequenzen haben jetzt eine Signal-Strength von 0. I2c läuft demnach noch, aber das Radio-Modul selbst irgendwie nicht mehr.

Nach aktuellem Stand habe ich jetzt folgende Möglichkeiten:

  1. Ein neues Radio-Modul kaufen und das rauschen weiter untersuchen.
  2. Ein anderes Radio-Modul kaufen, welches "angeblich" störungsresistenter sei.
  3. Ein separates Radio-Modul kaufen, welches nur Taster für Sendersuchlauf und laut/leise hat. Die Taster dann über den ESP32 steuern.
  4. Statt Radio nur piepen oder pfeifen als Weckton einbauen.

Ich hab auch mal überlegt, ob ich das Radio-Modul und die Endstufe über Akkus (4 x 1,2V) betreiben soll um die von den Störquellen (SPI, I2C, Microcontroller) abzuklemmen. Aber eine gemeinsame Masse wäre wegen i2c dennoch nötig, laden müsste ich über die selbe Spannungsquelle und ich bräuchte eine gute Ladelogik damit das klappt. Ich hab da Zweifel...

Allerdings habe ich dann Zeit gefunden am Interface zu arbeiten und aktuell schaut es so aus:

undefined

Man sieht links über dem ESP32 den Stecker für das Radio-Modul (aktuell abgesteckt) und unter dem RTC-Modul den braunen Stecker für die Stromversorgung der Endstufe. Beide bekommen 5V und das Radio-Modul läuft noch durch den level Shifter oben rechts auf der Platine. Ganz oben rechts im Bild sieht man den Lichtwiederstand, der aktuell die Display-Helligkeit steuert. Auch das läuft bereits (geglätteter Durchschnitt der letzten 10 Messungen alle 500ms).

Das Display zeigt aktuell die Uhrzeit und unten den aktiven Alarm (Schalter auf dem Deckel ist aktiv).

Inzwischen habe ich auch ein Menü-System programmiert mit dem man bereits jetzt per Drehencoder die Uhrzeit und das Datum setzen kann. Das setzt dann die Zeit und das Datum auf der RTC. Die Uhrzeit übersteht jetzt also auch Stromverlust.

23.12.2025

Ich habe mich entschieden ein neues Radio-Modul zu kaufen und das funktioniert tatsächlich wieder. Keine Ahnung woran das erste Modul kaputt gegangen ist? Soweit funktioniert jetzt alles, bis auf die Störgeräusche im Radio. Die Programmierung habe ich fertig gestellt. Es lässt sich jetzt auch der Alarm einfach einstellen und er funktioniert auch. Das einzige was jetzt noch fehlt sind Kleinigkeiten. Ich möchte noch einen Menüpunkt zum einstellen der Dimmer-Funktion einbauen. Und wenn der Alarm losgeht, sollte das Display noch heller werden. Aktuell wird es nur kurz heller und dann wieder Dunkler. Da muss ich noch was machen.

Aber ich kann es so nicht verschenken. Die Mission ist also gescheitert :-(

Das Radio surrt und fiept inakzeptabel und ich kann nicht herausfinden, woher es überhaupt kommt. Ist es auf der Spannungsversorgung? Oder "Over the Air"? Oder liegt das Störsignal auf der i2c-Leitung? Da muss ich noch viel Tests machen. Da ich kein Oszilloskop besitze, muss ich viele Tests "auf die harte Tour" machen. Also Leitungen abklemmen, zweites Netzteil parallel nutzen etc. Eventuell meld eich mich auch mal in einem Forum. Eventuell haben die Experten da ja gute Hilfe für mich?

Dazu sollte ich mit dem Radio auch die Endstufe ein- und ausschalten. Auch wenn das Radio-Modul auf Standby steht, ist ein leises surren zu hören weil die Endstufe ja immer aktiv ist. Die hat aber Pins für MUTE und die sollte ich wohl nutzen um bei ausgeschaltetem Radio auch die Endstufe auszuschalten.

Es gibt also noch viel zu tun. Ich versuche den Wecker bis im April funktionsfähig zu haben. Denn im Mai hat meine Mutter dann Geburtstag. Das wäre ja eine gute Gelegenheit :-)

Anbei ein paar Bilder vom aktuellen Stand:

undefined

undefined

undefined