OpenTherm adapter (boiler bus to 3.3 V logic) with ESP32
Supply 3.3 V
Bus GPIO
Pins and ESP32 wiring
| Pin | Role | ESP32 pin | Notes |
|---|---|---|---|
| IN | Output (the part drives it) | D25 | What the boiler sends, as a 3.3 V logic signal. To a GPIO with an interrupt |
| OUT | Input (the ESP32 drives it) | D26 | What the board sends to the boiler. From an output GPIO |
| VCC | Power | 3V3 | 3V3 |
| GND | Ground | GND | |
| OT1 | Not wired to the ESP32 | — | OpenTherm bus to the boiler (2 wires, no polarity). Never to a board pin |
| OT2 | Not wired to the ESP32 | — | OpenTherm bus to the boiler (2 wires, no polarity). Never to a board pin |
Suggested wiring for the 30-pin ESP32 DevKit, avoiding flash, input-only and strapping pins. BoardPilot checks it for you as you wire.
Good to know
- The OpenTherm bus works at boiler voltages (well above 3.3 V): connect it only to the adapter's bus terminals, never to a board pin. (OpenTherm Protocol Specification v2.2, Physical layer: voltage levels from the master, current levels from the slave)
Sources
- OpenTherm Protocol Specification v2.2, Physical layer: two-wire, polarity-free point-to-point link; Manchester-coded frames of 32 bits
Try it in 3D in BoardPilot
Learn the basics
Lesson: GPIO: pins in and out GPIO
Related parts
A02YYUW waterproof ultrasonic distance (UART)A3144 hall effect switchAM312 mini PIR motion sensorATGM336H GPS/BeiDou moduleBeitian BN-220 GPS moduleBenewake TF-Luna LiDAR (UART mode)
Part data: CC BY 4.0, free to reuse with credit to BoardPilot.