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.
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.
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 advertisingJunctek KL-F shunt monitorsBluetti power stationsJackery power stationsEcoFlow 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.
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.
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.
An app that did not upsell me, require a subscription, or ask for my geolocation. Remember when you could buy something and own it? Well, let’s get back to those days.
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
And… and it had to treat my tent trailer’s pack (4 × 12 V 100 Ah) as a single unit.
Then it got a little crazy. Scope creep is real.
5
“How about building a capacity test?” Okay!
6
“Can I pass my BMS data to an AI to double-check the configuration?” Yes. That became Sanity Checks.
7
“What about devices the app has not seen?” So it grew a device-confirmation system.
8
“What happens when my friends find bugs?” A bug-reporting system, with replies. Okay!
9
“How many other devices can I integrate? Hey, Dad, can I borrow your EcoFlow for a few days?”
10
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.)
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.
BMS Pal’s decoders were written from protocol documentation that open-source developers and hobbyists published, and for some brands they follow those projects’ permissively licensed code. Thank you to these authors. Their projects are independent of BMS Pal and don’t endorse it.
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.
We take accessibility seriously. The BMS Pal iOS app supports VoiceOver, Switch Control, Voice Control and the largest text sizes. The Android app matches it: TalkBack hears the same sentences and announcements, layouts reflow at the largest font sizes, Remove animations is respected, and every battery gets a launcher shortcut.
Spoken status that says what the screen shows.Every battery row reads as one sentence: connection first, then charge, runtime with its direction, volts, amps and watts as words, then protocol and chemistry. A stale reading says how old it is. An estimate says it is an estimate.
Cells you can inspect without aiming at a bar.The cell chart speaks its lowest, highest and out-of-balance cells, and a Cell details list puts every cell voltage in a plain row.
Hardware confirmations you can read, reach and back out of.Cutting charge or discharge names the battery, keeps Confirm and Cancel on screen at any text size, and never fires twice. A disabled switch tells you why it is disabled.
Nothing depends on a swipe, a drag or a long press.Hide, rename, forget and reorder all have visible buttons or menus, and every control clears the 44-point target size.
Calm updates.A new alert, a lost connection, a finished test or the result of a command is announced once. Live numbers ticking over are never read out.
Charts you can hear, or read as a list.History charts describe themselves, play as an Audio Graph in VoiceOver, and open as a plain list of readings with a Read data button.
Your settings, respected.Layouts reflow up to the largest accessibility text size instead of truncating. Reduce Motion stops the decorative animation. Nothing relies on color alone.
Siri, Shortcuts and Assistive Access.“How’s my pack in BMS Pal” speaks the last reading with its age. Assistive Access gets a simplified screen with just your batteries and their status.
Something still in the way? Tell the developer; accessibility reports get the same attention as protocol bugs.
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.
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.
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: