Hoppa till innehål

Spezifikation für eigene Firmware

Wenn du deinen Slimme Controller ohne Firmware bestellt hast, haben wir auf dieser Seite alles für dich, was du zum Flashen deiner eigenen Firmware brauchst. Beachte: sag uns vor der Bestellung unbedingt Bescheid, wenn du deine eigene Firmware flashen willst, sonst wird der ESP im Release-Modus ausgeliefert und du kannst den Flash-Speicher nicht überschreiben.

Verbindung über UART

Der Slimme Controller enthält einen ESP-C3 mit 4 MB Flash. Um mit dem ESP zu kommunizieren, kannst du die UART-Leitungen auf der Platine zusammen mit einem beliebigen billigen TTL-zu-USB-Adapter nutzen. Die UART-Leitungen müssen auf 3,3 V hochgezogen werden, NICHT auf 5 V.

Verbinde RX am UART-Header mit TX am Adapter und mach das Gleiche mit TX der Platine und RX am Adapter. Die Platine kannst du entweder direkt über den 3v3-Pin versorgen oder die üblichen 12 V an die Schraubklemmen anlegen.

Der Kalibrierungs-Button auf der Platine dient gleichzeitig als Auswahl für den Boot-Modus. Wenn du ihn beim Anschließen der Stromversorgung gedrückt hältst, geht der ESP in den Download-Modus und du kannst ihn mit ESP-IDF flashen.

Allgemeine Funktionsweise

Die Platine kommuniziert mit dem Lüfter, indem sie den passenden Optokoppler kurz einschaltet und dann wieder ausschaltet. Zieh die Leitung einfach für 100 bis 200 ms auf High, um einen Tastendruck zu simulieren, und leg sie danach wieder auf Masse. Ein dauerhaft aktiver Optokoppler blockiert jegliche weitere Eingabe am Lüfter komplett — also nicht vergessen, ihn wieder loszulassen. Es werden 6 Funktionen unterstützt, siehe Tabelle unten.

Außerdem gibt es einen speziellen Optokoppler, der umgekehrt angeschlossen ist und vom Lüfter eingeschaltet wird, sobald dieser im automatischen Temperaturmodus läuft. Der arbeitet invertiert: Die Leitung ist High, wenn der Lüfter NICHT im Auto-Modus ist, und wird auf Low gezogen, sobald er es ist.

Auch die beiden LEDs sind invertiert eingebaut, weil sie an Strapping-Pins hängen, die beim Boot High sein müssen. Um sie einzuschalten, setze die Pins auf Low, damit Strom durch die Pins abfließt. Setzt du die LED-Pins auf High, gehen sie aus.

Auf der Platine sitzt schließlich noch ein INA226, der die am Lüfter anliegende Spannung und den fließenden Strom messen kann. Er ist über den I2C-Bus angebunden und hat zusätzlich einen Alert-Pin. Details findest du im Datenblatt.

Pinbelegung

GPIO Richtung Name Beschreibung
0 OUT IN/OUT Taste Lüfterrichtung
1 OUT AUTOHOLD Taste automatischer Temperaturmodus
2 IN RED LED LED, beschriftet „command“
3 OUT ON/OFF Ein-/Aus-Taste des Lüfters
4 OUT FASTER Taste Lüfter schneller
5 OUT BEEP Lässt den Lüfter piepen
6 OUT SLOWER Taste Lüfter langsamer
7 IN AUTO STATUS Status automatischer Temperaturmodus, Low = an.
8 IN GREEN LED LED, beschriftet „connected“
9 IN CALIB BUTTON Kalibrierungs-Taste, wählt auch den Boot-Modus
10 IN ALERT INA226 Alert-Interrupt
11-17 IDK FLASH Interner Speicher, nicht verwenden
18 I/O SDA I2C-Daten für INA226
19 OUT SCL I2C-Takt für INA226
20 IN UART RX Debug-/Flash-Serial, kann anderweitig genutzt werden
21 OUT UART TX Debug-/Flash-Serial, kann anderweitig genutzt werden