ESP32 Industrial Modbus-RTU I/O-Module mit FreeRTOS

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
screenshot 2026 03 11 200929
Abb. 1 – Modbus RTU I/O-Module

 

screenshot 2026 03 11 201000
Abb.2 – Modbus RTU I/O-Module

 

img 20230211 223550
Abb. 3 – LCD Anzeige Prototyp

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

Blog Artikel

Projekte