Welcome to eBUS Adapter 3.1!
This is the documentation of the eBUS adapter v3.1, which can be used to communicate with an eBUS enabled heating, ventilation or solar system.
Introduction
Version 3 of the eBUS adapter fulfils the arbitration times required by the eBUS specification for the first time.
This is made possible by the use of a PIC which, among other things, brings the following advantages:
- minimal time delay due to hardware-related programming
- flexible, configurable variants for connecting to the host:
- USB serial via CP2102 (onboard)
- Raspberry Pi via GPIO/ttyAMA0
- WIFI via LOLIN/Wemos D1 mini with ESP-8266 or via Wemos C3 mini with firmware of v5
- Ethernet via USR-ES1 module with W5500
- full support for ebusd enhanced protocol and standard protocol
- updatable firmware using a serial bootloader
In order to be able to get all these options on a 5cm x 5cm board, almost only SMD is used:
The SMD technology also offers some advantages:
- high packing density
- all variants on one board
- cheap assembly
Two of the variants also offer the option of connecting sensors and/or displays.
By using a DC-DC converter and galvanic isolation of the signals the eBUS is completely isolated and only marginal current is drawn from the eBUS without any fluctuation (class 0 according to specification chapter 10.7).
Connections
This is an overview of the individual components and their connections:
- Heating/ventilation/solar thermal system
is connected to the adapter via a 2-wire cable. - Adapter
connected to ebusd either via- USB (UART),
- GPIO (UART) of the Raspberry Pi,
- WIFI (Wemos) or
- LAN (USR-ES1 module with W5500).
- ebusd
interprets the eBUS protocol and provides the data bidirectionally via MQTT, HTTP, KNX, and TCP port for Home-Assistant, KNX, Node-Red, FHEM, and others.
Variants
USB support is built into all variants, as an CP2102 is always assembled directly on the board. This is necessary, to e.g. update the PIC firmware or to adjust the Ethernet configuration.
The corresponding variant is set via ebuspicloader (or J12).
The protocol between ebusd and the adapter is either the eBUS protocol directly (“standard protocol”) or the ebusd “enhanced protocol”. The enhanced protocol uses all advantages of the adapter by handling the eBUS arbitration directly from the PIC firmware.
USB
To use the adapter via USB, just connect J2 with your host.
The variant is set via ebuspicloader (or J12) to USB.
The power is supplied directly via the USB connector J2 on the adapter.
The ebusd device configuration is e.g. -d ens:/dev/ttyUSB0
, where ttyUSB0
might be different when several
USB serial devices are connected.
Raspberry Pi
Using an at least 2x9 socket J8, the adapter can be plugged onto the
Raspberry Pi directly.
The variant is set via ebuspicloader (or J12) to RPI.
The power is supplied directly via the Raspberry Pi GPIO socket J8.
The ebusd device configuration is: -d ens:/dev/ttyAMA0 --latency=50
Details on setting up the Raspberry Pi can be found here.
WIFI
By plugging a LOLIN/Wemos D1 mini with ESP-8266
or a Wemos C3 mini with firmware of v5
onto socket J9, the adapter can be used via WIFI.
For LOLIN/Wemos D1 mini, the variant is set via ebuspicloader (or J12) to WIFI.
For Wemos C3 mini with firmware of v5, the variant needs to be set to “non-enhanced USB/RPI/WIFI” though.
The power is supplied directly via the USB connector J2 on the adapter. When the Wemos is configured correctly, no serial device appears on this USB connection.
Attention: The Wemos are incredibly delicate with regard to the power supply! A variety of effects come up when the power supply is insufficient, e.g. reboots, or no connection at all, or only poor and unstable connection to the Access Point.
The Wemos are quite sensitive to any RF interference due to the tiny antenna. Therefore, a good to very good signal (at least 70%) is required for a stable connection. It can also help to put some distance between the Wemos and the adapter with the two included 1x8 headers.
The Wemos has to be flashed with a suitable firmware, e.g. ebusd-esp (starting from version 23.10.2022). ebusd-esp has to be configured to “Adapter 3.1 RX+TX high-speed”.
The ebusd device configuration is e.g. -d ens:192.168.178.2:9999
, where 192.168.178.2
has to be replaced with the
right IP address.
Ethernet
By plugging a USR-ES1 modul with W5500 onto socket J10,
the adapter can be used via LAN.
The variant is set via ebuspicloader (or J12) to Ethernet.
The power is supplied directly via the USB connector J2 on the adapter.
The Ethernet configuration (IP address, network mask, gateway) is done via the bootloader in the PIC through the USB port J2, see here: Ethernet configuration. By default, it is configured for DHCP and the adapter appears with a host name prefix of “aebus3” in the router.
The ebusd device configuration is e.g. -d ens:192.168.178.2:9999
, where 192.168.178.2
has to be replaced with the
right IP address (ebusd enhanced high-speed mode is irrelevant for network-based transport).
The PIC firmware sets the MAC address of the adapter in the LAN to AE:B0:53:XX:XX:XX, where the XX depend on the ID of
the PIC (AEB053
stands for “Adapter eBUS 3”).
Jumpers/pin headers, functions
In the variants with Wemos and Raspberry Pi, additional pin headers are available for connecting further components.
Connector | Function | USB | Raspberry Pi | WIFI | Ethernet |
---|---|---|---|---|---|
J2 | USB connector | USB connector | - | - | power connector |
J3 | Gas sensor/switch | - | Gas sensor | Gas sensor | - |
J5 | I2C | - | I2C | (I2C)* | - |
J6 | I2C | - | I2C | (I2C)*+ext | - |
J7 | 1wire sensor | - | 1wire sensor | 1wire sensor | - |
J8 | RPi GPIO connector | - | Raspberry Pi | - | - |
J9 | Wemos connector | - | - | Wemos D1 mini | - |
J10 | USR-ES1 connector | - | - | - | USR-ES1 W5500 |
J11 | PIC PROG | - | - | - | - |
J12 | PIC AUX | PIC AUX | PIC AUX | PIC AUX | PIC AUX |
J13/J14 | eBUS connector | eBUS | eBUS | eBUS | eBUS |
* To the points in brackets:
- I2C is currently not yet supported by the ebusd-esp firmware.
PIC AUX J12
This connector holds pins of the PIC and their assignment and usage depends entirely on the PIC firmware, see PIC Firmware.
Important note: The pins at J12 must never be connected to any pin on the other jumpers/pin headers/sockets as separate power sources are used here. Any connection endangers the adapter and devices on the eBUS!
PIC PROG J11
The PIC programming connector J11 allows updating the Firmware of the PIC including the bootloader with an appropriate programming device. This should only be necessary in rare cases, as the PIC was programmed before delivery and can be updated with newer firmware via the embedded bootloader. For more details, see PIC Firmware.
Additional functions
J3 Gas sensor/switch
J3 can be used to connect a gas sensor or simple switch with the following pins:
- GND
- Signal: Wemos D7 / RPI Pin 18 GPIO 24
J5 I2C
J5 can be used to connect I2C devices (e.g. OLED SSD1306 or Nextion) with the following pins:
- SDA: Wemos D2 / RPI Pin 3 GPIO 2 (SDA)
- SCL: Wemos D1 / RPI Pin 5 GPIO 3 (SCL)
- +3.3V
- GND
J6 I2C
J6 can be used to connect I2C devices (e.g. OLED SSD1306 or Nextion) and on WIFI further devices with the following pins:
- SDA: Wemos D2 / RPI Pin 3 GPIO 2 (SDA)
- SCL: Wemos D1 / RPI Pin 5 GPIO 3 (SCL)
- GND
- +3.3V
- D5: Wemos D5
- A0: Wemos A0
J7 1wire Sensor
J7 can be used to connect 1wire devices (e.g. temperature sensor DS18B20) with the following pins:
- +3.3V
- Signal: Wemos D6 / RPI Pin 7 GPIO 4 (4.7kOhm pull up)
- GND
LEDs
The adapter has 4 LEDs with the following assignment:
- yellow: power supply PIC
- blue: signals from PIC
- green: eBUS receive
- red: eBUS send
The PIC is only supplied with power and can work at all when the yellow LED lights up. The green and red LEDs light up on the corresponding eBUS traffic and the green one lights up permanently if the eBUS line is not yet connected or the voltage level on the eBUS line is too low. The blue LED is controlled by the PIC firmware, which is described here.
Links
Here are some links that contribute to the topic or contain basic information: