
EBoard Sidecar
Govish/EBoard-Sidecar
A circuit board for my electric longboard that controls soft power, precharge, and LEDs

Battery management system for a VESC
Bldc BMS is an open-source printed circuit board by mpater, from the mpater/bldc-BMS repository on GitHub. It is a 2-layer board of 82.8 × 63 mm with 175 parts on 118 nets, routed with 1,199 tracks and 161 vias.
It is built around the STM32F072C8T6, TJA1042T/3/1J and MIC5219-3.3YMM, with the MIC5239-5.0YM, BQ76200PW and 1N4148W among its other parts. Its parts include 65 resistors, 38 capacitors, 27 diodes, 12 transistors and 8 connectors. It belongs with the power and robots and motor control boards and the STM32 boards of this library.
Battery Managment System (BMS) for (but not limited to) an Electronic Speed Controller, specifically for a longboard controller (VESC).
Current battery pack specifications are LiFePO4 (3.2V nominal, ~2.6Ah) in a 6s2p, giving 19.2V with 5Ah (96Wh). Continuous discharge is about 20A (384W) with 30 second pulse discharge of 52A (1kW) and charge current of 5.2A (21.9V), for a 2p configuration.
Scope of the project is to design a BMS to meet the above specifications using off-the-shelf ICs for the battery managment section. A microcontroller circuit would also be incorperated to allow communication between the BMS and controller (SMBus/I2C), contrller and PC (USB-serial) and contrller and VESC (CAN bus).
Texis Instruments (TI) appears to have the most comprehensive set of battery managment systems offerings. These appear to be split up into two main sections: cell monitors and gas gauges. The bq769x0 seires will be used for the cell monitoring, offering bq76920, bq76930 and bq76940 based on the pack size. Currently the top candidats for the gas gauge are bq78350-R1 and bq34z100-R1 but more research is needed to determine which one is better suited.
bq76930
See Technical Reference Sections:
'Impedance Track' module from TI give aging compensation and self-discharge compensation -> not true, bq78350 also has this. This module does not interface with cell monitor and reads only pack volage, how does it konw self-discharge issues?
The MCU provides a communiciton bridge between the gas gauge and PC (serial via USB) and gas gauge and VESC (CAN bus). The MCU does not need to be powered when either of these functions are not used, thus power to operate the MCU should come from either one of these communiciton ports. (or have MCU sleep when USB-serial timeout or CAN timeout? Wake-up via interrupt on button or USB-serial or CAN? Seems complicated.)
Firware updates done via SWD or Device firmware update via USB DFU.
STM32F072C8T6TR CAN, HDMI-CEC, I²C (SMBus), IrDA, LIN, SPI, UART/USART, USB IC MCU 32BIT 64KB FLASH 48LQFP ARM® Cortex®-M0 STM32F0 Microcontroller IC 32-Bit 48MHz 64KB (64K x 8) FLASH 48-LQFP (7x7)
| Qty | Value | Footprint | References |
|---|---|---|---|
| 15 | 0.1uF | Capacitor_SMD:C_0603_1608Metric | C1, C3, C4, C6, C7, C8, C9, C28, C30, C31, C35, C36, C37, C38, C39 |
| 12 | 1uF 10V | Capacitor_SMD:C_0603_1608Metric | C2, C10, C13, C14, C15, C18, C19, C20, C21, C22, C23, C27 |
| 11 | 100k | Resistor_SMD:R_0603_1608Metric | R7, R8, R50, R53, R55, R57, R60, R63, R69, R70, R71 |
| 9 | 1k 1% | Resistor_SMD:R_0603_1608Metric | R27, R28, R31, R32, R33, R34, R37, R38, R39 |
| 8 | 10k | Resistor_SMD:R_0603_1608Metric | R40, R43, R44, R45, R48, R49, R51, R52 |
| 8 | Q_NMOS_GSD | Package_TO_SOT_SMD:SOT-23 | Q6, Q9, Q10, Q11, Q14, Q15, Q16, Q18 |
| 7 | 5.6V | Diode_SMD:D_SOD-323 | D7, D10, D11, D12, D15, D16, D21 |
| 7 | GREEN | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D5, D9, D23, D24, D25, D26, D27 |
| 6 | 100R | Resistor_SMD:R_0603_1608Metric | R1, R2, R4, R16, R54, R56 |
| 6 | 2k | Resistor_SMD:R_0603_1608Metric | R11, R64, R65, R66, R67, R68 |
| 6 | 33R | Resistor_SMD:R_2010_5025Metric | R17, R20, R21, R22, R25, R26 |
| 5 | 220R | Resistor_SMD:R_0603_1608Metric | R6, R9, R15, R73, R74 |
| 4 | 1N4148W | Diode_SMD:D_SOD-323 | D17, D18, D20, D22 |
| 3 | 1k | Resistor_SMD:R_1206_3216Metric | R12, R13, R14 |
| 3 | 3.3V | Diode_SMD:D_SOD-323 | D2, D3, D19 |
| 2 | 15pF | Capacitor_SMD:C_0603_1608Metric | C12, C16 |
| 2 | 1M | Resistor_SMD:R_0603_1608Metric | R5, R10 |
| 2 | 1k | Resistor_SMD:R_0603_1608Metric | R62, R75 |
| 2 | 2.2uF | Capacitor_SMD:C_0603_1608Metric | C32, C33 |
| 2 | 22R | Resistor_SMD:R_0603_1608Metric | R76, R77 |
| 2 | 300k | Resistor_SMD:R_0603_1608Metric | R58, R59 |
| 2 | 4.7nF | Capacitor_SMD:C_0603_1608Metric | C25, C26 |
| 2 | CSD18531Q5A | Package_TO_SOT_SMD:TDSON-8-1 | Q2, Q3 |
| 2 | Conn_01x04 | Connector_JST:JST_PH_S4B-PH-K_1x04_P2.00mm_Horizontal | J1, J5 |
| 2 | Jumper_NO | Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm | JP1, JP2 |
| 2 | SW_Push | Button_Switch_SMD:SW_SPST_PTS810 | SW1, SW2 |
| 1 | 0.005R | Resistor_SMD:R_2512_6332Metric_Pad1.52x3.35mm_HandSolder | R3 |
| 1 | 0.01uF | Capacitor_SMD:C_0603_1608Metric | C5 |
| 1 | 100mA | Fuse:Fuse_0805_2012Metric | F1 |
| 1 | 100uF | Capacitor_SMD:C_1206_3216Metric | C34 |
| 1 | 120R | Resistor_SMD:R_0603_1608Metric | R78 |
| 1 | 220k | Resistor_SMD:R_0603_1608Metric | R61 |
| 1 | 3.3V | TestPoint:TestPoint_Pad_D1.5mm | TP8 |
| 1 | 3.3uF | Capacitor_SMD:C_0805_2012Metric | C29 |
| 1 | 4.7uF | Capacitor_SMD:C_0805_2012Metric | C24 |
| 1 | 470nF | Capacitor_SMD:C_0603_1608Metric | C11 |
| 1 | 5V | TestPoint:TestPoint_Pad_D1.5mm | TP9 |
| 1 | 8MHz | Crystal:Crystal_SMD_5032-4Pin_5.0x3.2mm | Y1 |
| 1 | BAT+ | TestPoint:TestPoint_Pad_D1.5mm | TP6 |
| 1 | BAT- | TestPoint:TestPoint_Pad_D1.5mm | TP10 |
| 1 | BLUE | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D13 |
| 1 | BQ78350-R1 | Package_SO:TSSOP-30_4.4x7.8mm_P0.5mm | U3 |
| 1 | Conn_01x02 | Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | J9 |
| 1 | Conn_01x06 | Connector_JST:JST_PH_S6B-PH-K_1x06_P2.00mm_Horizontal | J8 |
| 1 | Conn_01x07 | Connector_JST:JST_PH_S7B-PH-K_1x07_P2.00mm_Horizontal | J2 |
| 1 | D_TVS_x2_AAC | bldc-BMS:D_SOT-23_TVS | D29 |
| 1 | Jumper_NC_Small | Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm | JP3 |
| 1 | LOAD+ | TestPoint:TestPoint_Pad_D1.5mm | TP7 |
| 1 | MIC5219-3.3 | bldc-BMS:SOT-23-5 | U4 |
| 1 | MIC5239-5.0 | Package_TO_SOT_SMD:SOT-223 | U5 |
| 1 | MMSZ5246B-7-F | Diode_SMD:D_SOD-123 | D4 |
| 1 | MURS360T3G | Diode_SMD:D_SMC | D6 |
| 1 | Net-Tie | NetTie:NetTie-2_SMD_Pad0.5mm | NT1 |
| 1 | Q_PMOS | Package_TO_SOT_SMD:SOT-23-6 | Q5 |
| 1 | RED | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D8 |
| 1 | REGOUT | TestPoint:TestPoint_Pad_D1.5mm | TP3 |
| 1 | SCL | TestPoint:TestPoint_Pad_D1.5mm | TP1 |
| 1 | SDA | TestPoint:TestPoint_Pad_D1.5mm | TP4 |
| 1 | SMBC | TestPoint:TestPoint_Pad_D1.5mm | TP2 |
| 1 | SMBD | TestPoint:TestPoint_Pad_D1.5mm | TP5 |
| 1 | SMCJ45A | Diode_SMD:D_SMC | D1 |
| 1 | STM32F072C8 | Package_QFP:LQFP-48_7x7mm_P0.5mm | U7 |
| 1 | TJA1042T-3 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U6 |
| 1 | USB_B_Micro | bldc-BMS:USB_Micro-B_Amphenol_10103594-0001LF_Horizontal_circular | J10 |
| 1 | XT60_FEMALE | bldc-BMS:XT60PW-F20 | J6 |
| 1 | XT60_MALE | bldc-BMS:XT60PW-M20 | J3 |
| 1 | ZXMP10A13FTA | Package_TO_SOT_SMD:SOT-23 | Q17 |
| 1 | bq76200 | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U1 |
| 1 | bq76930 | Package_SO:TSSOP-30_4.4x7.8mm_P0.5mm | U2 |

Govish/EBoard-Sidecar
A circuit board for my electric longboard that controls soft power, precharge, and LEDs

azerimaker/BMS_3-5S
3-5S Battery Management System based on TI bq76920 IC and MSP430 uC.





dougsthenri/spindle_driver_v1
PCB project for a BLDC motor driver tailored for CNC spindle motors

It measures 82.8 × 63 mm and has 2 copper layers, 1.6 mm thick.
175 parts, built around the STM32F072C8T6, TJA1042T/3/1J, MIC5219-3.3YMM and MIC5239-5.0YM. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the mpater/bldc-BMS repository on GitHub, at the commit this page was made from: the board is bldc-BMS.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask mpater before reusing the design.