Welcome to eBUS Adapter 3.0!

This is the documentation of the eBUS adapter v3.0, 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:

In order to be able to get all these options on a 5cm x 5cm board, almost only SMD is used:

layout

The SMD technology also offers some advantages:

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:
schema

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.

Note for high-speed enhanced mode:

For the enhanced protocol, a high-speed variant may be used for serial connections (USB, RPI and WIFI) that avoids unnecessary delays due to the transfer from/to ebusd (or ESP). This can be activated by adjusting the variant.
The ebusd device configuration then needs to be changed from enh: prefix to ens: prefix for direct serial connections (i.e. USB or RPI).
For WIFI, the ESP firmware needs to be configured accordingly and the ebusd device configuration remains at enh:.

USB

USB
To use the adapter via USB, just connect J2 with your host.

The jumpers have to be set as follows:

The power is supplied directly via the USB connector J2 on the adapter.

The ebusd device configuration is e.g. -d enh:/dev/ttyUSB0, where ttyUSB0 might be different when several USB serial devices are connected.
For high-speed enhanced mode, see the hint above.

Raspberry Pi

RPI
Using an at least 2x9 socket J8, the adapter can be plugged onto the Raspberry Pi directly.

The jumpers have to be set as follows:

The power is supplied directly via the Raspberry Pi GPIO socket J8.

The ebusd device configuration is: -d enh:/dev/ttyAMA0 --latency=50
For high-speed enhanced mode, see the hint above.

Details on setting up the Raspberry Pi can be found here.

WIFI

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.

The jumpers have to be set as follows for LOLIN/Wemos D1 mini:

For Wemos C3 mini with firmware of v5, the jumpers have to be set as follows though:

The power is supplied directly via the USB connector of the Wemos.

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 22.11.2020). ebusd-esp has to be configured to “Adapter 3.0 RX+TX” or “Adapter 3.0 RX+TX high-speed” if enabled.

The ebusd device configuration is e.g. -d enh:192.168.178.2:9999, where 192.168.178.2 has to be replaced with the right IP address.

For high-speed enhanced mode as transfer between the adapter and ebusd-esp, see the hint above.

Ethernet

Ethernet
By plugging a USR-ES1 modul with W5500 onto socket J10, the adapter can be used via LAN.

The jumpers have to be set as follows:

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 enh: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
J1 Jumper TX USB RPI RPI RPI
J2 USB connector USB connector - power connector power connector
J3 Gas sensor/switch - Gas sensor Gas sensor -
J4 Jumper POWER USB RPI (RPI) USB
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:

jumper

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!

Here is a picture showing the two isolated halves of the board: red for eBUS and green for USB etc.:
2 power

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:

  1. GND
  2. 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:

  1. SDA: Wemos D2 / RPI Pin 3 GPIO 2 (SDA)
  2. SCL: Wemos D1 / RPI Pin 5 GPIO 3 (SCL)
  3. +3.3V
  4. 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:

  1. SDA: Wemos D2 / RPI Pin 3 GPIO 2 (SDA)
  2. SCL: Wemos D1 / RPI Pin 5 GPIO 3 (SCL)
  3. GND
  4. +3.3V
  5. D5: Wemos D5
  6. A0: Wemos A0
J7 1wire Sensor

J7 can be used to connect 1wire devices (e.g. temperature sensor DS18B20) with the following pins:

  1. +3.3V
  2. Signal: Wemos D6 / RPI Pin 7 GPIO 4 (4.7kOhm pull up)
  3. GND

LEDs

The adapter has 4 LEDs with the following assignment:

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.

Here are some links that contribute to the topic or contain basic information: