Dieses Projekt hatte ich schon mal vorgestellt und es hatte bereits einen Vorgänger.
Hier möchte ich aber ein bisschen teifer in die Details eingehen und einen Austausch ermöglichen.
Hardware:
- ESP32 C3 Supermini
- MPU 6050
- LM2596
Dazu gesellt sich nun noch ein Spannungsteiler um die Batterieladung darzustellen.
Hier sollte man wissen, dass die meisten ESP32 am ADC nur 2,6V vertragen und nicht 3,3V!
Dann geht´s mit 5,2k & 1k gut auf PIN0 oder PIN1. Berechnen lassen kann man das gut hier.
Für den Supermini habe ich verschiedene Pinouts gefunden, was die Verwendung von I2C erschwert hat.
Der PIN8 wird zwar auch von der OnBoard LED verwendet, korrekt verkabelt, läuft die Kommunikation mit dem MPU 6050 problemlos.
Der MPU 6050 kann auch die Temperatur ausgeben, die ist aber natürlich stark von der Eigenerwärmung abhängig.
Geplant ist noch eine Ansicht der Front & Seite mit der Neigung. Je nach eigener Vorliebe.
Die Einrichtung ist für den Wertebereich auf der Libelle, die Ausrichtung des MPU6050 und die Nullung gedacht:
Ein erweitertes Menü erlaubt aber auch eine abweichendes Pinout und Widerstände.
Der “Voltage Threshold” gleicht die Dioden des Verpolungsschutzes und die Widerstände aus.
Für den Gyro und die Spannung gibt es ein Diagramm zur Anzeige:
Ist alles etwas Spielerei, so wie der “Serieller” Monitor im Browser. Also quasi eher eine Debug-Ansicht als ein wirkliches Feature.
Der Rest ist praktisch genauso wie in Version 1.0, nur etwas optimiert.
Die Webseite ist auf dem ESP gehostet und der ESP startet einen Hotspot. Verbindet man sich damit, öffnet sich automatisch die Seite. Am Campingplatz schalte ich nur die 12V Spannungsversorgung an und das Smartphone macht alles von allein, wenn es den Hotspot bereits kannte.
Per Upload kann man jede Datei für die Webseite austauschen oder auch die Firmware hochladen. OTA ging in meinem Netzwerk nicht verlässlich, ist aber noch an Board.
Ab und an habe ich den Fehler “ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH” erhalten, anstelle dass wieder die index.html dargestellt wird. Für den ESP8266 gibt es die Lösung vorab die Länge als “unknown” zu melden und das klappt tatsächlich:
webServer.setContentLength(CONTENT_LENGTH_UNKNOWN);
Ein bisschen teste ich noch, dann werde ich alles auf GitHub bereitstellen.
Dann folgt auch das neue 3d gedruckte Gehäuse ![]()









