Doc Cool's Music Box V 1.0 für Cheap Yellow Display


Ich habe beschlossen, meine Firmware Doc Cool's Utilities V5 für das Cheap Yellow Display (CYD) zu überarbeiten.

Meine ursprüngliche Idee war ja, alle möglichen kleinen Tools und Utilities in eine einzige große Firmware zu packen, bis die 4 MB Flashspeicher des ESP32 Classic ausgereizt sind. Da habe ich aber auch noch nicht den Launcher von bmorcelli gekannt, mit dem es möglich ist, mehrere Firmwares auf einer SD-Karte zu halten und zwischen ihnen zu wechseln. Siehe hierzu auch meinen Artikel Launcher für Cheap Yellow Display (ESP32-2432S028) installieren für mehrere Firmwares auf einem Gerät.

Mit diesem Wissen habe ich mich dann entschlossen, meine Firmwares für das Cheap Yellow Display in thematischen Teilen herauszubringen. Man kann ja mit dem Launcher zwischen ihnen wechseln und es muss nicht mehr alles in eine einzige Firmware hineingestopft werden.

In der Music Box Firmware geht es rund um das Thema Audio und ich habe ein bisschen geschwankt zwischen den Namen "Audio Tools", "Sound Machine" und "Music Box" für diese Firmware und bin dann bei Letzterem hängen geblieben. Die Firmware beinhaltet folgende Audio Tools: Webradio, MP3-Player, Soundboard und Speech Synthesizer, die ich im Folgenden kurz erklären möchte.

Ich habe mich als Sprache für die Firmware für Englisch entschieden, weil ich damit ein größeres Publikum erreichen kann, als wenn die Firmware nur Deutsch wäre. Die Mühe für mehrere Sprach-Varianten wollte ich mir dann doch nicht machen und die meisten Deutschen können ja auch Englisch sprechen. Ich habe versucht, mich in einfachem Englisch auszudrücken. Manche Wörter werden sowieso schon eher im Englischen benutzt wie "Web-Radio" oder "MP3-Player".

Die Erklärvideos bleiben weiterhin in Deutsch. Bei YouTube gibt es ja mittlerweile die Möglichkeit, das simultan in andere Sprachen zu übersetzen, sei es als Untertiteln oder direkt als Sprache.

Die neuen Funktionen

Diese Firmware ersetzt die alten Utilities in Version 5 und erweitert sie. Was die V5 schon konnte, kann im Artikel ESP32-2432S028 mit 2.8" Touchscreen (Cheap Yellow Display) DC Utilities V5: MP3-Player und den Vorgänger-Versionen (siehe Links am Ende des Artikels) nachgelesen werden. Das werde ich jetzt nicht noch einmal wiederholen, soweit es nicht äußerst wichtig ist. Die verlinkten Artikel gehen aber in die Tiefe und die anderen Artikel zu dieser Firmware zeigen auch, wie man sie vom Prinzip her selbst programmieren kann.

Kompakteres Design


Ich habe die Benutzeroberfläche ein wenig aufgeräumt. Die vielen Einzel-Buttons für Test und Einstellung sind jetzt in die zwei Untermenü-Buttons "Settings und WLAN" sowie "Test and Calibrate" gewandert.

Das macht die Buttonliste im Haupt-Menü kürzer und jetzt passt alles auf einen Screen und man muss nicht mehr scrollen.

Einstellungen und WLAN


Unter "Settings und WLAN" findet man den WLAN-Scan, bei dem man ein WLAN auswählen kann und ins Clipboard kopieren kann und Preferences, bei dem man diesen WLAN-Namen wieder einfügen kann und sein Passwort eingeben kann für das WLAN. Außerdem kann man dort die Beleuchtungsstärke einstellen.



Hardware-Test und Bildschirm-Kalibrierung


Unter "Test and Calibrate" findet man die drei Einträge "RGB-LED", "Test Display" und "Test/Calibrate Touch".

Test RGB-LED


Mit dem Button RGB-LED kann man die RGB-LED auf der Rückseite der CYD-Platine steuern. Das habe ich mal drin gelassen, auch wenn es nicht direkt etwas mit Audio zu tun hat, denn das Tool soll eigentlich nach wie vor fähig sein, die Hardware des CYD zu testen und das braucht auch nicht viel Speicher.

Test und Kalbrierung Display


Bei "Test Display" kann man nach toten Pixeln auf die Suche gehen, indem die unterschiedlichen Farben einzeln durchgeschaltet werden und nicht oder immer leuchtende Pixel damit sofort auffallen.

Und unter "Test/Calibrate Touch" kann man den Touchscreen einstellen und diese Einstellung auf einer eingelegten SD-Karte speichern. Denn manchmal ist die Touchscreen-Folie nicht hundertprozentig positionsgenau auf das Display geklebt und leicht versetzt. Hier kann man dann Offsets eingeben, sodass ein Tap wirklich dort registriert wird, wo man hingeklickt hat. Die Firmware gleicht das dann intern aus.

In den Test-Daten findet man auch den Wert für den Lichtsensor, der bei Dunkelheit größer wird. Außerdem habe ich jetzt auch hier einen Zurück-Button eingebaut.

Web-Radio


Beim Webradio ist eigentlich alles beim Alten geblieben. Hier kann man auf eine Station klicken und man hört dann den Sender.

Vielleicht als Hinweis noch, dass das Webradio viel Speicher braucht und dass Folgendes oft hilft, wenn der freie Speicher zu klein oder zu fragmentiert ist: einen Reset machen und dann noch mal ins Webradio gehen. Dann sollten auch alle Stationen empfangen werden können. Eventuell die Lieblingsstation als Erste und Einzige auswählen, als alle durchprobieren. Der Speichert ist knapp.

Manchmal macht die Firmware auch von alleine einen Reset, wenn kein Speicher mehr frei ist. Einen Reset kann man übrigens auch machen, indem man fünf Sekunden links unten auf die Ecke tappt. Wem das Hinzufügen von neuen Stationen mittels der Eingabe der URL, des "runter in die Liste"-Knopfs und "Save" zu umständlich ist, der kann die SD-Karte auch entnehmen und dort die Datei /settings/webradio_stations.ini auf dem PC editieren.

MP3-Player


In der alten Version hatte der MP3-Player alle MP3-Files im Verzeichnis MP3 und allen Unterverzeichnissen abgespielt und wenn er auf Shuffle stand, auch ein neues MP3-File innerhalb aller Unterverzeichnisse ausgewählt. Das kann er immer noch, doch nun ist es so, dass man, wenn man auf MP3-Player klickt, die Auswahl hat zwischen zwei Modi, und zwar dem alten Verhalten "spielen über komplett alle Verzeichnisse" oder aber dem Verhalten, MP3s nur aus einem Verzeichnis abzuspielen. Dann wählt man mit "Choose Folder" das Unterverzeichnis aus, auf das sich dann ausschließlich bezogen werden soll.

Dann werden nur alle MP3s in diesem Unterverzeichnis abgespielt. Wenn man also mehrere Interpreten unter dem MP3-Verzeichnis hat, dann kann man so einen Interpreten aussuchen und nur Musik von diesem abspielen.


Danach sieht der MP3-Player weiterhin wie aus der vorherigen Version gewohnt aus.

Soundboard

Ganz neu ist das Soundboard. Sowas kennt ihr vielleicht als "Nippel-Board" aus der Show TV-Total mit Stefan Raab, mit dem er immer Samples wie Sprüche eingespielt hat.

Hier kann man auf bis zu 16 Knöpfe kurze Samples (MP3, Wav) legen und dann jeweils durch einen Klick abspielen.


Dazu legt man Unterverzeichnisse unter /soundboards an mit entsprechenden Namen und kopiert dann dort die entsprechenden MP3-Files hinein. Die Größe der Buttons wird automatisch je nach Anzahl der Samples angepasst.

Ein Sample muss immer komplett gespielt werden und kann nicht unterbrochen werden, was aber kein Problem ist, weil diese ja immer kurz sind. Während des Abspielen erscheint der Button gelb.

Man kann sich in den Unterverzeichnissen unterschiedliche Soundboards kreieren, zum Beispiel mit vorgefertigten Aufnahmen gegen Spam-Anrufe, oder zur Untermalung seines YouTube-Videos oder einfach nur so zum Spaß.

Speech Synthesizer


Als letzte neue Funktion gibt es den Speech Synthesizer, mit dem man auch viel Spaß haben kann. Hier wird ein eingegebener Text an Google Text-to-Speech gesendet und das daraus generierte Sprach-Sample mit der Sprachnachricht dann abgespielt.

Es stehen unterschiedliche Sprachen zur Verfügung, die man bei "Language" auswählen kann und der Text darf bis zu 199 Zeichen lang sein. Mit Klick auf den Button "Say it" wird die Sprachnachricht dann genriert, heruntergeladen und abgespielt. Man braucht also eine Internetverbindung und muss zuvor sein WLAN-Passwort eingegeben haben.

Unter Language eine Sprache zu wählen, die nicht der eingegebenen Sprachnachricht entspricht, führt zu lustigen Akzenten. Unbedingt mal ausprobieren!

In allen Ecken soll Spezielles drin stecken

Und dann gibt es noch ein paar Sonderfunktionen, die eigentlich nur für mich als Entwickler da sind, die ich aber trotzdem kurz erwähnen will. Nicht, dass ihr erschreckt, wenn da auf einmal Komisches passiert.

Und zwar passieren Dinge, wenn man in den Ecken des Bildschirms länger tappt. Wenn man oben links drei Sekunden lang tappt, macht man einen Screenshot im 565-Format. Wenn man länger als drei Sekunden oben rechts tappt, erscheint ein Raster, an dem ich mich beim Programmieren orientiere, um die Steuerelemente zu positionieren und auszurichten. Eigentlich nur wichtig für mich als Entwickler.

Und für euch vielleicht besonders wichtig: wenn man mehr als fünf Sekunden unten links in die Ecke tappt, dann macht das Gerät einen Reset. Das finde ich ganz bequem und praktisch, weil ich dann nicht immer auf die Rückseite langen muss, falls mal ein Reset nötig ist. Wenn das CYD allerdings komplett abgestürzt ist, dann funktioniert das nicht mehr.

Firmware


Ihr müsst hier keinen Source-Code herunterladen und dann kompilieren, wie oft üblich, sondern ihr könnt die Firmware komplett runterladen und dann auf euer CYD kopieren und schon kann es losgehen.

Es gibt zwei Arten, um die Firmware auf euer CYD zu bringen: a) den Web-Flasher, dann habt ihr nur diese eine Firmware auf eurem CYD. und b) als Download für eure µSD-Karte im CYD. Dann könnt ihr mehrere Firmwares auf eurem CYD haben und zwischen Ihnen umschalten.

Und dann müsst ihr noch wissen, welche Version des Cheap Yellow Display ihr habt. Davon gibt es nämlich mehrere. Für diese Version werden unterstützt:

Web-Flasher

Hier müsst ihr lediglich euer CYD über ein USB-Kabel mit eurem PC verbinden (darauf achten, dass das USB-Kabel auch Datenleitungen hat, ein USB-Kabel-Tester gibt Aufschluss) und einen Chromium-basierten Browser (z. B. Google Chrome, Vivaldi, Brave, Microsoft Edge, Opera) starten und auf den für eure CYD-Version richtigen Button klicken:

Die Firmware-Installation funktioniert leider nur mit Google Chrome und Chromium-basierten Browsern wie Microsoft Edge, Opera, Vivaldi oder Brave; jedoch nicht mit Firefox. Bitte benutze eine HTTPS-Verbindung, HTTP funktioniert nicht.

Die Firmware-Installation funktioniert leider nur mit Google Chrome und Chromium-basierten Browsern wie Microsoft Edge, Opera, Vivaldi oder Brave; jedoch nicht mit Firefox. Bitte benutze eine HTTPS-Verbindung, HTTP funktioniert nicht.

Die Firmware-Installation funktioniert leider nur mit Google Chrome und Chromium-basierten Browsern wie Microsoft Edge, Opera, Vivaldi oder Brave; jedoch nicht mit Firefox. Bitte benutze eine HTTPS-Verbindung, HTTP funktioniert nicht.

Nach ca. 2 Minuten ist alles installiert und euer CYD startet mit der neuen Firmware neu.

Download für Launcher

Falls ihr den Launcher noch nicht kennt bzw. noch installiert habt, gibt es hier eine Anleitung: Launcher für Cheap Yellow Display (ESP32-2432S028) installieren für mehrere Firmwares auf einem Gerät

Der Launcher ist so eine Art "Über-Firmware", die andere Firmwares von der µSD-Karte flashen kann. Ihr müsst dazu lediglich den Launcher installieren und dann die für euer CYD passende Firmware downloaden, am besten gleich in das /downloads-Verzeichnis eurer µSD-Karte. Dazu muss die µSD-Karte natürlich bei euch im SD-Kartenleser am PC stecken.







Demo und Video

Ich habe wieder ein kleine Demonstrations-Video gemacht, dass die neuen Dialoge in Aktion zeigt:



Schaut euch auch das alte Video für V5 von Doc Cool's Utilities an, in dem der MP3-Player genau erklärt wird:



Und außerdem das alte Video für V4 von Doc Cool's Utilities an, in dem das Web-Radio genau erklärt wird:



Und dann hätte ich noch ein altes Video für V3 von Doc Cool's Utilities an, in dem die Einstellungen genauer erklärt werden:



Und die V2 von Doc Cool's Utilities erklärt dann zu guter Letzt auch nochmal genau den RGB-LED-Color-Changer:



Weitere Aussichten

Die nächsten Tools werde ich dann als eigenständige Firmwares herausbringen, zwischen denen man ja mit dem Launcher umschalten kann.

Wenn es eine neue Version dieser Firmware gibt, werde ich euch an dieser Stelle darauf hinweisen.

Update 2026-02-21

Ich habe nun auch eine Version für das CYD von Elecrow (CYD-CROW), also das "CrowPanel ESP32 Miner LCD-2.8 inch" programmiert. Nun auch zu finden oben bei den Firmware-Downloads.



Quellen, Literaturverweise und weiterführende Links