Skip to content

4. Upgrading

Roland Jax edited this page Oct 18, 2026 · 2 revisions

4. Upgrading

Legacy note: ESP8266-based adapters (HW v4.1 and older) are no longer supported. Their procedures below are archived as-is for adapters still in the field; current hardware (ESP32-C3, HW v5.0+) uses the web interface, OTA, or USB paths.

There are the following options:

  • over the network (OTA)
  • physically using a USB-TTL adaptor or device USB port (HW v5.0+)

web interface

  • open web interface of the device by IP or on: http://esp-ebus.local
  • find the update link
  • upload correct firmware file (see hardware revisions) - use version WITHOUT fullflash keyword
  • click Update button
  • wait for restart, reconnect to adapter and configure WiFi if not connected automatically
  • in case you cannot open web interface, reset device to access it

platform.io

  • clone this repository using git
  • pip3 install platformio
  • check for correct firmware file (see hardware revisions)
  • inside the project folder run:
    • for firmware-HW_v3.x.bin: pio run -e esp12e-v3.0-ota -t upload (legacy, ESP8266)
    • for firmware-HW_v4.x.bin: pio run -e esp12e-ota -t upload (legacy, ESP8266)
    • for firmware-HW_v5.x.bin: pio run -e esp32-c3-ota -t upload

espota.py

$ python3 espota.py -i esp-ebus.local -f <FIRMWARE_FILE_NAME> -p <PORT_NUMBER> -r -d
16:33:23 [DEBUG]: Options: {'esp_ip': 'esp-ebus.local', 'host_ip': '0.0.0.0', 'esp_port': 8266, 'host_port': 47056, 'auth': '', 'image': 'firmware.bin', 'spiffs': False, 'debug': True, 'progress': True}
16:33:23 [INFO]: Starting on 0.0.0.0:47056
16:33:23 [INFO]: Upload size: 380320
16:33:23 [INFO]: Sending invitation to: esp-ebus.local
16:33:23 [INFO]: Waiting for device...
Uploading: [============================================================] 100% Done...

16:33:30 [INFO]: Waiting for result...
16:33:31 [INFO]: Result: OK

upgrading over USB (HW v5.0+)

upgrading over USB-TTL adaptor (before HW v5.0, legacy)

Archived for ESP8266-based adapters still in the field. No longer supported. You will need an USB-TTL adaptor (dongle) which suports 3V3 voltage levels and has 3V3 voltage output pin

  • download firmware bin file from https://github.com/danielkucera/esp-ebus/releases
  • download NodeMCU PyFlasher from https://github.com/marcelstoer/nodemcu-pyflasher/releases
  • using a wire connect pins PROG and TP3
  • connect your adaptor in a following way (dongle - module):
    • 3V3 <-> 3V3
    • TX <-> ESP-RX
    • RX <-> ESP-TX
    • GND <-> GND
  • now connect the dongle to your PC - you should see two red LEDs on, blue should flash briefly and stay off (v4.0+)
  • open NodeMCU PyFlasher and select your firmware file and serial port
  • click Flash NodeMCU and watch the progress in Console
  • if that doesn't work, connect also TP1 to 3V3 and try again (see Issue #27)

Clone this wiki locally