Skip to the content
4 layers44 × 72.1 mmPrecharge, the printed circuit board in 3D

PCB for the CellKeeper BMS

Size
44 × 72.1 mm
Copper layers
4
Thickness
1.6 mm
Parts
8
Nets
5
Pads
30
Tracks, vias
4, 0
Pours
5
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
3 Dec 2025
Updated
28 Oct 2026

Overview

Precharge is an open-source printed circuit board by cellkeeper-bms, from the cellkeeper-bms/cellkeeper-hardware repository on GitHub, published under the GPL-3.0 licence. It is a 4-layer board of 44 × 72.1 mm with 8 parts on 5 nets, routed with 4 tracks and 0 vias.

It is built around the B59451C1130B070. It belongs with the power boards of this library.

Main components

1

README

README.md

CellKeeper BMS — v1.1

CellKeeper v1.1 PCB, top view

KiCad PCB design for the CellKeeper Battery Management System, a replacement BMS controller for battery packs using the isoSPI protocol. The main board fits the Tesla battery's penthouse: the pack's original harness, HV sense, shunt and BMB connectors plug into it, and it mounts on the original brackets.

Each ordered revision has a release with its Gerbers, JLCPCB BOM and CPL, schematic PDF, board PDF (3D views and 1:1 prints) and the enclosure print files. Rev 1.1 was ordered on 2026-10-28; work towards rev 1.2 is on the rev1.2 branch.

Overview

  • MCUs: two Raspberry Pi RP2354B (dual Cortex-M33, 2 MB in-package flash): the main BMS controller and an independent supervisor, linked by UART. The supervisor also sees the isoSPI receive line and the E-stop input, and it alone enables the contactor drivers.
  • Current sensing: TI INA228 (20-bit) on a galvanically isolated domain (ISO1540 I2C isolator, isolated 5 V DC-DC), also reading the shunt's temperature.
  • HV sensing: 6 sense points (BAT±, LINK±, FC±) through 501:1 dividers into two ADS1115 ADCs: pack, link and output voltage, and the voltage across each contactor.
  • BMB communication: transformer-isolated isoSPI master (SP3485 driver, AM26LV32 receiver, HM2113 transformer), Manchester-encoded by the RP2354's PIO.
  • CAN: two ISO1050 interfaces: inverter CAN, isolated with its own DC-DC, on an RJ45 shared with the E-stop and aux lines; and inter-BMS CAN2 on a pass-through RJ45 pair (not isolated).
  • Contactors: four low-side drivers (FC+, FC-, Link+, Link-): BSC0805LS MOSFETs and UCC27524 gate drivers, PWM'd by the firmware to economise the hold current. The contactor supply is sensed.
  • Supply: 13–16 V logic and contactor inputs (separate, both sensed), TPS5430 5 V buck and 3.3 V LDO; chassis ground terminal.
  • HV battery: 400 V nominal.
  • USB-C ×3: BMS, supervisor, and HMI link. The HMI link is not for a computer: it powers an external ESP32 display (5 V 1 A) and carries its serial.
  • I/O: E-stop input (optocoupler; jumper JP37 disables it), an extra opto input and two extra outputs, fast-charge contactor aux-contact inputs for weld detection, SX serial interface, and experimental PCS signals on jumpers.
  • Board revision strap on GPIO47 (ADC7).

Repository Contents

Three boards, each its own KiCad project. They share no copper: the hat and the precharge board connect to the rest of the system by wires and lugs.

PathDescription
CellKeeper/Main controller board (CellKeeper.kicad_pro). Each ordered revision's Gerbers, BOM, CPL, schematic and board PDFs are on the releases page
isoSPI-Hat/isoSPI hat for a Raspberry Pi Pico: SP3485 / AM26LV32 / HM2113 transformer to the BMB connector
Precharge/Precharge board: six PTCs (three parallel strings of two) between M8 lugs, plus the HV system wiring diagram
lib/Shared CellKeeper_Local symbol and footprint libraries and CellKeeper.3dshapes 3D models
enclosure/3D-printable case for the main board (build123d)
graphics/Silkscreen artwork and README images
python_scripts/README renders (render_readme_images.py), release files (export_release_files.py), 3D model generators
docs/How to release a revision (releasing.md), README notes

Enclosure

CellKeeper enclosure

A two-part printed case (base tray and lid) for the main board, generated by enclosure/cellkeeper_case.py. It mounts in the penthouse on the original HVC brackets. The lid carries the logo and connector labels, which can be printed as a contrasting-colour inlay, with open tunnels over the LEDs. Ready-to-print STEP and STL files are attached to each release; running the script writes them to enclosure/output/print/. The board shows the case in KiCad's 3D viewer through the ENC1 footprint.

Safety

⚠️ This board interfaces with 400 V battery packs that can deliver lethal current. Only qualified personnel should work on high-voltage systems. This is a v1.1 development design — untested, no warranty, use at your own risk.

Acknowledgments

  • Damien Maguire & Tom de Bree — Original BATMan BMS software

License

GPL-3.0 — see LICENSE.

Parts

8
QtyValueFootprintReferences
6B59451C1130B070CellKeeper_Local:BMS_Library__RV_Disc_D15.5mm_W7.5mm_P5.0mmTH1, TH2, TH3, TH4, TH5, TH6
2MountingHole_PadCellKeeper_Local:MountingHole__MountingHole_8.4mm_M8_Pad_ViaH1, H2

More from cellkeeper-bms/cellkeeper-hardware

2
  • 4 layers260 × 113 mmCellKeeper, the printed circuit board in 3D

    CellKeeper

    cellkeeper-bms/cellkeeper-hardware

    PCB for the CellKeeper BMS

    480 parts11GPL-3.0
  • 4 layers44 × 37.8 mmIsoSPI Hat, the printed circuit board in 3D

    IsoSPI Hat

    cellkeeper-bms/cellkeeper-hardware

    PCB for the CellKeeper BMS

    23 parts11GPL-3.0

Similar boards

  • 4 layers18.5 × 18.5 mmAmp macom, the printed circuit board in 3D

    Amp macom

    loxodes/vna

    Under development open hardware microwave vector network analyzer

    8 parts205
  • 4 layers5.6 × 5 mmBNO055 08092019, the printed circuit board in 3D

    BNO055 08092019

    Aharoni-Lab/Miniscope-v4

    All things Miniscope v4

    8 parts161GPL-3.0
  • 4 layers110 × 95 mmMatchgroup test routed, the printed circuit board in 3D

    Matchgroup test routed

    rjwalters/kicad-tools

    Standalone Python tools for parsing and manipulating KiCad schematic and PCB files

    8 parts73MIT
  • 4 layers15 × 22 mmVN750PS E, the printed circuit board in 3D

    VN750PS E

    rusefi/rusefi-hardware

    8 parts52
  • 4 layers7.3 × 12.7 mmMulti imu, the printed circuit board in 3D

    Multi imu

    ras-marques/ImmersiveGloves

    I want to share how I am making vr gloves using 2 Tundra Trackers, 2 interface boards and 12 inertial sensors.

    8 parts29MIT
  • 4 layers114.3 × 18.4 mmPram, the printed circuit board in 3D

    Pram

    dojoe/K2500-PRAM

    A P/RAM extension remake for Kurzweil K2500 synthesizers

    8 parts20
  • 4 layers20 × 20.5 mmS XIAO, the printed circuit board in 3D

    S XIAO

    Aightech/CleverHand-hardware

    8 parts17GPL-3.0

Questions

How big is the Precharge PCB?

It measures 44 × 72.1 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Precharge use?

8 parts, built around the B59451C1130B070. 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.

Where can I download the Precharge KiCad files?

From the cellkeeper-bms/cellkeeper-hardware repository on GitHub, at the commit this page was made from: the board is Precharge/Precharge.kicad_pcb and its schematic CellKeeper/CellKeeper.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Precharge design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).