OpenDTU-OnBattery is a fork of OpenDTU, which adds support for battery chargers, battery management systems (BMS), and power meters on a single ESP32. Its Dynamic Power Limiter can adjust the power production of one or more solar- and/or battery-powered inverter(s) to the actual houshold consumption. In this way, it is possible to implement a zero export policy.
You are always welcome to select and use your own set of parts to run OpenDTU-OnBattery. Our documentation should give you the information you need. There are also case designs available for you to print yourself.
If you are interested in ready-to-use hardware available for sale, the OpenDTU-OnBattery project endorses the OpenDTU Fusion board.
OpenDTU Fusion boards and accessories (cases in particular) are available exclusively through:
Please note that we do not have any connections to hardware sold on platforms like eBay, Kleinanzeigen, or similar marketplaces. Items sold there may not meet the quality and compatibility standards expected by our community.
Buying from the trusted sources listed above ensures:
- Access to reliable, well-tested hardware that meets the project’s requirements.
- Support for suppliers who align with the values of the OpenDTU community.
To allow for a good overall experience, we encourage users to avoid unverified hardware sources.
We are aware that some sellers falsely advertise that purchasing their hardware supports the OpenDTU-OnBattery, OpenDTU, and/or AhoyDTU developers financially. This is not true. The OpenDTU-OnBattery project does not receive any financial benefit from the sale of hardware.
See the documentation to learn what hardware to acquire, how to initialize it with OpenDTU-OnBattery firmware, and how to configure OpenDTU-OnBattery for your hardware.
Generally speaking, OpenDTU-OnBattery and the upstream project are compatible with each other, because OpenDTU-OnBattery mostly only extends the upstream project. However, there are a few notable differences aside from the added functionality:
- OpenDTU-OnBattery, due to its code footprint, cannot offer support for over-the-air (OTA) updates on ESP32 with only 4MB of flash memory. Consult the documentation to learn more.
- Unlike in the upstream project, you must compile the web application yourself when attempting to build your own firmware blob. See the documentation for details.
The canonical documentation of OpenDTU-OnBattery is hosted at https://opendtu-onbattery.net.
You may find additional helpful information in the project's community-maintained Github Wiki.
To find out what's new or improved have a look at the releases.
OpenDTU-OnBattery is actively maintained. Please note that OpenDTU-OnBattery may change significantly during its development. Bug reports, comments, feature requests and pull requests are welcome!
The original OpenDTU project was started from a discussion on Mikrocontroller.net. The original ambition was to replace the original Hoymiles DTU (Telemetry Gateway) to avoid using Hoymile's cloud. With a lot of reverse engineering, the Hoymiles protocol was decrypted and analyzed.
In the summer of 2022 @helgeerbe bought a Victron MPPT charge controller, and didn't like the idea to set up a separate ESP32 to receive the charger's data. He decided to fork OpenDTU and extend it with battery charger support and a Dynamic Power Limiter.
In early October 2024, the project moved to the newly founded GitHub
organisation hoylabs
and is since maintained by multiple community members.
- Special thanks to Thomas Basler (@tbnobody), the author of the upstream project, for his continued effort!
- Thanks to @helgeerbe for starting
OpenDTU-OnBattery, for his dedication to the project, as well as for his
trust in the current maintainers of the project, which act as part of the
hoylabs
GitHub organisation. - We like to thank all contributors. With your ideas and enhancements, you have made OpenDTU-OnBattery much more than @helgeerbe originally had in mind.