Bms-8s50-ic
LibreSolar·bms-8s50-ic·kicad/bms-8s50-ic.kicad_pcb
About the Bms-8s50-ic PCB
Bms-8s50-ic is an open source STM32 PCB design by LibreSolar, published on GitHub under the CC-BY-SA-4.0 license. It is a 2-layer board measuring 110 × 60 mm, with 165 components from 57 distinct parts.
Its main chip is the STM32L452CCU6, from the STM32 family. Other key parts include the TPS560430X, TCAN334, 24AA32 and ISL94202. By type, the board carries 73 resistors, 36 capacitors, 15 transistors, 12 diodes, 8 connectors and 5 ICs.
It belongs with the power & battery designs in this gallery.
From the project
Fully integrated 12V-24V BMS using ISL94202
Bill of Materials: CSV file or interactive HTML BOM
Firmware repository: LibreSolar/bms-firmware
- 3 to 8 Li-ion cells (e.g. LiFePO4) - Integrated high-side MOSFET switch and current sensor - Balancing current approx. 150 mA - STM32L452 ARM Cortex-M4 microcontroller - Built-in CAN communication interface and UEXT extension connector
The firmware is developed in a separate repository LibreSolar/bms-firmware.

Main components on the Bms-8s50-ic
Bms-8s50-ic bill of materials (BOM)
165 components, 57 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | TPS560430X Texas Instruments | SOT-23-6 | U1 |
| 1 | TCAN334 Texas Instruments | SOIC-8_3.9x4.9mm_Pitch1.27mm | U2 |
| 1 | STM32L452CCU6 ST Microelectronics | QFN-48-1EP_7x7mm_P0.5mm_EP5.6x5.6mm | U3 |
| 1 | 24AA32 Microchip | SOT-23-5 | U6 |
| 1 | ISL94202 Intersil | QFN-48-1EP_6x6mm_P0.4mm_EP4.3x4.3mm | U7 |
| 4 | NDS0605 ON Semiconductor / Fairchild | SOT-23 | Q1, Q2, Q3, Q9 |
| 7 | BSS138 ON Semiconductor / Fairchild | SOT-23 | Q4, Q5, Q6, Q7, Q8, Q14, Q15 |
| 4 | BSC016N06NS Infineon | 5X6_MOSFET | Q10, Q11, Q12, Q13 |
| 1 | 8MHZ 8MHz Murata | Resonator_Murata_CSTNE | Y1 |
| 1 | CONN_01X10 Conn_01x10 Würth | Molex_Micro-Fit_3.0_43045-1400_2x07_P3.00mm_Horizontal | J1 |
| 1 | UEXT Würth | Box_Header_2x05x2.54mm_Straight | J2 |
| 1 | USB_B_Micro Amphenol FCI | USB_Micro-B_10103594-0001LF | J3 |
| 4 | CONN_01X01 Wuerth | Wuerth_WP-THRBU_74650195 | P1, P2, P3, P4 |
| 1 | CONN_01X02 | PinHeader_1x02_P2.54mm_Vertical | P5 |
| 2 | RJ45_NS FCI / Amphenol | RJ45_8P8C | JP1, JP2 |
| 1 | Jumper_NC_Small | PinHeader_1x02_P2.54mm_Vertical | JP3 |
| 1 | 10K 10k TDK | R_0603_1608 | RT2 |
| 1 | SW_PUSH | SW_SPST_6mm | S1 |
| 1 | ST_NUCLEO_SWD_5P ST_Nucleo_SWD_5p | PinHeader_1x05_P2.54mm_Vertical | SWD1 |
| 1 | Ext+ | TestPoint_1mm_pad | TP3 |
Show 37 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | Bat+ | TestPoint_1mm_pad | TP4 |
| 1 | Regout | TestPoint_1mm_pad | TP5 |
| 1 | SDA | TestPoint_1mm_pad | TP6 |
| 1 | SCL | TestPoint_1mm_pad | TP7 |
| 2 | LED | LED_0603_D3.0mm | LED1, LED2 |
| 3 | BAV70 ON Semiconductor | SOT-23 | D1, D6, D7 |
| 2 | PMEG6002 Nexperia | D_SOD-523 | D2, D5 |
| 2 | SMCJ36A Bourns | D_SMC | D3, D4 |
| 2 | 12V ON Semiconductor | D_SOT-23_ANK | D8, D9 |
| 1 | USBLC6-2SC6 STMicroelectronics | SOT-23-6 | D10 |
| 2 | NRVTS260ESFT1G On Semiconductor | D_SOD-123 | D11, D12 |
| 1 | 4.7UH 4.7uH Murata | L_0805_2012Metric | L1 |
| 1 | 47UH 47uH Tayo Yuden | Bourns_SRN6045TA | L2 |
| 9 | 47N 47n Yageo | C_0603_1608 | C1, C2, C3, C4, C5, C6, C7, C8 +1 |
| 4 | 1u Murata | C_0603_1608 | C9, C11, C12, C39 |
| 1 | 10N 10n | C_0603_1608 | C10 |
| 13 | 100N 100n Yageo | C_0603_1608 | C13, C14, C16, C19, C27, C28, C29, C31 +5 |
| 1 | 4.7U 4.7u Murata | C_1210_3225 | C15 |
| 2 | 10U 10u Murata | C_0805_2012 | C17, C18 |
| 1 | 4.7U 4.7u Murata | C_1206_3216 | C21 |
| 1 | 470N 470n | C_0603_1608 | C30 |
| 1 | 4.7U 4.7u Murata | C_0603_1608 | C35 |
| 3 | 4.7N 4.7n Yageo | C_0603_1608 | C37, C41, C42 |
| 8 | 33 Yageo | R_2010_5025 | R1, R2, R3, R4, R5, R6, R7, R8 |
| 11 | 330K 330k Yageo | R_0603_1608 | R9, R10, R11, R12, R13, R14, R15, R16 +3 |
| 14 | 1k Yageo | R_0603_1608 | R17, R18, R19, R20, R21, R22, R23, R24 +6 |
| 12 | 10K 10k Yageo | R_0603_1608 | R26, R30, R33, R34, R45, R46, R47, R48 +4 |
| 1 | 50.5K 50.5k Yageo | R_0603_1608 | R28 |
| 4 | 22K 22k Yageo | R_0603_1608 | R29, R31, R40, R44 |
| 6 | 1M Yageo | R_0603_1608 | R32, R35, R53, R57, R63, R70 |
| 5 | 100 Yageo | R_0603_1608 | R37, R64, R67, R68, R71 |
| 5 | 2.2K 2.2k Yageo | R_0603_1608 | R39, R55, R56, R65, R66 |
| 1 | 0.5M 0.5m Vishay / Dale | R_Shunt_2512 | R58 |
| 1 | 0R | R_0603_1608 | R59 |
| 3 | 330 Yageo | R_2010_5025 | R60, R61, R62 |
| 1 | 120 Yageo | R_1206_3216 | R69 |
| 1 | 4R7 Yageo | R_0603_1608 | R72 |
Bms-8s50-ic design files
The KiCad project lives in the LibreSolar/bms-8s50-ic repository on GitHub; these links point at the commit this page was built from.
Bms-8s50-ic: common questions
What microcontroller does the Bms-8s50-ic use?
The Bms-8s50-ic is built around the STM32L452CCU6, from the STM32 family.
How big is the Bms-8s50-ic PCB?
The Bms-8s50-ic measures 110 × 60 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the Bms-8s50-ic?
165 components, from 57 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.
Where can I download the Bms-8s50-ic design files?
From the LibreSolar/bms-8s50-ic repository on GitHub, which has the KiCad layout and the BOM; the links under Design files point to each one.
Can I use the Bms-8s50-ic design in my own project?
Yes, under the terms of its CC-BY-SA-4.0 license, which LibreSolar chose for the repository.
Can I test firmware for the Bms-8s50-ic without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug STM32 firmware against it before you order a PCB.
Similar boards
STM32
LumenPnP Motherboard
opulo-inc
149 × 95 mm296 parts4LCC-BY-SA-4.03.7kSTM32
AxxSolder
AxxAxx
39 × 82.5 mm122 parts2LGPL-3.01.7kSTM32
AIOC
skuep
21 × 31.5 mm47 parts2LMIT1.4kSTM32
Ferris
pierrechevalier83
208.8 × 86.8 mm102 parts2LSHL-2.11.3kSTM32
Module 16S
stuartpittaway
71.1 × 89.6 mm113 parts4LCC-BY-NC-4.01.1kSTM32
Djinn
tzarc
192.3 × 150.5 mm216 parts2LCERN-OHL-S-2.0988