Skip to content

v0.6.0

Choose a tag to compare

@beadon beadon released this 08 Sep 10:00
· 9 commits to main since this release
c453934

A release about batteries, heart rate, and a Bluetooth bug that had been breaking every live connection since v0.5.0.

Fix first: live Bluetooth connections were broken

If you tried pairing a VESC, BMS, RaceBox, or Dragy after v0.5.0 and hit an immediate failure, this is why: every live connection called addEventListener on the wrong object, so a connect attempt threw right away. A second bug meant that even when a connection succeeded, disconnecting it could hang — the app moved on, but the phone's Bluetooth stack kept holding the link open in the background. Both are fixed, verified against real hardware: a fresh connect-then-disconnect cycle now completes in about a quarter of a second.

A BMS is now a live data source, alongside VESC

A JBD-family BMS (sold as Xiaoxiang, Smart BMS, or Little Elephant) can now connect over Bluetooth as a third concurrent device, merging pack voltage, current, SOC, per-cell voltages, and MOSFET/pack temperatures into the session in real time — the same "connect it alongside your GPS source" pattern v0.5.0 introduced for VESC.

Neither sidecar needs a RaceBox or Dragy anymore. Connect a VESC and/or BMS straight from the phone-GPS recorder, and their data is captured even before you start moving — a pack heating up on the charger or an ESC being bench-tested is exactly the kind of thing worth recording while parked. A session with sidecar data now shows small "VESC"/"BMS" chips wherever you browse your sessions, so you can tell at a glance which rides carry that extra telemetry without opening each one.

The first VESC or BMS you connect gets remembered on a Garage vehicle profile (a new one if you don't have one yet), so reconnecting narrows the Bluetooth picker instead of showing every nearby device again.

Live heart rate

A fourth Bluetooth source: any standard heart-rate monitor — a chest strap, a fitness watch, an Apple Watch running an active Workout session — connects the same way VESC and BMS do, using the open Bluetooth SIG Heart Rate Service rather than a reverse-engineered protocol. A heart-rate monitor belongs to you, so it's remembered as your own device preference rather than tied to a specific board the way VESC/BMS are.

Recording is now the front door

The bottom nav's primary action is now Record — a filled button that opens the same recording flow the dashboard's "Record a session" tile always has, without scrolling. Tools (the trackside calculators) moved out of that nav bar into Settings, a better fit for something used occasionally rather than every session. The Tools picker's "Lap Timer" entry is gone too — it was a second, confusing door into the exact phone-GPS recorder the dedicated Record flow already opens.

Session lists no longer dump everything at once

Both the dashboard's Recent Sessions list and the file browser's Track→Course view now page 10 sessions at a time with a "Show more" control, instead of a hard cap (dashboard) or an unbounded list (file browser). A session with a lot of extra telemetry channels — VESC and BMS together can add close to 20 — no longer pushes the map off-screen either: the chart legend now scrolls within a fixed height instead of growing without limit.

Everywhere else

  • Cancelling the Bluetooth device picker now just returns you to the connect button, instead of showing an error with troubleshooting text that didn't apply.
  • The README now carries a feature comparison against RaceChrono, the established commercial option — including two honest gaps: the track library is one built-in track today (growing through community pull requests), and there's no writer yet for NMEA/VBO/CSV/ODS session export.

202 test files · 2,685 tests · GPL-3.0-or-later · runs entirely in your browser, with no account and no upload.