BMS Pal

All your batteries. One app.

A JBD pack in the garage, a Victron in the van, a power station on the table, and a different vendor app for each one. BMS Pal ends the app-hopping: every pack you own in one live list, with state of charge, voltage, current, watts, and time remaining. Device detail pages have tools for a deep dive into your devices.

Coming soon to the App Store · want a launch ping? Email me

For iPhone, iPad, and Apple Silicon Macs. Free download · 7-day trial · US$5 unlocks it for good.

BMS Pal devices list: four battery packs live at once, with charge, voltage, current, and power
The whole fleet, one list, live.

Protocols

Major BMS protocols, power stations, and monitors. And counting.

Eight battery-management-system (BMS) families at launch, in two tiers: BMS boards get the deep integration; battery monitors and power stations get their essentials, in the same list.

BMS boards — every byte they’ll give us

BMS data from inside your DIY packs and commercial batteries. These get the full treatment: per-cell voltages with balancing indicators, protection alerts, chemistry detection, and confirmation-gated FET control.

JBD incl. XiaoXiang & legacy variants JK BMS Daly BMS

Battery monitors & power stations

Sealed systems that still belong on the same screen. BMS Pal reads the essentials each one exposes, and they get charts and history like any other pack.

Victron incl. encrypted advertising Junctek KL-F shunt monitors Bluetti power stations Jackery power stations EcoFlow power stations

Who reports what

Ten columns. Swipe sideways for the rest.

Data supported per device family. A check mark means the value is read from the device; a dash means it is not available for that family.
Device family SoC Volts Amps Watts Temp Cells2 Alerts Config3 FET4 Sanity Check5
BMS boards
JBD incl. XiaoXiang & legacy
JK
Daly
Battery monitors & power stations
Victron SmartShunt, BMV & co.
Junctek KL-F shunts
Bluetti
Jackery
EcoFlow1
  • 1 Full EcoFlow telemetry rides the optional EcoFlow account sign-in; straight over Bluetooth, state of charge still comes through.
  • 2 Per-cell voltage bars; live balancing indicators on JBD, JK, and Daly.
  • 3 Configuration reads: JBD answers a full parameter pull; Junctek meters send their settings along with the data stream.
  • 4 FET control is write mode: off by default behind a master switch and a per-command confirmation, and every attempt is logged.
  • 5 Sanity Checks review protection settings and configuration, so they run on BMS boards, where the setup can actually be changed.
  • Where a device doesn’t report capacity, chemistry, or cell count, BMS Pal asks once when you add it.
  • All eight families on my bench
  • 92 wire-protocol variants documented
  • 1,100+ automated tests in the suite

Pack that will not identify? Unrecognized-device reports are exactly how this table grows a row; see Help me help you.

Features

What it does.

Every system in one place

Every pack, whatever BMS is inside, lands in the same live list, up to eight connected at once, side by side. No vendor apps required.

Bundled batteries

Packs that work as one bank read as one battery: group them series, parallel, or series-parallel and get combined voltage, current, and state of charge, computed from the members.

Your BMS, decoded

See how the board is actually set up: hardware and firmware details and its protection settings, read straight off the BMS. No vendor app required.

The everyday kit, whatever you run

Live telemetry

Voltage, current, power, temperature, and state of charge stream in as your BMS reports them. Charts hold the last week, so you can see what happened while you slept.

Time until empty, time until full

How long until the pack is empty, and how long until it is full: computed from live draw on any pack that reports it, smoothed so it reads steady, shown on the device page and right in the device list. Most vendor apps never show it.

Capacity tests

Run a real discharge test on any pack that reports current: BMS Pal integrates it over time against your cutoff and files the result in the pack’s history, so “how many amp-hours, really?” finally gets a measured answer.

The deep end, when it’s a BMS board

Per-cell detail

Every cell gets its own bar, down to the millivolt. Cells the BMS is actively balancing light up with a bolt, so you can watch the spread tighten in real time.

Chemistry detection

BMS Pal reads your pack’s protection thresholds and works out whether it is LiFePO4 or Li-ion on its own. You can override it: you know your pack better than anyone.

Alerts, plainly stated

When the BMS raises a protection event (over-temperature, cell over-voltage), it appears on the device page in plain language. No sirens, no red flashing. Just the facts.

Sanity Check

Not sure those numbers are fine? Send a snapshot of your pack for a second opinion and get a short, plain-language read back. Only ever when you tap the button. See the privacy policy.

Write mode, off by default

Toggling charge or discharge FETs is serious business on a high-energy pack. Writes sit behind a master switch plus a per-command confirmation, and every attempt is logged.

Screenshots

See it in action.

Shots show the built-in demo fleet: the exact shipping UI, driven by simulated packs so every feature is visible at once.

Sanity Check report: a written summary of pack condition, then a graded finding with rationale
A real report: the demo camper’s over-temperature alert, caught and explained.

Sanity Checks

A second opinion, in plain English.

Numbers are only half the story. Is a 30 mV spread fine? Is that under-voltage cutoff right for Li-ion? Tap Run Check and BMS Pal sends the pack’s configuration and live data for an AI review across six dimensions, and hands back a written verdict: a summary up top, then findings with severity, the reasoning behind each one, and the tradeoff of every suggested change.

  • Findings come graded: what needs action, what to verify, and what to leave exactly as it is.
  • You see exactly what is sent before anything leaves your phone, copy button included, and only when you tap.
  • Reports stay with the device, so you can change a threshold and check again.
  • For BMS boards: a second opinion pays off where the setup can actually be changed. 25 checks included; $2 for 25 more.

The backstory

The app I wished I had.

BMS Pal started as a four-item wishlist.

  1. An app that did not upsell me or demand a subscription. (You would be surprised how aggressively Apple encourages the subscription model.)

  2. Native OS graphics. Too many vendor apps look like they shipped with Windows 98.

  3. All my devices on screen at the same time.

  4. Oh, and it had to handle my tent trailer’s pack.

Then it got a little crazy. Scope creep is real.

  1. “How about building a capacity test?” Okay!

  2. “Can I pass my BMS data to an AI to double-check the configuration?” Yes. That became Sanity Checks.

  3. “What about devices the app has not seen?” So it grew a device-confirmation system.

  4. “What happens when my friends find bugs?” A bug-reporting system, with replies. Okay!

  5. “How many other devices can I integrate? Hey, Dad, can I borrow your EcoFlow for a few days?”

  6. Scott: “Think we can find a Bluetooth shunt for my trailer and add that too?” Hey, let’s try! (If you are wondering why the coverage table has a Junctek KL-F row: that is why.)

Roadmap

What’s next.

Version 1 is the starting line. This list is roughly ordered, and the top of it belongs to you.

  • Your requested features Send Feedback in the app; I read everything, and real use reorders this list.
  • Your requested devices Device reports decide which family gets the next row in the coverage table.
  • Your bug reports Fixes for misbehaving packs jump the queue.
  • Home Screen and Lock Screen widgets
  • Apple Watch app and complications
  • More languages
  • Android support

The top three feed from one place: Help me help you, right below.

Help me help you

Your unique setup makes the app better.

BMS Pal is one developer and one bench. The eight families above are the ones I can test myself; the long tail of firmware quirks and rebranded boards lives on your bench. The app has three buttons for exactly that. None of them are automatic, and none of them are paywalled.

Report a Problem

A pack that will not connect, a value that reads wrong, a device that will not identify? Send a report with diagnostics straight from the device page (or from the scan screen for mystery hardware). Replies land in the app’s Support inbox, so you will actually hear back.

Confirm Device Support

Got a model that reads correctly? One tap sends its model and firmware details so I can mark your exact hardware as confirmed, and the next person shopping for a BMS knows theirs will work before they buy.

Send Feedback

Ideas, gripes, feature requests. Same two-way channel: I read everything, and you will see replies in your Support inbox, with a badge so you do not miss them.

You tap the button, you see the exact payload before it goes (copy button included), and nothing ever leaves in the background. Support stays reachable even if your trial ran out long ago.

Vendors

Make battery gear? Join the fun.

If you build BMS boards, power stations, or battery monitors and want them supported well, I would love to work with you.

Protocol documentation, a loaner unit, or an engineer on a short call: any of the three turns into an integration that is bench-tested before it ships. Your customers get a good native app on day one, and the coverage table above grows another row.

Privacy

Local-first. Actually local.

The app collects nothing on its own, and this site holds itself to the same standard.

  • No account. Ever. There is nothing to sign up for, no install ID, and no per-user identifier anywhere in the system.
  • No analytics, no trackers, no background traffic. Your telemetry history lives in the app’s local storage on your device. Delete the app and it is gone.
  • Nothing is sent unless you tap Send. The only network calls are the ones you explicitly ask for (a Sanity Check or a problem report), and the share screen shows you the exact payload first, with a copy button.
  • This site practices what the app preaches. One static page. No scripts, no cookies, no font CDNs, no analytics. View source if you like; it is short.

Read the full privacy policy; it is written in English, not legalese.

Pricing

The deal.

One price, no subscription, and a week to make sure it earns it.

Try it

Free for 7 days

Free download. Everything works for a week: every protocol, every feature, no card up front.

Keep it

US$5, once

One purchase, yours for good — or your local price outside the US. No subscription, no renewal email, no “premium tier” holding features hostage.

Optional

Sanity Checks

Each one runs the app’s Sanity Check tool in the cloud, which costs me actual server money. The app comes with 25 checks; when you run out, $2 adds 25 more. Everything else runs entirely on your device.

Support and problem reporting are never paywalled: even if your trial ran out years ago, you can always reach me from Settings.

Support

Talk to the developer.

Real answers from the person who wrote the code.

BMS Pal is written by one person who owns an unreasonable number of battery packs. Questions, misbehaving BMSs, and feature ideas all land on the same workbench.

Fastest route: the Report a Problem and Send Feedback buttons in the app; replies show up right in your Support inbox. Or plain old email: