Skip to content
Kristian Partl

BLE Scale Sync

Reads body composition from 25+ Bluetooth scales and exports it to Garmin Connect, Strava, MQTT and eight other targets. No phone app in the loop.

Active2026

Most Bluetooth scales measure weight and body impedance perfectly well, but their companion apps have no path into Garmin Connect. The workflow was: open the phone app, wait for it to sync, then retype the numbers by hand. Every single time. A Raspberry Pi Zero 2W sitting next to the scale removes that step - it listens continuously, and the reading lands in Garmin a few seconds after stepping off.

It began as a Python script for one scale and one destination. Rewriting it in TypeScript around a single measurement type is what turned it into something other people could extend: 25+ supported scales, eleven export targets, a Docker image and a one-click Home Assistant add-on. I wrote up how the rewrite went in replacing my Garmin scale with a cheap Renpho and a Raspberry Pi.