Das ESP8266 230V I/O Modul ist genau was der Name verspricht: Eine kompakte Platine mit 230V Ein- & Ausgängen, Netzteil und einem ESP8266 WLAN Mikrocontroller.
Mit der passenden Software wird daraus eine netzwerkfähige „Internet der Dinge“ Steuerung die netzbetriebene Geräte automatisiert oder kleine Lasten schaltet.
Die Schaltung sollte nur mit ausreichender Erfahrung in Betrieb genommen werden. Dazu gehört nicht nur das Einhalten von Sicherheitsregeln beim Anschließen, sondern auch die Abschätzung ob z.B. die Schaltleistung für die Anwendung ausreicht.
Inhalt
Funktionen
- ESP8266 (ESP-07) WLAN Modul
- 230V Versorgung & I/O
- 2x Ausgänge 5A, L geschaltet
- 2x Eingänge (Optokoppler)
- 5V/600mA Netzteil-Modul (HLK-PM01)
- Sicherung & Varistor für Netzteil
- Löschglied (Snubber) am Ausgang
- ≥5mm Trennung zur Netzspannung
- Freie GPIO (I²C, ADC) herausgeführt
- Spannungsregler mit Unterspannungsüberwachung
- Vorbereitet für WLAN Stromsparmodus
Technische Daten
- Betriebsspannung: 230V/50Hz (Netzteil 100-240V)
- Stromverbrauch
- Leerlauf (WLAN suche): 7,89mA
- Leerlauf (WLAN verbunden): 7,78mA
- WLAN, Ein- & Ausgänge aktiv: 13,83mA
- Optokoppler: 1,6mA pro Eingang
- Schaltleistung: 5A pro Kanal, max. 1250VA/150W resistive Last
- Absicherung: 400mA flink (Netzteil), Relais ohne Vorsicherung
- Löschglied: 320Ω + 47nF
Maße
Die Platine misst 45,5mm x 45,5mm, vollständig bestückt ist das Modul 24mm hoch. In der Zeichnung ist zusätzlich der Sicherheitsabstand zur Netzspannung hervorgehoben.
Mit dem Gehäuse misst das komplette Modul 49,5mm x 49,5mm x 26,5mm und passt in eine Unterputz-Gerätedose.
Einträge im Blog 📑
- Entstehungsgeschichte des Moduls & erstes Foto (April 2016)
- Release Ankündigung (April 2017)
- Sammelbestllung/Bezugsquelle für Platinen und Module (Juni 2018)
Schaltplan & Layout
Projekt nachbauen 🔧
Die Leiterbahn vom Anschluss „L“ zu den Relais sollte mit einem aufgelöteten Draht (0,6mm) verstärkt werden. Zwischen ESP8266-Modul und Platine sollte ein Stück Kaptonfolie (oder Isolierband) geklebt werden, damit sich die Leiterbahnen nicht berühren. Am Widerstand R1 muss ein Anschluss umgebogen und anschließend mit Schrumpfschlauch isoliert werden. Beim Biegen unbedingt einen dünnen Schraubendreher o.ä. unterlegen, um den Draht nicht scharfkantig abzuknicken was das Gehäuse des Widerstands beschädigen würde!
Wichtig: Nach dem Löten die Flussmittelreste mit Spiritus o.ä. gründlich entfernen um Kriechströme zu verhindern!
Downloads
Aktuelle Version: 1.0 vom 18. Mai 2016 (621,74 KB)
Download “ESP8266 230V I/O” (59758-mal heruntergeladen)
- ESP8266-HVIO_1.0.zip – 1.0 (621,74 KB - MD5: b27a38a36ae99d367344b83e540ebe50 - 18. Mai 2016)
Anschlussplan Netzspannungsseite:
ESP8266-HVIO_Anschlussplan_1.0.pdf (57176 Downloads )
Versionsinfo
- 1.0 (03/2016): Erster Prototyp
Firmware
Durch die Unterstützung von Thomas wird das Modul inzwischen von der Sonoff-Tasmota Firmware unterstützt – vielen Dank dafür!
Anschlussbelegung 🔌

Alle Anschlüsse sind auf der Unterseite neben der zugehörigen Lötstelle beschriftet.
Die digitalen Pins (I²C, UART) sind für 3,3V Pegel geeignet, der ADC Eingang nur bis 1V!
Über den „Power Good“ Ausgang des Spannungsregler wird das Funkmodul erst aktiviert nachdem die Stromversorgung stabil ist und mindestens 3,1V anliegen. Außerdem wird bei zu starken Schwankungen automatisch ein Reset ausgelöst.
| Anschluss | Pin | Name | Funktion |
|---|---|---|---|
| Netz | 1 | L | 230V Versorgung Außenleiter |
| 2 | O1 | Ausgang 1 (L geschaltet) | |
| 3 | O2 | Ausgang 2 (L geschaltet) | |
| 4 | I2 | Eingang 2 (L geschaltet) | |
| 5 | I1 | Eingang 1 (L geschaltet) | |
| 6 | N | 230V Versorgung Neutralleiter | |
| I²C | 1 | 3V3 | 3,3V Versorgung (150mA) |
| 2 | SDA | I²C Daten | |
| 3 | SCL | I²C Takt | |
| 4 | GND | Masse | |
| I/O | 1 | Rx | UART Rx |
| 2 | Tx | UART Tx | |
| 3 | ADC | ADC/TOUT (ohne Filter) |
Pinbelegung ESP-07 Modul
Die Optokoppler sind als Inverter beschaltet, ein 230V Eingangssignal erzeugt einen LOW Pegel am GPIO Pin.
| Pin | Name | Funktion | Beschaltung |
|---|---|---|---|
| 1 | Reset | Power Good: VCC >3,1V -> High | 10kΩ Pullup |
| 2 | ADC/TOUT | ADC (ohne Filter) | |
| 3 | Enable | Fest an VCC | |
| 4 | GPIO16 | Wakeup, über Jumper "Sleep" an Reset | |
| 5 | GPIO14 | I/O, I²C SCL | 10kΩ Pullup |
| 6 | GPIO12 | Eingang 1 ("I1", invertiert) | 47kΩ Pullup, 100nF Filter |
| 7 | GPIO13 | Eingang 2 ("I2", invertiert) | 47kΩ Pullup, 100nF Filter |
| 8 & 9 | Power | VCC & GND | |
| 10 | GPIO15 | I/O, LED (aktiv high) | 10kΩ Pulldown |
| 11 | GPIO2 | I/O, I²C SDA | 10kΩ Pullup |
| 12 | GPIO0 | I/O, über Jumper "Flash" gegen Masse | 10kΩ Pullup |
| 13 | GPIO4 | Ausgang 1 ("O1") | 47kΩ Pulldown |
| 14 | GPIO5 | Ausgang 2 ("O2") | 47kΩ Pulldown |
| 15 | GPIO3 | UART Rx | |
| 16 | GPIO1 | UART Tx |
Testkontakte (Unterseite)
Zum Starten im „FLASH“ Modus (Bootloader) können die Testkontakte mit einer Pinzette überbrückt werden („FS“ & „G“ beim Einschalten verbinden). Etwas komfortabler geht das mit zwei Tastern oder den Handshake-Pins (RTS & DTR) am USB UART Adapter.
| Pin | Beschriftung | Funktion | |
|---|---|---|---|
| 1 | Rs | Reset | Low für Reset |
| 2 | Fs | Flash | GPIO0 Boot Mode: High = "RUN", Low = "FLASH" |
| 3 | G | Masse | |
| 4 | 5V | 5V | (150mA, beschriftet auf Oberseite) |
| 5 | V | 3,3V | (150mA) |
Lötjumper
Mit zwei Lötjumpern auf der Unterseite kann die Konfiguration der Schaltung angepasst werden. Zum Verbinden reicht ein großer Klecks Lötzinn, alternativ passt auch ein 0Ω Widerstand in der Bauform 0603 auf die Pads.
- Sleep
Verbindet GPIO16 mit Reset um den Mikrocontroller aus dem Stromsparmodus aufwecken zu können. - Flash
Legt GPIO0 permanent auf Masse, wodurch der ESP8266 nach dem Einschalten immer im Bootloader („FLASH“ Modus) startet.
Externe Antenne
Ein Vorteil des ESP-07 Moduls ist der U.FL Anschluss für eine externe Antenne, die ohne zusätzlichen Stromverbrauch eine höhere Reichweite bietet.
Bevor die neue Antenne verwendet werden kann, muss die eingebaute Keramikantenne deaktiviert werden um Störungen zu vermeiden. Dazu wird der kleine Kondensator zwischen der aufgelöteten Antenne und dem U.FL Anschluss entfernt. Damit sich der Stecker beim Einbau nicht verdreht sollte die Leitung mit etwas Isolierband z.B. am Netzteil fixiert werden.













YL
Vielen Dank für das tolle Projekt, habe meine 8 Stück erhalten und teilweise bereits zusammengebaut. Um anderen eventuelle Fehlersuche zu ersparen hätte ich da noch einen Kommentar zum betreffend Firmware (Tasmota) flashen.
Ich habe das Modul mittels Pin-Header (3,3V, Gnd, TX und RX) mit dem seriellen Port verbunden, die Kontakte für den Bootmode gebrückt und erfolgreich Tasmota aufgespielt. Nach dem Neustart blinkte die blaue LED (Wifi) sehr schnell und es wurde auch kein WLAN aufgemacht. Erst nach langem rumprobieren kam ich dann auf die Idee, mal die 230V anzuschließen und Voilá schon funktioniert es!
Gibt es noch Platinen? wenn ja, an wenn muss man sich wenden?
Hallo,
danke für das Interesse! Wahrscheinlich hat David noch welche aus der 3. Auflage im Angebot: https://luani.de/blog/esp8266-i-o-modul-geht-in-die-3-runde/
Grüße
Leo
Frohes Neues!
ich habe noch welche einfach fragen 😉
Es liegen wieder einige Platinchen bereit. Wer also noch Bedarf hat sollte mal wieder im Mikrocontroller.net (Forum) vorbei schauen.
LG
PS: Was macht die Weiterentwicklung. Spanend wäre aus meiner Sicht noch eine ganze Relais-Batterie, welche wir über die I2C anhängen. Hab mich aber noch nicht so weit in Tasmota eingearbeitet, um die Machbarkeit darüber abzudecken.
Großartige Arbeit! Für zukünftige Modifikation würde ich noch folgende Features mit in die Ideenliste aufnehmen:
– Möglichkeit die beiden Relaiskontakte auch potentialfrei zu betreiben
– Möglichkeit die Opto-Eingänge anders zu dimensionieren, um mit ungefährlichen Steuerspanungen zu arbeiten. Geht natürlich auch wenn man andere Widerstände bestückt, aber man könnte es ja als Option/Lötbrücke vorsehen.
Hallo Zusammen,
Super Modul, und wirkt vom Design deutlich „sicherer“ als die Shelly alternativen.
Allerdings stelle ich mir die Frage, ob ich meine Rolladen „Auto-Kalibrieren“ kann?
Ich kenne es bisher nur so:
Die Last (Power) wird gemessen, sobald keine Last mehr da, wird die Zeit von Lastbeginn zu Lastende gespeichert
Basierend auf der Dauer könnte ich nun die Rolladen auf jedes beliebige Zeitintervall somit auf Teilöffnung / -schließung fahren.
Ist das bei diesem Modul umgesetzt, bzw. gibt es eine Möglichkeit das Modul anderweitig in dieser Art zu nutzen?
Danke vorab.
Grüße
Christian
Moin Christian,
dieses Modul hat leider keine Last Messung, nur Schaltkontakte.
Falls deine Motoren Endlagen Signale ausgeben könntest du diese mit den beiden Eingängen auswerten.
Grüße
Leo
Hallo habe dein Projekt nachgebaut! Funktioniert soweit alles bestens bis auf ein eigenartiges Phänomen. Nach geringer Zeit ca. 2-5 min. Wenn man den Schalter betätigt hat, fängt es an sich selbstständig zu machen und schaltet in meinem Fall das Licht ständig aus und ein! Dies geschieht dann immer schneller. Woran könnte dies liegen!?
Hi leo,
Got info about the production being handled by Mr David.
I contacted him in the for same. But i dont know your language. I know only english.
May be i couldn’t explain to Mr. David my requirement because of this language.
I need fully populated board 5 pieces.
I need it to be delivered to United Arab Emitrates.
Also how can i make payment for the same?
Expecting a reply from someone who knows English and can be a mediator between us
Thanks
Hi Leo / David.
Mr David responded this comment and asked the requirement details. He had asked for the courier and payment possibilities for which i had replied in the same mail which i recieved in my mail id from Mr David. . But since then there has been no response again..
Please respond
Hallo Leo-Andres,
sehr cooles Projekt!
Wäre es eigentlich denkbar, den ESP8266 durch ein RFM69 Modul + direkt aufgelöteten Atmega328 zu ersetzen? Was wären dabei die größten Herausforderungen?
VG Tom
Moin, lese gerade in der aktuellen c‘t von Shelly und erinnerte mich sofort an dieses Projekt – ist Shelly ein osteuropäischer Klon?
Shelly1 ist ein Gefährliches Teil. Kein aber Brandgefährlich. Keine Galvanische Trennung. L(230V) auf dem DebugHeader der auch noch ohne das Gehäuse abzunehmen zugänglich ist. Und Abstände zwischen L und N betrügen oft weniger als 1mm.
Wenn man L und N vertauscht. Brennt er beim Nutzen von SW ab.
Hallo,
sehr intersantes und professionell umgesetztes Projekt!
Ich bin gerade dabei einen Sensor-Stecker zu bauen. Dieser soll mit einem DHT22 Luftfeuchtigkeit und Temperatur und mit einem MQ135 Sensor den CO2 Gehalt messen und via ESP8266 auf thingspeakt schicken und auf meinem Rasperry im Netzwerk auf einem MQTT-Server die Daten streamen.
Das ganze hab ich mit einem ESP8266 wemos D1 mini umgesetzt. Jetzt will ich das ganze in ein 230V-Steckergehäuse einbauen, damit ich das einfach in die Steckdose stecke und los gehts.
Bei der Suche nach einm 230V Netzteil bin ich auf dein Projekt gestoßen. Das Modul würde auch in ein Steckergehäuse passen. Meine Frage ist jetzt: Komme ich bei deinem Modul an einen digitalen Pin für den DHT22 und den analogen PIN für den MQ135-Sensor?
Ich würde die Pins und alles andere (Spannung, GND,…) nach oben führen und mir einen andere Deckel drucken auf dem dann die Sensoren sind.
Oder ist für mich eine andere Lösung einfacher (
Moin!
Bei meiner Platine liegen ADC, UART Rx/Tx, I²C SDA/SCL und 3,3V Versorgung auf Stiftleisten am Platinenrand neben den Relais. Siehe auch die Screenshots vom Layout. Deine Projektidee könntest du damit also gut umsetzen 🙂
Moin! Danke! Hab gleich mal bei David wegen einem Board angefragt. Hoffe ich muss nicht zu lange darauf warten.
Hallo ich hätte auch gerne 6 stück, was sollen die denn kosten? Auf jeden Fall ne super Sache und das was auf dem Markt fehlt.
Hallo Leo,
schöne Projekt, werde ich bestimmt mal nachbauen.
Was mich aber sehr wunder ist der recht hohe Stromverbrauch.
7,8mA bei 230V wären fast 1,8W. Wie wurde das gemessen? Sind hier vielleicht noch Blindanteile drin?
Ein Wemos D1 verbraucht an 3,3V ca. 70mA, durch einen LDO dann auch an 5V = 0,35W. Ich glaube kaum, dass der AC/DC Wandler eine solch schlechte Effizienz hat, und die andere Peripherie wird auch nicht viel verbrauchen.
Wäre schön wenn das geklärt würde, denn wenn hier 1,8W ist mir dauerhaft zuviel, wenn einige parallel laufen.
Viele Grüße
Tobi
Hallo Tobi,
guter Einwand! Den Stromverbrauch habe ich mit einem einfachen True RMS Multimeter gemessen. Den Leistungsfaktor kann ich leider nicht bestimmen, bzw. habe ich auch kein „Energiekosten“ Messgerät was in dem winzigen Messbereich noch brauchbare Ergebnisse liefert.
Viele Grüße
Leo
Hi Leo,
endlich kam ich mal dazu ein Modul aufzubauen und den Ruhestrom zu messen.
Das Modul war voll bestückt und war im Wlan verbunden, Relais nicht angezogen und hatte eine Leistungsaufnahme von 0,4Watt, was voll ok ist. Wenn man die rote LED des Moduls noch herausnimmt, kann man einige zig Milliwat sparen. Klingt nicht viel, wenn man im Haus aber einige Module verbaut und die ständig gepowert sind, macht sich das schon bemerkbar.
Danke für das tolle Projekt!
Grüße
Hallo,
zwecks Rollosteuerung könnte ich in der Tat min. 13 gebrauchen.
Softwareänderungen sind kein Thema, aber habe schlicht keine Möglichkeit die Platinen herstellen und bestücken zu lassen.
Würde mich über Nachricht freuen.
MfG,
JP
Hallo,
Ich hätte auch gern 5 Stück.
Ich würde auch 3 kaufen, wenn noch möglich.
Hallo Zusammen,
ist es möglich diese Platine auch als Rolladenaktor zu nutzen?
Gruß
Zum Ansteuern des Aktors einer Rollade ist das Teil aber schon zu gebrauchen. Ausser der Rollomotor braucht mehr Strom als die Relais schalten können (was unwahrscheinlich ist)
Die Firmware müsste man sicher noch etwas anpassen so das das Hoch und Runter kompfortabel gesteuert werden kann (bewegung solange man auf nen Button drückt, oder ganz auf/zu usw… da muss man sich was überlegen)
Hier wäre aber zu beachten, dass die Relais gegeneinander nicht mechanisch entkoppelt sind!!! Also Augen auf beim Programmieren, sonst wird es teuer…
Hi,
finde dein Projekt sehr interessant und habe es mir mal runtergeladen. Machst du sowas in der Richtung auch beruflich? Habe versucht den Schaltplan und die Bauteile zu verstehen, würde aber selber nie darauf kommen welche Bauteile ich hierfür bräuchte und verwenden sollte. Ich habe (bevor ich auf dein Projekt gestossen bin) schon selber mit dem ESP8266 und einem Relaisboard herumexperimentiert, wäre aber nie auf die Idee gekommen da noch einen Snubber oder eine Spannungsregelung einzubauen. Hast du auch Erfahrung bzw. ein paar Tipps für mich als Anfänger bezüglich SMD Löten?
Besteht die Möglichkeit noch eelchè zu bestellen und wenn ja was würden Sie kosten
Great project, anyone up for freelance work with some small modifications to this board, fully assemble and ship it to me?
Hi,
hier die Einlösung meines Versprechens:
https://www.mikrocontroller.net/topic/454118
Schade, dass dein Blog von Google höher priorisiert wird als diese eigentliche Seite.
Hallo, ich würde auch gerne 4 Stück nehmen.
Geht das noch?
Hallo,
wenn ich auch fünf Stück bekommen könnte, würde ich mich freuen.
Hallo,
hätte auch Interesse an ein paar Stück.
Ist der Zug schon abgefahren?
VG Thomas
Da ich auch gerade massiv auf den 8266-Zug aufspringe, würde ich hier auch Interesse anmelden 🙂
Hätte auch Interesse…
Hallo,
Tolles Projekt!
Ich hätte auch Interesse an mehreren Stück!
Gruß
Michael
Bin auch an mehreren Exemplaren interessiert! Tolle Arbeit! 🙂