Internals
Die Elektronik basiert auf einem
ESP32-C3 von Espressif der auf 8MB Flash und
512KB RAM erweitert wurde.
Er stellt eine WiFi und Bluetooth Verbindung bereit. Ein simples Netzteil ist ebenfalls enthalten. Achtung Bastler,
die Elektronik ist NICHT galvanisch vom Netz getrennt!
Die beiden Schaltkontakte des eingebauten Relais (HF32FA-G 12V) sind auf den Klemmenblock
geführt (Kontakte "O" und "I"). Sie sind elektrisch sicher und vollständig vom Rest der Elektronik isoliert und
können beliebig eingesetzt werden.
Das Relais sitzt um 90° gedreht auf einer Hilfsplatine.
Am Netz-Eingang sitzt ein Schutz-Varistor und eine 500mA Sicherung.
Das Netzteil ist zweistufig aufgebaut. Die erste Stufe ist ein BP2522X (buck-converter). Er setzt die Netzspannung
auf 12V herunter. Abweichend zum Datenblatt-Vorschlag wird am Eingang nur eine einzige Diode an Stelle eines
Brückengleichrichters eingesetzt. Es folgen 2 Kondensatoren mit jeweils 3.3uF/400V. Am Ausgang ist ein 330uF/16V Elko.
Die 12V-Spannung wird nur zur Ansteuerung des Relais benötigt.
Es folgt ein STI3470 (step-down converter, Marking S47B) der die 12V auf 3.3V für den Prozessor herabsetzt.
Das Marking kann man auch als S478 interpretiert. In diesem Fall handelt es sich um einen SY8120B,
zufälligerweise ein funktionsidentischer Ersatztyp.
Die Modul-Temperatur wird über den 10kOhm NTC gemessen und ist als "Chip"-Temperatur auslessbar. Das ist etwas
merkwürdig weil die ESP32 über einen On-Chip Temperatursensor verfügen. Vielleicht ist der NTC genauer oder
zuverlässiger oder rückwärtskompatibel? In den Dokumentationen wird darauf nicht eingegangen.
Auf der Rückseite der Antennenstruktur sitzt ein fetter Keramik-Kondensator. Er ist auf beiden Seiten mit Masse
verbunden und scheinbar nur eine mechanische Stütze um für einen definierten Mindestabstand des Relais zu sorgen.
Zu den Shellys existieren keine offiziellen Schaltpläne. Die folgende, unvollständige Skizze ist durch Nachverfolgen
und Ausmessen auf der Platine entstanden. Die Widerstandswerte wurden in der Schaltung gemessen, die Werte der
SMD-Kondensatoren sind unbekannt. Angaben zu den Halbleitern sind aus dem SMD-Marking abeleitet.
Achtung! Die Klemme/Phase "L" ist direkt mit der Elektronik-Masse verbunden! Deshalb grösste Vorsicht bei irgendwelchen
Messungen!
Die Schaltkontakte des Relais ("O" und "I") sind potentialfrei und sicher.
Der "SW" (Switch) Eingang reagiert auf eine negative Spannung (negative Netzhalbwelle). Q1 ist im Ruhezustand inaktiv und Pin [16] des ESP
liegt über R4 auf Masse. Eine negative Spannung an "SW" (kleiner als -3V oder so?) schaltet den Transistor durch und
legt Pin[16] an 3.3V.
Die Platine ist 1.0mm dick und hat 4 Kupferlagen. Es werden normale gebohrte und Micro-Laser-Vias verwendet.
Als Ergänzung noch ein paar schöne Fotos aus dem
Home Assistant Community Forum
12V-Betrieb und Pinout
Direktes Arbeiten an der Elektronik ist lebensgefährlich weil das Netzteil nicht galvanisch getrennt ist.
Die Klemme/Phase "L" ist direkt mit der Elektronik-Masse verbunden und würde alle angeschlossenen Geräte direkt
unter Netzspannung setzen.
Zum sicheren Basteln, oder auch für dauernden Betrieb, kann man die 12V aber auch direkt über ein externes
Labornetzteil einspeisen. Ein geeigneter Einspeisepunkt ist parallel zum Ausgangskondensator (C26 auf der Platine)
des 12V->3V Wandlers BP2522. Die Lötpunkte befinden sich rechts neben Taster "SW1".
Am Rand der Platine befinden sich Testpads für einen (USB-)UART und zum Programmieren des ESP.
Die 3.3V kann man alternativ auch über den entsprechenden Testpunkt einspeisen. Die externe 12V-Einspeisung
darf aber NICHT gleichzeitig aktiv sein.
Eine externe 12V zu verwenden ist sehr zu empfehlen. Die 3.3V aus einem USB-UART Umsetzer sind möglicherweise
nicht in der Lage den Peak-Strombedarf zu liefern.
Die Shelly-Firmware plappert im normalen Betrieb bereits fleissig und ständig über seine serielle Schnittstelle
(115200,8,1,N) und sendet ihren Status und Infos zu gerade laufenden Aktionen.
Viele der Prozessorpins können mit alternativen Funktionen belegt werden. Die folgende Skizze zeigt die Ausgangskonfiguration:
Die Pegel einiger Pins werden beim Boot-Vorgang abgefragt und steuern ob der Download-Modus gestartet werden soll.
Diese Pins sollte man nicht verwenden oder entsprechend umsichtig beschalten.
Der Shelly verwendet die folgenden IOs:
| Pin # | IO | Funktion |
|---|---|---|
| 4 | GPIO0 | LED |
| 5 | GPIO1 | Reset-Taster |
| 8 | ADC1_CH3 | NTC |
| 13 | GPIO7 | Relay |
| 16 | GPIO10 | Schalter-Eingang |