• Stars
    star
    737
  • Rank 61,490 (Top 2 %)
  • Language
    HTML
  • License
    Other
  • Created over 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Version 4 of the diyBMS

diyBMS v4

Version 4 of the diyBMS

Do it yourself battery management system for Lithium ion battery packs/cells

More discussion Open Energy Monitor Forum

If you are looking for version 3 (obsolete) of this project take a look here

THIS REPOSITORY CONTAINS THE HARDWARE FOR THE SYSTEM

Videos on how to use and build

YouTube playlist for DIYBMS videos

Building & ordering the PCB from JLCPCB

If you order a PCB, please use my affiliate link to help support this project JLCPCB

Support

If you find the BMS useful, please consider buying me a beer, check out Patron for more information

https://patreon.com/StuartP

HARDWARE

This repository contains the hardware designs, generally in KiCad format. Unless you are changing the design, you don't need to use/install KiCad, just use the precompiled files.

The folder structure in the repository contains:

Controller Designs

  • ControllerCircuit - ESP32 controller board (newest design)
  • ESP8266ControllerCircuit - [legacy] the circuit board for the legacy ESP8266 based controller

Modules for Controller

  • ModuleV450 - the latest module design, using ATTINY1624 chip. Recommended for both hand soldering or mass production
  • ModuleV440 - [legacy] the module circuit board V4.40, final board using ATTINY841 chip
  • ModuleV400 - [legacy] the module circuit board V4.00, designed for easier hand soldering (larger parts)
  • ModuleV421 - [legacy] the module circuit board V4.21, designed for mass production using JLCPCB assembly service

If you use this coupon code when you place a JLCPCB order

JLC-Stuart

and this link

https://jlcpcb.com/RSZ

you will get a discount and I get a very small amount of credit for every 30 orders, which helps to support the cost of prototyping new designs and adding new features.

ESP32 Controller

The latest version of the controller uses an ESP32 and supports CANBUS, RS485, SD CARD logging, relays, SSR outputs, multiple inputs, AVR programmer and much more.

Although the hardware is complete, not all features are usable from the software, this will be developed and improved over time to make use of the hardware.

Bill of Materials

circuit board

Module V4.50

The latest version of the module hardware uses the ATTINY1624 chip - part of the tinyAVR2 range.

This board requires an UPDI programmer/device - see the instructions in the code repository for how to program the boards once built.

The parts are no smaller than 0805 size (about 2mm!) which is probably the smallest size you want to attempt to hand solder.

circuit board

Specifications are similar to the V4.40 board.

Module V4.40

V4.40 is the last board to use the ATTINY841 chip - V4.50 is the newest design if you are starting fresh.

circuit board

In addition, the hardware has a higher balance current, fuse and TVS diode to help with voltage spikes.
Most importantly, an external crystal has been added to the micro controller (attiny841) which means the device is more reliable in low voltage situations.

The balance current for V4.40 modules is as follows:

  • 1.27A at 4.2V (5.35W)
  • 1.21A at 4.0V (4.84W)
  • 1.13A at 3.75V (4.26W)

The module is physically larger than previous modules, this aids heat dispersal but also features a "snap off" external temperature daughter board for use in cell temperature monitoring.

You will also need to order these parts

CODE/SOFTWARE

Software and code for the modules and controller can now be found in a seperate repo

For the latest controller (ESP32) diyBMSv4ESP32

For the legacy controller (ESP8266) diyBMSv4Code

WARNING

This is a DIY product/solution so donโ€™t use this for safety critical systems or in any situation where there could be a risk to life.

There is no warranty, it may not work as expected or at all.

The use of this project is done so entirely at your own risk. It may involve electrical voltages which could kill - if in doubt, seek help.

The use of this project may not be compliant with local laws or regulations - if in doubt, seek help.

License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales License.

https://creativecommons.org/licenses/by-nc-sa/2.0/uk/

You are free to:

  • Share โ€” copy and redistribute the material in any medium or format
  • Adapt โ€” remix, transform, and build upon the material The licensor cannot revoke these freedoms as long as you follow the license terms.

Under the following terms:

  • Attribution โ€” You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • Non-Commercial โ€” You may not use the material for commercial purposes.
  • ShareAlike โ€” If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
  • No additional restrictions โ€” You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.

Notices: You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation.

No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material.

More Repositories

1

diyBMS

Do it yourself battery management system for Lithium ion battery packs/cells
C++
486
star
2

diyBMSv4Code

Software for diyBMS v4
C++
127
star
3

diyBMSv4ESP32

diyBMS v4 code for the ESP32 and new controller hardware
C++
112
star
4

nanodesmapvmonitor

Nanode to monitor a SMA PV Inverter over Bluetooth
Arduino
52
star
5

diyBMS-CurrentShunt

Isolated current, voltage and SOC monitor for battery banks up to 85V
HTML
34
star
6

WebastoHeaterWBusArduinoInterface

Arduino software for controlling Webasto ThermoTop heaters over its custom WBUS protocol
C
23
star
7

WebastoWBUSInterface

Hardware circuit diagram for interfacing to the Webasto WBUS interface from a PC/Arduino
HTML
18
star
8

Super8FilmScanner

Super 8 film scanner, 3d printed and uses OpenCV
Python
16
star
9

diyBMSv4Leaf

diy BMS version 4 for Nissan Leaf cells
15
star
10

SMASolarMQTT

Python
9
star
11

emoncmsOctopusSmartMeter

SmartMeter API integration with Octopus Energy (UK) and emoncms
Python
8
star
12

ArduinoSolarPowerController

Arduino
5
star
13

VariableTimeBaseSSR

Variable Time Base SSR controller for Arduino designed for using excess Solar PV energy
Arduino
4
star
14

glcd

Port of GLCD library by bperrybap with changes to make it run with fewer LCD pins
C
2
star
15

smasolarbluetoothdebugtool

Debug tool for comms with SMA Solar inverters
Python
2
star
16

ESP8266-DS18B20-EMONCMS

ESP8266 based temperature monitor for emonCMS
C++
2
star
17

OEMAESSensorLib

Open Energy Monitor RFM69Pi Adapter Board firmware for receiving encrypted sensor data packets
C++
1
star
18

ArduinoAESReceiver

Open Energy Monitor RFM69Pi Adapter Board firmware for receiving encrypted sensor data packets
Arduino
1
star
19

SerialEncoder

Simple fixed length serial packet encoding library for micro controllers
C++
1
star
20

u8glib

Automatically exported from code.google.com/p/u8glib
C
1
star
21

vdo-lcd-replacement

Replacement LCD screen for VDO marine tachometers with hour counters
Arduino
1
star
22

emonNotify

Arduino/emonCMS based visual display
Arduino
1
star
23

SolarPowerControllerNoVoltage

Arduino
1
star