The PIC requires firmware in order to run and will be delivered with the current version initially.
Firmware Update / Configuration
The initially delivered PIC firmware contains a bootloader that allows updating as well as configuring the firmware via USB, WIFI, or directly via Raspberry Pi GPIO/ttyAMA0.
This is done best with the ebus PIC Loader tool which also allows setting a fixed IP address (for the Ethernet variant), the arbitration delay, and further parameters.
To update or configure the firmware, the adapter has to be configured to USB, WIFI, or Raspberry Pi variant, i.e. the USR-ES1 module (in the Ethernet variant) has to be removed.
To then activate the bootloader, pins 3 and 4 on J11 have to be bridged (e.g. using tweezers or a short wire).
Since version 20221105 it is sufficient to hold that bridge shortly until the PIC has rebooted. Before version 20221105 a reset has to be issued simultaneously (with the bridge in place) by either using J12 (see Reset below) or connecting the power supply.
Afterwards the bridge can be removed again.
When the bootloader is active, the blue LED lights up immediately very brightly (more than all others see here).
In order to update the firmware, the
ebus PIC Loader
is used like this, where
/dev/ttyUSB0 may have to be replaced by the actual USB serial device or the address as stated by ebusd-esp PIC-passthrough (when using WIFI):
ebuspicloader -f firmware.hex /dev/ttyUSB0
Current Version 20221105:
- Firmware version as reported by ebus PIC Loader:
- ebusd enhanced protocol V1 including high-speed mode
- Ethernet with DHCP or fix IP
- extra infos
- configurable arbitration delay
- support for v3.0 and v3.1
- Changes: see Changelog
- Minimal ebusd version:
- Pins on J12 (jumper):
- Pin 1: Vdd
- Pin 2: ebusd protocol:
- open (or connected to pin 1): ebusd enhanced protocol (high-speed with v3.1, depending on pin 7 with v3.0)
- to GND (pin 3): standard protocol (eBUS direct)
- Pin 3: GND
- Pin 4: WIFI
- Pin 5: Variant:
- open: RPi or USB
- to WIFI (Pin 4): WIFI
- to GND (Pin 6): Ethernet
- Pin 6: GND
- Pin 7:
- open: normal-speed serial (only for v3.0 with enhanced protocol, since version 20220731)
- to GND (Pin 6): high-speed serial (only for v3.0 with enhanced protocol, since version 20220731)
- Pin 8: Reset: shortly to LOW (Pin 7) or GND
See here for a picture of the jumpers on J12
Former versions: see Changelog
Important note: The pins on 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!
In case a fixed IP address is supposed to be used with the USR-ES1 module instead of obtaining it via DHCP, this can be done with the ebus PIC Loader. For this, the bootloader needs to be activated first, see above.
For example, to set the IP address 192.168.10.20 with a network mask of 255.255.255.0 (=length 24), the ebus PIC
Loader is called as follows:
ebuspicloader -i 192.168.10.20 -m 24 /dev/ttyUSB0
The blue LED is used to signal states from the PIC firmware. In general, the bootloader and normal modes are quite different.
LED in bootloader mode
If the LED lights up permanently very brightly (more than all others) immediately after supplying power, the PIC is in bootloader mode and is waiting for commands on the serial interface.
LED in normal operation (without Ethernet)
In normal operation, the blue LED is initially turned off after supplying power.
- If the LED is on after a short period of time with very low brightness, the enhanced ebusd protocol is deactivated
- Otherwise, it is fading up to normal brightness.
- After each initialization in the enhanced protocol, it lights up very brightly (more than all others) for 2 seconds.
- As sign-of-life it pings every 4 seconds
- In case of a protocol error on eBUS or host, it lights up very brightly (more than all others) for 5 seconds.
LED in Ethernet operation
If the USR-ES1 Ethernet module is plugged in and the jumper J12 is set accordingly, the blue LED shows further state information in addition to those described above, and these are stepped through in the following stages:
- Until the W5500 of the USR-ES1 module responds after the reset, the LED flashes (2x per second).
- Until a link is found on the line, the LED flashes very quickly (20x per second).
- In case of DHCP, the LED flashes quickly (4x per second) until an IP address has been negotiated via DHCP.