Project Guide

Tesla Pack Monitor

DIY standalone diagnostic tool for Classic Tesla Model S / X battery packs. Built to diagnose cell imbalance and pack health without relying on expensive commercial tools.

1 Mission

Create a portable, self-contained tool that plugs into a Tesla battery pack, reads live brick voltages and temperatures, and clearly shows imbalance and health — all without needing a laptop on site.

Short-term (v1 – working device)

Longer-term potential

Better diagnostics

Per-brick CAC estimates, historical trends, clearer fault interpretation

Web dashboard

SoftAP mode so you can view live data on a phone browser when desired

Multi-platform

Support newer Tesla packs (Model 3/Y, Raven) with profile switching

Reporting

Generate TPM-style PDF/text reports for records or resale

2 Current Status

Overall progress to first working device ~35%

What is already done

  • Done   Hardware selected and ordered (Radxa, CAN HAT, display, buttons, enclosure, BMS connector)
  • Done   Core data model (Pack → Modules → Bricks)
  • Done   0x6F2 decoder for brick voltages + temperatures
  • Done   CLI summary tool with demo data
  • In progress   CAN log file support (via Cursor)
  • Done   GitHub repo + local development setup

3 Roadmap to a Working Device

High-level sequence from today to a fully usable standalone tool.

4 Near-term Focus

Right now the priority is software that can be developed offline.

  1. Finish CAN log file support (in progress with Cursor)
  2. Optionally improve the CLI (JSON output, focus on weak modules)
  3. Prepare the SocketCAN listener skeleton so it’s ready when hardware arrives
  4. Assemble hardware as parts come in
  5. Bring up the Radxa + CAN HAT and capture first real frames
Hardware and software are progressing in parallel. Most of the hard decoding work is already done — the remaining software is mainly about connecting the pieces and building the UI.

5 Quick Reference

Repo

github.com/mikesudyk/tesla-pack-monitor

Run the CLI (demo)

PYTHONPATH=src python3 -m tesla_bms

Key CAN message

0x6F2 — 96 brick voltages + 32 temperatures

Target pack

2015 Tesla Model S 85D (Classic architecture, 16 modules)