If you just received a module, you can find help with installation here:
This piece of hardware is a direct replacement for the Buderus KM271 to control a buderus heating system with Logamatic 2107 controller board. Maybe other controllers are supported. Please file an issue (or better a PR) if you have my module running in other Buderus heating controllers, so I can add them here.
This hardware and its documentation is released under the TAPR Open Hardware License Version 1.0 (May 25, 2007). A copy of the license is included here or can be accessed in multiple formats on tapr.org.
For more details, have a look in the:
If you bought the board in my tindie store, you could find a how-to to get it running here
There is now an Extension to add wired Ethernet to the board. The prototype already works, availability in tindie store will still take some time...
- Add a OneWire temperature Sensor on the board itself
- Fix a minor bug with external I2C pull-up (tie them to PCA9306 selectable supply)
This project includes a comprehensive firmware management system for easy firmware updates and batch production:
cd FW
./setup-dev.sh # Setup development environment
uv run scripts/flash_firmware.py # List available firmware
uv run scripts/flash_firmware.py blinkenlights # Flash single device
- blinkenlights - Local PlatformIO test project for hardware validation
- km271-esphome - ESPHome-based KM271 WiFi replacement (the78mole/ESPhome-KM271-WiFi)
- dewenni-km271 - Feature-rich KM271 firmware (dewenni/ESP_Buderus_KM271)
All firmware images are automatically downloaded and prepared for flashing using the management scripts.
For manufacturing multiple units:
uv run scripts/flash_firmware.py blinkenlights --loop
- Flash device → Connect next device → Press any key to continue
- Press 'n' to stop and show statistics
- Supports both ESC and 'n' for stopping
See FW/README.md
for detailed firmware management documentation, including:
- Setup instructions
- Script usage examples
- Troubleshooting guide
- Batch production workflows
I decided to set the multiplier very far off the actual value, to make it clear, that you need to calibrate it due to the inaccurate/bad design of the ESP32 ADC with a quite low input impedance and general error. To calibrate the Buderus 5V voltage monitor, you need to first find out the YAML section of your ESPhome device. It should look like the following:
- platform: adc
pin: 36
unit_of_measurement: "V"
name: "KM217 5V Supply"
accuracy_decimals: 2
update_interval: 5s
attenuation: 6dB
filters:
- multiply: 28.1826
- throttle_average: 60s
Now look at the readout of your sensor, say it is 47.3V and measure the real voltage of the 5V supply (e.g. Pin 1 to 7 on the sensor header), say you measure 4.9V. Use the multiplier from your YAML and do the following calculation:
4.9V / 47.3V * 28.1826 = 2.9196
Replace the multiplier by the calculated value and you will get more exact values, close to the 5V.
- Moles Blog - Reverse Engineering KM271
- Moles Blog - KM271-WiFi Project
- KM271-WiFi ESPhome Project (GitHub)
- KM271-WiFi WebTools (Flashing)
- KM271-Firmware ESPhome Component (GitHub)
You can buy the module on Tindie (if available).