Bikefit
Live power, cadence, heart rate and zones; full session history on your device; TCX export to Strava, intervals.icu and friends.
Your gadget was fine before it got smart. Now it has Bluetooth, an app, an account, a cloud, and a privacy policy longer than the manual. libreble puts the radio to better use: web apps that talk to the device directly, in your browser. Your data stays on your device, it works offline, and nothing breaks when the vendor loses interest. No account, no app store, no server. Freeing a gadget that never needed freeing is a lot of work, so each app also documents the device's protocol — nobody should have to do it twice.
| Feature | libreble | Vendor app |
|---|---|---|
| Account | ✓None | ✕Sign up first |
| Your data | ✓On your device | ✕Their cloud |
| Install | ✓Open a link | ✕App store |
| Offline | ✓Works | ✕Usually not |
| Protocol | ✓Documented | ✕Secret |
| Source | ✓Open, MIT | ✕Closed |
Every app runs on its own page under this site and is a standalone repo on GitHub.
Live power, cadence, heart rate and zones; full session history on your device; TCX export to Strava, intervals.icu and friends.
Syncs the brushing history the brush already stores — no pairing, no P&G account. Live pressure and timer, brush-head wear, streaks and trends. Verified on an iO; Genius and Smart lines covered too.
Live battery, speed and health from the tool, speed control with the tool's own confirm handshake, and an accessory & material speed guide — which bit at which speed. A built-in mock tool runs the whole app without hardware.
Live full-screen readout, charting, statistics, recording and CSV/PNG export — several meters at once, with derived channels. One app across six vendors, each meter family's protocol documented.
Looking for liberated label printers? That's a sibling project: thermal-label.github.io — same idea, organised around thermal printers rather than around Bluetooth.
Four rules every libreble app follows.
The browser speaks Bluetooth to the device itself through Web Bluetooth. Nothing sits in between — no vendor server, no relay, no login.
Everything is stored in the browser on your device. Export it as a plain JSON file, import it elsewhere, delete it whenever. No network requests at runtime.
Each app is a PWA: add it to your home screen once and it opens without a connection, like any other app — minus the app store.
No ads, no analytics, no crash reporting, no "anonymous" telemetry, no third-party anything. We have no idea how many people use these apps or what they do with them. Yes, we're curious. No, we're not adding a counter — if an app earned it, a star on GitHub is the whole feedback loop.
Web Bluetooth is a Chromium feature, so the browser matters more than the device.
On iPhone and iPad a Web Bluetooth-capable browser such as Bluefy can work, but it isn't a supported target.
Have a gadget held hostage by its app? If it talks Bluetooth Low Energy — the ble in libreble — anyone can liberate it. This is the shape, and how to get it listed here.
PROTOCOL.md other people can
implement from. The write-up counts as much as the app.The apps above all follow this shape — borrow whatever helps. Their source lives at github.com/libreble.
Anything with a Bluetooth LE radio qualifies: say which make and model, and what its app holds hostage. Requests are a wish list, not a queue — but if you own the device and can help capture what it says on the air, things move a lot faster.