Skip to content
Si Jones edited this page Jun 18, 2025 · 17 revisions

Welcome to the DiyBatteryBMS wiki!

The DIY Battery BMS has the following features:

Victron Support

  • Receive data from a Victron Smart Shunt (different models supported) in the Victron Text Protocol

CAN Bus (Pylontech Protocol)

  • Send Charge Voltage
  • Send Charge Current
  • Send Battery Voltage
  • Send Battery Current
  • Battery charge request flags Currently a fake Battery Temperature is sent, this will be changed in the future.

Features

  • UI for monitoring and configuration changes of all parameters.
  • MQTT sending of data in JSON format
  • Reduce charge current by SOC
  • Smart adjust charge current reducing as full voltage is hit, allowing balancing time
  • Force Charge by Inverter for Off Peak Charging (triggered via MQTT)
  • Adjustable Charge Voltage and Current
  • OTA Updates
  • LCD Display 20x4

Recommended hardware:

esp32dev (https://www.amazon.co.uk/gp/product/B0C9THDPXP/)

esp32plus (https://www.amazon.co.uk/dp/B0BHZ8H6LM)

Lilygo CAN485 (https://www.aliexpress.com/item/1005003624034092.html) - use ESP32-ESPCAN build.

LCD (https://www.amazon.co.uk/dp/B07V5K3ZVB) - not tested with Lilygo CAN485 board

Isolated CAN Bus Adapter (https://www.amazon.co.uk/Coolwell-Isolated-Expansion-Raspberry-SN65HVD230/dp/B0C7VX6G6P)

Non-Isolated Adapter - Does work and cheaper but can be blown if not careful. (https://www.amazon.co.uk/AZDelivery-MCP2515-Receiver-Development-Compatible/dp/B086TXSFD8/)

Victron Smart Shunt (https://www.amazon.co.uk/Victron-Energy-SmartShunt-Battery-Bluetooth/dp/B0856PHNLX)

For detailed installation please see the Install wiki page!

Steps for the project

  • Follow the install page
  • Follow How to Wire the CAN Bus Adapter Page
  • Follow How to Can to Inverter Connection Page
  • Connect the Victron Device to ESP using the How to Connect to Victron Shunt Page
  • Power up your ESP Device
  • Connect to the Access Point it creates and configure it to connect to your network - http://diy-batterybms.local or http://192.168.4.1
  • Connect again http://diy-batterybms.local, configure the options as per your setup, go through each page - BMS / Settings.
  • Get a beer, your done :)

Clone this wiki locally