Seit Mitte '24 funktioniert die Skriptsprache vom RP2040 und dem ESP8266 auch auf den aktuellen ESP32-Varianten. Ziel dieser Sprache ist es mit wenigen Programm-Zeilen eine gestellte Aufgabe schnell zu lösen. Durch die verschiedenen eingebauten Funktionen reichen wenige Zeilen zur Realisierung eines VU-Meters bzw. eines Leuchtbandes auf Bildschirm und auf LEDs.
													Die Scriptsprache läuft auch auf dem kleinen Waveshare ESP32-S3-Zero mit der eingebauten RGB-LED und seinen wenigen Anschlüssen. Ein Mikrofon-Breakout MAX9814 (Link zu einem ähnlichen Projekt) dient als Schallwandler mit automatischer Verstärkung. Das Ergebnis ist eine Schallproportionale Anzeige - gleichzeitig
													
														- auf der internen RGB-LED als Helligkeit
														
 - auf vier LED als Leuchtband 
														
 - an einer LED als Helligkeit (PWM)
														
 - im Browser-Fenster als Meter-Ausschlag
													
 
													
														Meter-Element im Browser zeigt Schallpegel des Mikrofons
													Ein Waveshare ESP32-S3-Zero verfügt auf einer der beiden Anschlussleisten über alle für dieses Projekt benötigten Anschlüsse:
													
														- GND - MAX9814 
														
 - 3.3V - MAX9814
														
 - 1 - Analoger Eingang 0 - MAX9814 out 
														
 - 2 - Digitaler Ausgang LED 1
														
 - 3 - Digitaler Ausgang LED 2
														
 - 4 - Digitaler Ausgang LED 3
														
 - 5 - Digitaler Ausgang LED 4
														
 - 7 - Digitaler Ausgang PWM LED (optional)
													
 
													espScript32 verfügt über einige eingebaute Funktionen, mit denen sich diese Aufgabe recht einfach und kurz lösen lässt. Mit 20 Zeilen erfolgen 
													
														- Initialisierung
														
 - Messung des Schallpegels
														
 - Umrechnung des Pegels für die Ausgabe
														
 - Ausgabe auf dem Bildschirm
														
 - Ausgabe an eingebaute Neopixel LED
														
 - Ausgabe an angeschlossene LED1 bis LED4 (erweiterbar)  
													
 
													Anhand der Zeilennummern soll das Programm erläutert werden:
													
													Zeile 1: Da es espScripr32 für verschiedene ESP32-Varianten gibt, erlaubt die Funktion adc.info() die Abfrage der aktuell verfügbaren Analogeingänge: ADC-Pins/GPIO: ai/a0 = 1, a1 = 2, a2 = 3, a3 = 4, a4 = 5. Hier wird Pin 1 als ADC0 verwendet. 
													Zeile 2: Der auf dem Mikrofon aufgedruckte Offset von 1,25 Volt wird entsprechend auf den ADC-Pegel umgerechnet, um ihn später zu berücksichtigen. Dies ist der Ruhepegel.
													Zeile 3 und Zeile 4: Mit CSS wird das Aussehen der HTML-Elemente für den Ausgabe-Bildschirm formatiert.
													Zeile 5: Die Eingebaute RGB-LED wird auf geringste Helligkeit initialisiert (kann entfallen).
													Zeile 6: Das Meter-Element wird platziert und mit der Variablen pegel verbunden. Der Messbereich ist 0 bis 1000 mit der Erweiterung für andersfarbige Darstellung für besondere Pegel.
													Zeile 8 und Zeile 20: Dies ist die Hauptschleife der Anwendung in Form einer Endlosschleife.
													Zeile 9: Eine Pause sorgt dafür, dass das Browserfenster und der Interpreter ansprechbar bleiben; vergleicbar mit doevents in VBA.
													Zeile 10: Messung des Effektivwerts der Mikrofonspannung in ADC-Einheiten (Wurzel des Quadratischen Mittelwerts = True RMS) mit Übergabe des Offsets (Ruhepegel).
													Zeile 11 und Zeile 12: Umrechnung des Pegels für die Anzeigen.
													Zeile 13: Übernahme für dei LED.
													Zeile 14: Ausgabe an RGB-LED in Board.
													Zeile 15 bis Zeile 18: Ansteuerung der LED1 bis LED4
													Zeile 16: Zusatzausgabe als PWM-Signal an Pin 7 (optional).
													Das gesamte Listing als reine Textdatei.