Willkommen zum eBUS Adapter Shield C6!
Dies ist die Dokumentation des eBUS Adapter Shield C6, mit dessen Hilfe man mit einer eBUS-fähigen Heizungs-, Lüftungs- oder Solaranlage kommunizieren kann.
Den Adapter gibt es in zwei Versionen:
- der “große Bruder”, kompatibel zu vielen D1 mini shields inkl. der Option, auf Raspberry Pi aufgesteckt zu werden:

- die kleine “Stick”-Edition, reduziert auf die meist genutzten Optionen:

Der “große” Adapter wird unten beschrieben und die “Stick”-Edition hier (das meiste gilt jedoch sowieso für beide gleichermaßen).
Der Adapter ist hier erhältlich:
- https://www.elecrow.com/ebus-adapter-shield-c6.html
- und teils auch hier:
- ohne Gehäuse: https://www.berrybase.de/
- mit Gehäuse: https://www.berrybase.de/
Und der Stick hier:
- https://www.elecrow.com/ebus-adapter-stick-c6.html
- und teils auch hier:
Üblicherweise sind beide Varianten schnell vergriffen, werden aber permanent nachproduziert.
Einführung
Die C6 Edition des eBUS Adapters ist eine Erweiterung des Vorgängermodells Adapter v5 (mit USB-C Anschluss statt Micro-B, mehr RAM im ESP32-C6 und mehr I/O Pins) und die Fortführung des Redesigns der v3.1 mit einem deutlich kleineren Footprint (37x26mm), steckbarer eBUS Verbindung, WIFI on board durch Wechsel auf ESP32-C6, Unterstützung verschiedener Ethernet Module und Kompatibilität zu vielen D1 mini shields (daher der Name “eBUS Adapter Shield”).
Der Adapter erfüllt wie v3.1 und v3.0 die von der eBUS Spezifikation geforderten Zeiten bei der Arbitrierung.
Dies wird durch Einsatz eines ESP32-C6 in RISC Architektur ermöglicht, der u.a. folgende Vorteile mit sich bringt:
- minimale Zeitverzögerung durch speziell entwickelten Treiber in der Firmware
- vollständige galvanische Trennung der Signale ohne Stromaufnahme vom eBUS (Klasse 0 laut eBUS Spezifikation)
- Option für
micro-ebusddirekt auf dem Adapter, mit WIFI oder Ethernet (seit Firmware Version 2025-10-30) - flexible, konfigurierbare Verbindung zu ebusd auf einem Host:
- WIFI direkt über onboard PCB Antenne
- USB seriell über integriertes JTAG/serial interface
- Raspberry Pi über GPIO/ttyAMA0
- Ethernet mit Zusatzmodul USR-ES1 oder anderes W5500 Modul
- volle Unterstützung für ebusd enhanced protocol sowie standard protocol (für ebusd)
- über Webbrowser konfigurierbare und aktualisierbare Firmware durch OTA Update sowie direkt über das USB JTAG/serial interface
- Messung des eigenen Stromverbrauchs (an 5V Versorgung, seit PCB 2.44)
- getestet auf alle Anforderungen für CE-Kennzeichnung
- viele weitere Möglichkeiten, z.B. Anschluss von Sensoren und/oder Displays.
Durch die Verwendung eines DC-DC Wandlers und galvanischer Trennung der Signale ist der eBUS völlig isoliert von der Stromversorgung und es wird nur marginal Strom vom eBUS ohne Schwankung entnommen (Klasse 0 laut Spezifikation Kapitel 10.7).
Somit ist die Heizungs-, Lüftungs- oder Solaranlage bestens geschützt und wird an der eigenen Stromquelle in keinster Weise belastet.
Komponenten
Hier ist eine Übersicht der einzelnen Komponenten mit ihren Verbindungen bei Verwendung von micro-ebusd:

Bei Verwendung von einem externen ebusd sieht es so aus:

Die Komponenten im Detail:
- Heizung/Lüftung/Solarthermie
wird mit dem Adapter über eine 2-Drahtleitung verbunden (die Polung spielt keine Rolle). - Adapter
- mit integriertem
micro-ebusd
interpretiert direkt das eBUS Protokoll und macht die Daten bidirektional via MQTT und HTTP verfügbar. Netwerkverbindung über - mit externem ebusd (auf einem Host),
der das eBUS Protokoll interpretiert und die Daten bidirektional via MQTT, HTTP, KNX und TCP Port verfügbar macht. Verbindung zum Adapter über- WIFI (on board),
- USB (seriell),
- GPIO (UART) des Raspberry Pi oder
- Ethernet (mit USR-ES1 oder einem anderen W5500 Modul).
- mit integriertem
- Smart Home
zur weiteren Auswertung, Monitoring oder Steuerung, z.B. Home-Assistant, KNX, Node-Red, FHEM, iobroker und weitere.
Netzwerk-/Datenverbindung
Die Verbindung über USB, WIFI und Raspberry Pi ist immer möglich. Lediglich für Ethernet wird ein zusätzliches W5500 Modul benötigt.
Über das easi> Interface (via USB oder Netzwerk) können sämtliche Parameter eingestellt werden.
Nach Auslieferung muss evtl. erst die Firmware installiert werden, siehe unter erste Schritte.
Als Protokoll zwischen ebusd und dem Adapter (wenn nicht der integrierte micro-ebusd genutzt wird) kann sowohl direkt das eBUS Protokoll (“standard protocol”), als auch das
ebusd “enhanced protocol” verwendet werden.
Sowohl der integrierte micro-ebusd als auch das enhanced protocol nutzen alle Vorteile des Adapters, indem die eBUS Arbitrierung direkt in der Firmware übernommen wird.
WIFI

Zur Nutzung des Adapters über WIFI muss dieser lediglich über die USB Buchse mit Strom versorgt werden.
Für ebusd muss die Host-Verbindung Über das easi> Interface auf WIFI gestellt werden (voreingestellt bei einem neuen oder noch nicht konfigurierten Adapter).
Im easi> Interface kann auch die WIFI Konfiguration (SSID, DHCP/feste IP-Adresse, Netzmaske, Gateway) angepasst werden.
Die initiale WLAN-Einstellung kann entweder über die Firmware-Seite erfolgen, den “EBUS” Access Point, oder via WPS mit Push Button Mode (PBC; seit Firmware Version 2024-10-27 solange der Adapter noch nicht konfiguriert wurde und der Button ein Mal gedrückt wurde, so dass die rote LED permanent an ist).
Zusätzlich zum Adapter wird lediglich ein normales USB-Kabel mit USB-C-Stecker benötigt. Der Adapter wird bereits mit einem eingesteckten eBUS-Stecker geliefert.
Die Stromversorgung erfolgt direkt über den USB-Anschluss, kann aber auch über die Pins der Buchsenleiste W2 hergestellt werden, z.B. über ein DC Power Shield. Siehe Stromversorgung für Details.
Die “device” Konfiguration für ebusd lautet z.B. -d ens:192.168.178.2:9999,
wobei 192.168.178.2 durch die richtige IP-Adresse ersetzt werden muss.
USB

Zur Nutzung des Adapters mit externem ebusd über den USB-Anschluss muss dieser lediglich mit dem Host verbunden werden.
Alle modernen Betriebssysteme (Windows/Linux/MacOS) haben bereits den dafür notwendigen Treiber.
Der Adapter stellt zwei Interfaces über USB zur Verfügung, die sich als Produkt “USB JTAG/serial debug unit” (idProduct: 0x1001) von “Espressif” (idVendor: 0x303a) darstellen:
- Interface 0 (inkl. 1): CDC ACM (USB “communication device class” mit “abstract control model”)
die serielle Schnittstelle, erscheint unter Linux als “USB ACM device” unter/dev/ttyACM<x>und unter Windows als “USB JTAG/serial debug unit (interface 0)” oder “Serielles USB-Gerät (COM…)” - Interface 2: JTAG Debug
das Debug Interface, erscheint unter Linux nicht unter/devals Device (lsusb -tmeldet es als “If 2, Class=Vendor Specific Class” ohne Treiber) und unter Windows als “USB JTAG/serial debug unit (interface 2)” (wird nicht verwendet)
Für ebusd muss die Host-Verbindung über das easi> Interface auf USB gestellt werden.
Bei micro-ebusd lässt sich das USB Interface auch für die Kommandozeilenschnittstelle (REPL) nutzen.
Zusätzlich zum Adapter wird lediglich ein normales USB-Datenkabel mit USB-C-Stecker benötigt. Der Adapter wird bereits mit einem eingesteckten eBUS-Stecker geliefert.
Die Stromversorgung erfolgt direkt über den USB-Anschluss, siehe Stromversorgung für Details.
Die “device” Konfiguration für ebusd lautet z.B. -d ens:/dev/ttyACM0, wobei ttyACM0 bei mehreren angeschlossenen
USB Geräten dieser Art anders lauten kann.
Raspberry Pi

Dreht man den Adapter auf den Kopf, lässt er sich auf einen
Raspberry Pi aufstecken.
Hierbei muss darauf geachtet werden, dass die näher an der Bohrung liegende Buchsenleiste des Adapters (links unten im Bild) auf Pin 2 der Raspberry Pi GPIO Leiste gesteckt wird, so dass diese Bohrung genau über der auf dem Raspberry Pi liegt und man einen Abstandshalter dazwischen setzen könnte.
Mit aufgestecktem Adapter (hier in rot zur Verdeutlichung) sieht das so aus:

Für ebusd muss die Host-Verbindung über das easi> Interface auf Raspberry Pi gestellt werden. Die Firmware erkennt das auch beim Booten und konfiguriert den Adapter bereits entsprechend.
Für Raspberry Pi 5 muss bei älteren Adaptern noch ein extra Hinweis beachtet werden.
Bei micro-ebusd ist die GPIO Verbindung zum Raspberry Pi ohne Funktion und wird lediglich zur Stromversorgung genutzt.
Zusätzlich zum Adapter wird nur evtl. ein Stacking-Header benötigt, falls die Raspberry-CPU einen Kühler hat. Der Adapter wird bereits mit einem eingesteckten eBUS-Stecker geliefert.
Die Stromversorgung erfolgt direkt über die Raspberry Pi GPIO Leiste.
Die “device” Konfiguration für ebusd lautet: -d ens:/dev/ttyAMA0 --latency=50
Details zur Einrichtung des Raspberry Pi für ebusd finden sich hier.
Ethernet

Zur Nutzung via Ethernet gibt es folgende Möglichkeiten:
- USR-ES1 Modul mit W5500 (z.B. von hier oder hier) zum Aufstecken auf W1+USRL,
- W5500 Ethernet Modul (z.B. von hier oder hier) zum geflippten Aufstecken auf USRL+W2 (so dass der 5V Pin des Moduls auf W2/9 sitzt).
Achtung: wird das W5500 Modul falsch auf den Adapter gesteckt (z.B. versetzt oder in umgekehrter Richtung), kann der Adapter dadurch beschädigt und unbrauchbar werden! Also am besten stromlos machen, Modul aufstecken und die Position kontrollieren, und erst dann wieder über den USB-Anschluss mit Strom versorgen.
Mit aufgestecktem USR-ES1 Modul sieht das so aus:

Für ebusd muss die Host-Verbindung über das easi> Interface auf Ethernet gestellt werden.
Im easi> Interface kann auch die Ethernet Konfiguration (DHCP/feste IP-Adresse, Netzmaske, Gateway) angepasst werden.
Wenn das W5500 Modul von der Firmware nicht erkannt wird, ist es möglicherweise defekt oder im Idealfall nur die Pin-Verbindung instabil. Siehe hier zur Überprüfung.
Zusätzlich zum Adapter und Ethernet-Modul wird lediglich ein normales USB-Kabel mit USB-C-Stecker benötigt. Der Adapter wird bereits mit einem eingesteckten eBUS-Stecker geliefert.
Die Stromversorgung erfolgt direkt über den USB-Anschluss, kann aber auch über die Pins der Buchsenleiste W2 hergestellt werden, z.B. über ein DC Power Shield. Siehe Stromversorgung für Details.
Die “device” Konfiguration für ebusd lautet z.B. -d ens:192.168.178.2:9999, wobei 192.168.178.2 durch die richtige
IP-Adresse ersetzt werden muss.
Stromversorgung
Bei Verwendung von WLAN oder Ethernet erfolgt die Stromversorgung des Adapters einfach über den USB-Anschluss mit einem handelsüblichen USB-Netzteil, z.B. einem, mit dem man auch ein Handy laden kann.
Die Mindestanforderung an die Stromquelle beträgt 1 Watt. Sicherheitshalber empfehlen wir die Verwendung einer Stromquelle mit mindestens 2 Watt, also einer Leistung von 400 mA bei 5 V.
Alternativ kann der Adapter auch über die Pins an der Buchse W2 mit Strom versorgt werden, z.B. über ein DC Power Shield.
Pinleisten, Funktionen
Für den Anschluss weiterer Komponenten stehen zusätzliche Pin Header zur Verfügung. Lediglich bei Ethernet bleiben nicht viele Pins dafür übrig.
| Anschluss | Funktion | USB | WIFI | Raspberry Pi | Ethernet |
|---|---|---|---|---|---|
| USB | USB connector | USB | power | - | power |
| W1 | I/O / W5500 | I/O | I/O | I/O | W5500 |
| W2 | I/O / Raspi | I/O | I/O | Raspi | I/O |
| USRL | W5000 / Raspi | - | - | Raspi | W5500 |
| EBUS | eBUS connector | eBUS | eBUS | eBUS | eBUS |
Legende:
- - = nicht anderweitig nutzbar
Achtung: Die genaue Belegung hängt von der PCB Version ab, deshalb am besten die Pins direkt im easi> Interface inspizieren.
Die Belegung eines Pins mit einer I/O Funktion kann über das easi> Interface vorgenommen werden.
I/O Belegung
Die ESP32-C6 I/O sind wie folgt belegt bzw. an den Buchsenleisten verfügbar:
| IO | Funktion / Leiste/Pin | Setting | USB + WIFI | Raspberry Pi | Ethernet |
|---|---|---|---|---|---|
| 0/21** | W1/3 | * | * | MISO | |
| 1 | W1/4 | * | * | RST | |
| 2 | W1/5, USRL/3, RPI/5 | * | SCL | MOSI | |
| 3 | W1/2, USRL/4, RPI/7 | * | GPIO4 | SCLK | |
| 4 | W2/11, RPI/8 | * | TXD | * | |
| 5 | W2/13, RPI/12 | * | GPIO18 | * | |
| 6 | W2/14, RPI/G | * | GND | * | |
| 7 | W1/6 | * | * | 3.3V | |
| 8 | W2/12, RPI/10 | pull-up | * | RXD | * |
| 9 | Button | pull-up | - | - | - |
| 12 | USB- | USB | - | - | |
| 13 | USB+ | USB | - | - | |
| 14 | eBUS RX | - | - | - | |
| 15 | eBUS TX | - | - | - | |
| 16 | TX, LED red, W2/16, RPI/18 | 500R | LED+* | GPIO24+LED+* | LED+* |
| 17 | RX, W2/15, RPI/16 | * | GPIO23+* | * | |
| 18 | USRL/5, RPI/G | * | GND | SCNN | |
| 19 | USRL/6, RPI/11 | * | GPIO17 | INTN | |
| 20 | X1/2 | * | * | * | |
| 21 | X2/4 | * | * | * | |
| 22 | X2/2 | * | * | * | |
| 23 | LED RGB, X2/3 | LED RGB | LED RGB | LED RGB | |
| EN | Reset, W1/1 | pull-up | Reset | Reset | Reset |
Legende:
- * = beliebige Funktionszuweisung
- - = nicht anderweitig nutzbar
- ** = abhängig von der PCB Version
LEDs
Der Adapter verfügt über eine rote LED und eine RGB LED mit folgender Zuordnung, sowie eine grüne eBUS-LED (ab PCB Version 2.36):
- RGB LED: Signale der Firmware
- rote LED: eBUS Senden oder Firmware-Signal
- grüne eBUS-LED (ab PCB Version 2.36): eBUS Empfang und eBUS Spannungspegel
Beim Booten dimmen alle LEDs drei Mal (bis auf die grüne eBUS-LED ab PCB Version 2.36). Dabei hat der Button die Funktion, gespeicherte Einstellungen zu ignorieren und den WIFI Access Point mit SSID “EBUS” zu starten.
Im eBUS Modus blinkt die blaue LED alle 5 Sekunden kurz als Ping, sofern via easi> Interface konfiguriert.
Die RGB LED leuchtet rot beim Schreiben auf den eBUS, sofern der eBUS Modus aktiv ist und es so via easi> Interface konfiguriert wurde.
Die grüne eBUS-LED (ab PCB Version 2.36) hat mehrere Funktionen:
- dauerhaft An bei nicht angeschlossenem eBUS: Stromversorgung des Adapters ist OK
- dauerhaft Aus bei angeschlossenem eBUS: eBUS Spannung ist OK, aber kein Traffic
- Blinken bei angeschlossenem eBUS: eBUS Spannung ist OK mit Traffic
Ab PCB Version 2.44 lässt sich die eBUS-LED via easi> Interface auch abschalten.
Button
Der Adapter hat einen Button on board, mit dem verschiedene Aktionen möglich sind:
- Drücken+Halten vor Herstellen der Stromversorgung:
Bootloader Modus - Drücken+Halten während des Bootens (solange die LEDs dimmen):
gespeicherte Einstellungen ignorieren und “EBUS” Access Point starten - Drücken nach dem Booten:
- solange der Adapter noch nicht konfiguriert ist: WPS im Push Button Mode starten (PBC, rote LED leuchtet dauerhaft bis zur erfolgreichen Verbindung)
- andernfalls: rote LED dimmt ein Mal
- Drücken+Halten nach dem Booten:
Reboot
Zusatzfunktionen
Viele der D1 mini Shields sind kompatibel mit dem Adapter und können einfach aufgesteckt werden. Dabei hängt der Pin links oben des aufgesteckten Moduls absichtlich “in der Luft”, das Modul muss also genau auf die 8 Pins der Buchsenleiste W2 gesteckt werden und ist deshalb um einen Pin versetzt in W1.
Folgende Typen werden vom easi> Interface unterstützt:
- OLED 0.66 Shield: erfolgreich getestet
- BMP280/BME280/BMP180: erfolgreich getestet
- 8x8 RGB Shield: erfolgreich getestet
- DC Power Shield: erfolgreich getestet
Damit kann man nahezu jedes beliebige DC Steckernetzteil mit 5,5mm Hohlstecker verwenden, um die Stromversorgung statt über USB herzustellen. - RGB LED Shield
- PIR Shield (*)
- SHT30 Shield (*)
- DHT Shield (*)
(*) geplant für eine zukünftige Firmware Version
Die Zuordnung der ESP32-C6 Pins zu den Wemos bzw. Shield Ports D0-D8 + A0 ist wie folgt:
| Wemos | IO | W1 | Adapter | W2 | IO | Wemos |
|---|---|---|---|---|---|---|
| RST | - | 16 | IO16 | TX | ||
| A0 | EN | 1 | 15 | IO17 | RX | |
| D0 | IO3 | 2 | 14 | IO6 | D1 | |
| D5 | IO0/IO21* | 3 | 13 | IO5 | D2 | |
| D6 | IO1 | 4 | 12 | IO8 | D3 | |
| D7 | IO2 | 5 | 11 | IO4 | D4 | |
| D8 | IO7 | 6 | 10 | GND | GND | |
| 3V3 | 3.3V | 7 | 9 | 5V | 5V |
* = abhängig von der PCB Version
Bei Verwendung von Ethernet sind durch die vielen vom W5500 Modul belegten Pins allerdings nur wenige Shields direkt nutzbar. I2C-basierte Shields und solche mit maximal 6 I/O Pins können jedoch an W2 angeschlossen werden über IO4, IO5, IO6, IO8, IO16 und IO17 (bspw. über ein Dupontkabel).
Weiterführende Links
Hier sind einige Links, die zum Thema beitragen, bzw. Basisinformationen und Grundlagen enthalten:
