ARDUINO BMS - Protection Board
simple-ee·mBMS·Schematic/The Protection Board/20190720_Project_OCP-OVP-UVP.kicad_pcb
About the ARDUINO BMS - Protection Board
ARDUINO BMS - Protection Board is an open source AVR/Arduino PCB design by simple-ee, published on GitHub under the MIT license. It is a board measuring 62.3 × 85.5 mm, with 97 components from 41 distinct parts.
Its main chip is the ATMEGA328PB-AU, from the AVR/Arduino family. Other key parts include the MC74HC1G04DFT1G, ADS1119IPWR, TPS7B6950DBVR, ACS781KLRTR-150B-T and TPS560430YFDBVR. By type, the board carries 34 resistors, 17 capacitors, 11 connectors, 10 transistors, 6 ICs and 6 test points.
It belongs with the power & battery designs in this gallery.
From the project
This is the modular BMS for use with 8S LiFePO4
Right now I'm essentially maxed out resources and memory on the atmega328PB and cannot add anymore features which is why I'm planning on upgrading the design.
Even though this design is now my old design its still very functional and very stable as it has been running my 4kWh system for about 6 months and protecting the cells perfectly.
The reason for making it a modular design is for easy upgradability and also, considering the current chip shortage, is to replace sections of the board in case there are no parts available. This will prevent the need to redo and re-layout of the entire…

Main components on the ARDUINO BMS - Protection Board
ARDUINO BMS - Protection Board bill of materials (BOM)
97 components, 41 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | MC74HC1G04DFT1G | SOT-353_SC-70-5 | U201 |
| 1 | ATMEGA328PB-AU | TQFP-32 | U202 |
| 1 | ADS1119IPWR | TSSOP-16 | U203 |
| 1 | TPS7B6950DBVR | SOT-23-5_HandSoldering | U301 |
| 1 | ACS781KLRTR-150B-T | PowerSMD-7 | U401 |
| 1 | TPS560430YFDBVR | SOT-23-6 | U501 |
| 2 | 2N7002-7-F | SOT-23-3 | Q401, Q404 |
| 2 | BSS84LT1G | SOT-23-3 | Q402, Q405 |
| 1 | ISO7021FDR | SOIC-8 | Q403 |
| 5 | PSMNR70-40SSHJ | SOT-1235 | Q406, Q407, Q410, Q412, Q413 |
| 1 | CB3-3I-16M0000 | CB3 | Y201 |
| 4 | Standoff_M3 | M3X3.00MM | P305, P306, P307, P308 |
| 2 | S5B-PH-SM4-TB(LF)(SN) | S5B-PH-SM4-TB | P401, P402 |
| 3 | TH_1POS_10MMx12MM_M6_copy | TH_1POS_10MMx12MM_M6 | P403, P404, P405 |
| 2 | SMD_1POS_12MM | SMD_1POS_12MM | P407, P408 |
| 2 | 0686F1000-01 | Fuse_0603_1608Metric | F301, F302 |
| 1 | 142.5631.6122 | 142.5631.5702 | F401 |
| 1 | KSC721G | KSC721G | SW201 |
| 4 | TP_CIRCLE_1.5MM | TP_CIRCLE_1.5MM | TP202, TP203, TP204, TP205 |
| 2 | TP_CIRCLE_1MM-TestPoint | TP_CIRCLE_1MM | TP206, TP207 |
Show 21 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 2 | DESD34VS2SO | SOT-23-3 | D301, D302 |
| 2 | PRTR5V0U2X,215 | SOT-143 | D501, D502 |
| 2 | MLZ2012N100LT000 | L_0805_2012Metric | L1, L302 |
| 1 | MLZ2012DR10DT000 | L_0805 | L301 |
| 1 | LQH43PN100M26L | LQH43PN100M26L | L501 |
| 12 | C0603C104K5RACAUTO | C_0603_Handsolder | C201, C202, C203, C204, C205, C206, C207, C401 +4 |
| 1 | GRM188R61E225KA12D | C_0603_Handsolder | C301 |
| 1 | CL10A475MA8NQNC | C_0603_Handsolder | C302 |
| 1 | GRM188R6YA225MA12D | C_0603_Handsolder | C501 |
| 1 | CC0603KRX7R6BB684 | C_0603_Handsolder | C504 |
| 1 | C1608X5R1A685M080AC | C_0603_Handsolder | C505 |
| 7 | ERA-3AEB103V | R_0603_Handsolder | R201, R206, R207, R208, R209, R401, R402 |
| 2 | RC0603FR-0730KL | R_0603_Handsolder | R202, R212 |
| 2 | RR0816P-203-D | R_0603_Handsolder | R203, R213 |
| 1 | RT0603BRE07673KL | R_0603_Handsolder | R204 |
| 1 | ERJ-PB3B4222V | R_0603_Handsolder | R205 |
| 2 | RC0603FR-07470RL | R_0603_Handsolder | R210, R211 |
| 5 | RC0603FR-07100RL | R_0603_Handsolder | R403, R416, R420, R422, R423 |
| 12 | CPF0603F100KC1 | R_0603_Handsolder | R404, R405, R406, R407, R408, R409, R410, R411 +4 |
| 1 | ERJ-3EKF8872V | R_0603_Handsolder | R501 |
| 1 | RR0816P-2212-D-34C | R_0603_Handsolder | R502 |
ARDUINO BMS - Protection Board design files
The KiCad project lives in the simple-ee/mBMS repository on GitHub; these links point at the commit this page was built from.
ARDUINO BMS - Protection Board: common questions
What microcontroller does the ARDUINO BMS - Protection Board use?
The ARDUINO BMS - Protection Board is built around the ATMEGA328PB-AU, from the AVR/Arduino family.
How big is the ARDUINO BMS - Protection Board?
The ARDUINO BMS - Protection Board measures 62.3 × 85.5 mm and is 1.6 mm thick.
How many components are on the ARDUINO BMS - Protection Board?
97 components, from 41 distinct parts. The full bill of materials is listed on this page.
Where can I download the ARDUINO BMS - Protection Board design files?
From the simple-ee/mBMS repository on GitHub, which has the KiCad layout; the links under Design files point to each one.
Can I use the ARDUINO BMS - Protection Board design in my own project?
Yes, under the terms of its MIT license, which simple-ee chose for the repository.
Can I test firmware for the ARDUINO BMS - Protection Board without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug AVR/Arduino firmware against it before you order a PCB.
More boards in mBMS
Similar boards
AVR/Arduino
Redox keyboard
mattdibi
162.2 × 126.5 mm77 parts2LMIT2.0kAVR/Arduino
ModuleV450
stuartpittaway
30 × 61.4 mm39 parts2LCC-BY-NC-4.01.1kAVR/Arduino
V4
stuartpittaway
30 × 50 mm38 parts2LCC-BY-NC-4.01.1kAVR/Arduino
Discipline
coseyfannitutti
304.9 × 122.8 mm170 parts2LCC-BY-NC-4.01.0kAVR/Arduino
Megadesk
gcormier
41.7 × 32.2 mm23 parts2LGPL-3.0818AVR/Arduino
Easyduino Atmega Nano
Hanqaqa
43.4 × 18 mm30 parts4LCERN-OHL-P-2.0746