09-10-2026, 08:42 PM
SOLVED
After extensive debugging, the fix was simple: remove the uart debug block entirely.
Having debug: direction: BOTH in the uart: config causes ESPHome's Modbus
component to see the bus as permanently busy and it never transmits. Without it,
all sensors read cleanly on the first poll using the exact config from thread 9154.
One possible improvement/clarification for the documentation on baud rates — the ARM CPU has two separate
communication interfaces:
- ESP32 serial link (GPIO9/10): 115200 baud — this is what ESPHome uses
- External RS485 terminals: 38400 baud — this is for a USB-RS485 adapter
The protocol document only mentions 38400, which caused for me significant confusion.
The ESPHome config (115200) is correct.
ARM CPU firmware: I think that the FW update was not necessary and the the board ships from Aliexpress ready to use.
Hope this might help someone.
After extensive debugging, the fix was simple: remove the uart debug block entirely.
Having debug: direction: BOTH in the uart: config causes ESPHome's Modbus
component to see the bus as permanently busy and it never transmits. Without it,
all sensors read cleanly on the first poll using the exact config from thread 9154.
One possible improvement/clarification for the documentation on baud rates — the ARM CPU has two separate
communication interfaces:
- ESP32 serial link (GPIO9/10): 115200 baud — this is what ESPHome uses
- External RS485 terminals: 38400 baud — this is for a USB-RS485 adapter
The protocol document only mentions 38400, which caused for me significant confusion.
The ESPHome config (115200) is correct.
ARM CPU firmware: I think that the FW update was not necessary and the the board ships from Aliexpress ready to use.
Hope this might help someone.

