DIYBMS ESP32 Controller
Arkariusz·bms·ControllerCircuit/ControllerCircuit.kicad_pcb
About the DIYBMS ESP32 Controller PCB
DIYBMS ESP32 Controller is an open source ESP32 PCB design by Arkariusz, published on GitHub under the CC-BY-NC-4.0 license. It is a 2-layer board measuring 122.5 × 87.6 mm, with 75 components from 40 distinct parts.
Its main chip is the ESP32-DEVKITC-32D, from the ESP32 family. Other key parts include the TJA1057GT/3J, EL3H7(B)(TA)-G, TCA6416APWR, SN65HVD75DR and AMS1117-3.3. By type, the board carries 27 resistors, 12 connectors, 9 capacitors, 8 ICs, 7 diodes and 4 transistors.
It belongs with the power & battery designs in this gallery.
From the project
This is the latest version of the diyBMS controller
This is the latest version of the diyBMS controller
THIS REPOSITORY CONTAINS THE HARDWARE FOR THE SYSTEM
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.
Main components on the DIYBMS ESP32 Controller
DIYBMS ESP32 Controller bill of materials (BOM)
75 components, 40 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | TJA1057GT/3J | SOIC-8_3.9x4.9mm_P1.27mm | U1 |
| 1 | EL3H7(B)(TA)-G | SOP-4_4.4x2.6mm_P1.27mm | U2 |
| 1 | TCA6416APWR | TSSOP-24_4.4x7.8mm_P0.65mm | U3 |
| 1 | ESP32-DEVKITC-32D | MODULE_ESP32-DEVKITC-32D | U4 |
| 1 | SN65HVD75DR | SOIC-8_3.9x4.9mm_P1.27mm | U5 |
| 1 | AMS1117-3.3 | SOT-223-3_TabPin2 | U6 |
| 2 | AQY212GSZ | SO-4_4.4x3.6mm_P2.54mm | U9, U12 |
| 3 | AO3400A | SOT-23 | Q1, Q2, Q4 |
| 1 | AO3401A | SOT-23 | Q3 |
| 5 | ScrewTerminal | Terminal-Block_3.81_4P_LCSC_C395880 | J1, J4, J5, J7, J12 |
| 2 | SCREWTERMINAL3PIN ScrewTerminal3Pin | Terminal-Block_5.0mm_3P-LCSC_C395850 | J2, J3 |
| 1 | 2x3 2.54mm IDC Connectors | PinHeader_2x03_P2.54mm_Vertical | J8 |
| 1 | CONN_01X02_FEMALE Conn_01x02_Female | PinHeader_1x02_P2.54mm_Horizontal | J10 |
| 1 | CONN_01X03_FEMALE Conn_01x03_Female | PinHeader_1x03_P2.54mm_Vertical | J11 |
| 1 | Unused header | PinHeader_1x07_P2.54mm_Vertical | J14 |
| 1 | 0472192001 Molex 0472192001 | 0472192001 | J15 |
| 1 | Fuse, 1.85A | Fuse_2920_7451Metric | F1 |
| 2 | SRD-05VDC-SL-C | RELAY_SRD-05VDC-SL-C | K1, K2 |
| 1 | LCD | TFTSPI_2_8_240x320_TOUCH | LCD1 |
| 1 | Receive | JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | RX1 |
Show 20 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 2 | SW_Push | SW_PUSH_6mm_H5mm | SW1, SW2 |
| 1 | Transmit | JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | TX1 |
| 1 | RGB | LED_RGB_5050-6 | D1 |
| 2 | LL4148 | D_MiniMELF | D2, D5 |
| 2 | YELLOW LED | LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D3, D4 |
| 1 | D_Zener_Small | D_5W_P10.16mm_Horizontal | D7 |
| 1 | NUP2105LT1G | SOT-23 | D8 |
| 3 | 100NF 100nF | C_0805_2012Metric | C1, C2, C6 |
| 2 | 22uF 6.3V | CP_EIA-3216-18_Kemet-A_Pad1.58x1.35mm_HandSolder | C3, C4 |
| 1 | 22UF 22uF | C_1206_3216Metric | C5 |
| 3 | 1UF 1uF | C_0805_2012Metric | C7, C10, C11 |
| 5 | 220R | R_0805_2012Metric | R1, R17, R18, R21, R25 |
| 3 | 2K2 | R_0805_2012Metric | R2, R5, R16 |
| 1 | 180R | R_0805_2012Metric | R3 |
| 5 | 560R | R_0805_2012Metric | R4, R10, R12, R13, R14 |
| 3 | 120R | R_0805_2012Metric | R6, R8, R9 |
| 4 | 51K | R_0805_2012Metric | R7, R11, R15, R27 |
| 2 | 10K | R_0805_2012Metric | R19, R29 |
| 1 | 1M | R_0805_2012Metric | R20 |
| 3 | 22K | R_0805_2012Metric | R24, R26, R28 |
DIYBMS ESP32 Controller design files
The KiCad project lives in the Arkariusz/bms repository on GitHub; these links point at the commit this page was built from.
DIYBMS ESP32 Controller: common questions
What microcontroller does the DIYBMS ESP32 Controller use?
The DIYBMS ESP32 Controller is built around the ESP32-DEVKITC-32D, from the ESP32 family.
How big is the DIYBMS ESP32 Controller PCB?
The DIYBMS ESP32 Controller measures 122.5 × 87.6 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the DIYBMS ESP32 Controller?
75 components, from 40 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 DIYBMS ESP32 Controller design files?
From the Arkariusz/bms repository on GitHub, which has the KiCad layout and the BOM; the links under Design files point to each one.
Can I use the DIYBMS ESP32 Controller design in my own project?
It is published under CC-BY-NC-4.0, which limits how it may be reused; read the license before building on it.
Can I test firmware for the DIYBMS ESP32 Controller without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug ESP32 firmware against it before you order a PCB.
More boards in bms
Similar boards
ESP32
Open Book Abridged Edition
joeycastillo
85 × 115 mm65 parts2LCC-BY-SA-4.08.1kESP32
Powertrain
byrantech
64 × 45.4 mm171 parts4LMIT4.3kESP32
Badge
atopile
56.3 × 39 mm239 parts4LMIT4.0kESP32
Esp32 minimal
atopile
36.2 × 26.8 mm20 parts2LMIT4.0kESP32
Controller
StuckAtPrototype
29 × 74 mm58 parts4LApache-2.03.8kESP32
Racer
StuckAtPrototype
36 × 50.2 mm70 parts4LApache-2.03.8k