Ein kostengünstiges, offenes I/O-Modul auf ESP32-Basis zur Anbindung externer Hardware über digitale und analoge Ein- und Ausgänge. Kommunikation erfolgt primär über Modbus RTU (optional Modbus TCP, auch über WLAN). Das System ist flexibel erweiterbar, echtzeitfähig und kann für Tests (auch Hardware in the Loop – HiL), Automatisierung oder eigene Steuerungsaufgaben eingesetzt werden.
Geplante Funktionen: Modbus RTU, optional Modbus TCP (WLAN/Ethernet), erweiterte I/O-Kanäle, galvanisch getrennte und kurzschlussfeste 24 V digitale Ein-/Ausgänge, konfigurierbare Abtast- und Baudraten, erweiterbare analoge Ein- und Ausgänge (0–10 V, optional externe ADC/DAC für höhere Genauigkeit).
Viele Sensoren, Relaismodule und andere Hardwarekomponenten besitzen keine Modbus-Schnittstelle. Soll die Hardware dennoch von einer SPS, einer SCADA-Anwendung oder einer eigenen Software genutzt werden, sind oft spezielle Gateways oder teure Modbus-fähige Geräte erforderlich.
Das ESP32 Modbus-I/O-Modul übernimmt diese Aufgabe. Es bindet unterschiedlichste Sensoren, Aktoren und Hardwarekomponenten an und stellt deren Daten über eine standardisierte Modbus-Schnittstelle zur Verfügung.
Für den Modbus-Master erscheint die angeschlossene Hardware dabei als normale Modbus-Register oder Coils.
Dadurch können kostengünstige Standardkomponenten verwendet werden, ohne dass die übergeordnete Software angepasst werden muss.
Mögliche Anwendungen:
- Relaismodule ohne Modbus-Schnittstelle
- DS18B20 Temperatursensoren
- DHT22 Sensoren
- Analoge Sensoren (0–10 V, 4–20 mA)
- I²C- und SPI-Sensoren
- Eigene Hardware und proprietäre Protokolle



Warum ein ESP32 als Modbus-I/O-Modul?
Ein einzelner ESP32 kann viele spezialisierte Modbus-Geräte ersetzen. Die eigentliche Hardware muss dabei keine Modbus-Schnittstelle besitzen. Stattdessen übernimmt der ESP32 die Kommunikation und stellt alle Daten über eine standardisierte Modbus-Schnittstelle zur Verfügung.
Für den Modbus-Master spielt es keine Rolle, ob die Daten von einem Relais, einem analogen Sensor, einem I²C-Baustein, einem DS18B20 oder einer anderen Hardware stammen. Der Zugriff erfolgt immer über Modbus-Coils und Register.
Unterstützte Hardware und Schnittstellen
- Digitale Ein- und Ausgänge
- Analoge Sensoren
- I²C-, SPI- und UART-Geräte
- 1-Wire-Sensoren
- CAN-Komponenten
- RS232- und RS485-Geräte
- Eigene Hardware und proprietäre Protokolle
Softwarebasierte Protokollimplementierung
Neben den integrierten Hardware-Schnittstellen können Kommunikationsprotokolle auch per Software umgesetzt werden (Bitbanging). Dadurch lassen sich beispielsweise 1-Wire-, DHT22- oder proprietäre Protokolle integrieren, selbst wenn keine fertigen Bibliotheken verfügbar sind.
Vorteile
- Ein Modbus-Slave ersetzt mehrere spezialisierte Geräte.
- Kostengünstige Standard-Hardware kann verwendet werden.
- Neue Funktionen lassen sich per Firmware-Update ergänzen.
- Die Modbus-Schnittstelle für SPS, SCADA oder WPF-Anwendungen bleibt unverändert.
- Hardware und Firmware können jederzeit erweitert werden.
Der ESP32 fungiert damit als universeller Übersetzer zwischen beliebiger Hardware und einer standardisierten Modbus-Schnittstelle.
Anwendungsbeispiele
- Relaissteuerung über Modbus RTU
- Temperatur- und Feuchtemessung mit DHT22
- DS18B20 Temperatursensoren
- Analoge Spannungs- und Strommessung
- CAN-Gateways
- Hardware-in-the-Loop-Testsysteme (HiL)
- Datenerfassung und Logging
- C#-WPF-, SPS- und SCADA-Anwendungen
- Modbus-TCP-Gateways
Weiterführende Links
- Installation ESP-IDF unter Windows 10/11
- Erstes Programmbeispiel, die blinkende LED
- Visual Studio Code und ESP-IDF Extension
- ESP32 – Das Entwicklungsboard
- ESP32 JTAG-Debugger
- FreeRTOS am ESP32 – Grundlagen, Tasks und Scheduling
- ESP-IDF Menuconfig – Überblick und wichtigste Optionen
Blog Artikel
- FreeRTOS: Normale Tasks vs. Echtzeit-Tasks
- FreeRTOS: Superloop vs. Tasks
- ESP32 Modbus Grundlagen – Praxis mit Relais und Sensor