Home / Automotive / EV Batteries & BMS

25 open-source EV Batteries & BMS projects

EV Batteries & BMS (Automotive): open-source projects that exist because someone reverse engineered a closed product, sorted by GitHub stars.

  1. Battery-Emulator★ 2,993 · active · C++

    Reuse EV battery packs with solar inverters by emulating reverse-engineered BMS CAN protocols

  2. Nissan-LEAF-Battery-Upgrade★ 361 · active · C

    Software and guides for fitting bigger batteries into Nissan Leafs

  3. venus-os_dbus-serialbattery★ 282 · active · Python

    Victron Venus OS driver for many serial/BLE BMS (JK, Daly, JBD, Seplos)

  4. esphome-yambms★ 234 · active

    Multi-BMS merging solution for ESPHome (JK, JBD, etc.)

  5. TeslaBMS★ 182 · dormant · C++

    Talk to Tesla Model S battery module boards for reuse in conversions

  6. Daly2MQTT★ 177 · active · C++

    ESP8266 bridge reading Daly and compatible BMS data into MQTT

  7. Smart-BMS-Bluetooth-ESP32★ 121 · slowing · C++

    Read and display Xiaoxiang smart BMS data over BLE on ESP32

  8. SimpBMS★ 97 · dormant

    BMS for reused OEM EV battery modules (Tesla, BMW, VW)

  9. Twizy-Virtual-BMS★ 95 · dormant · C++

    Arduino library emulating the Renault Twizy BMS CAN protocol for custom batteries

  10. OverkillSolarBMS★ 86 · slowing

    Docs and tools for Overkill Solar (JBD) BMS protocol

  11. Tesla-Model-3-Battery-BMS★ 84 · slowing · C++

    Reverse engineering of the Tesla Model 3 battery BMS control

  12. Smart-BMS-arduino-Reader★ 64 · dormant · C++

    Arduino reader for Xiaoxiang/JBD smart BMS UART protocol

  13. bmspace★ 63 · slowing · Python

    Pace battery BMS reader to MQTT/Home Assistant

  14. jk-bms_grafana★ 61 · active · Python

    Read JK BMS data and graph it in Grafana

  15. BMWI3BMS★ 51 · dormant · C++

    SimpBMS code to manage BMW i3 battery modules

  16. esphome-pace-bms★ 38 · active · C++

    Pace BMS protocol v20/v25 implementation and ESPHome component

  17. byd_battery★ 32 · dormant

    Attempt to reverse engineer a BYD battery system

  18. jkbms★ 31 · dormant · Python

    Experiments decoding JK-BMS BLE protocol

  19. dbus-btbattery★ 27 · slowing · Python

    Victron Venus OS driver for Bluetooth BMS (JBD, JK)

  20. overkill-xiaoxiang-jbd-bms-ble-reader★ 26 · dormant · C++

    Read Xiaoxiang/JBD BMS data over BLE on nRF52 boards

  21. BMSCtl★ 23 · dormant · C#

    Control panel for ANT BMS with a reverse-engineered UART protocol

  22. ioBroker.bydhvs★ 20 · active · JavaScript

    ioBroker adapter for BYD HVS battery storage

  23. LiTime_BMS_bluetooth★ 18 · slowing · HTML

    Read and control LiTime Bluetooth BMS from a web browser

  24. AntBms-to-Ve.Can-Victron-Venus★ 11 · dormant · C++

    Decodes Ant BMS data and re-encodes it as Victron VE.Can for Venus GX and Cerbo

  25. esp32xiaoxiangble★ 5 · dormant · C++

    ESP32 client for the Xiaoxiang BMS Bluetooth protocol