~/codez/journal/2026-10-03-pulse-bridge-band-after-shutdown.md
· codezz/pulse-bridge · #ios #open-source #bluetooth #health
Keeping a fitness band alive after its maker shut down
The company behind my Pulse One band shut down, so I reverse engineered its Bluetooth protocol and wrote an iPhone app that sends its data to Apple Health.
What I built
The Pulse One band (Makina) lost its app when the company behind it shut down. On 2 October I wrote a small Bluetooth probe in Python on my Mac and mapped how the band talks: it turned out to be a JStyle-family protocol over a vendor service, plus the standard Bluetooth services for live heart rate and battery.
On 3 October Pulse Bridge 0.1.0 went public: an iPhone app that syncs heart rate, HRV, blood oxygen, steps, sleep stages and workouts from the band and writes them to Apple Health. No account, no cloud, no third-party services. The commands that reset or wipe the band can’t be built by the code at all, so a bug can’t erase anyone’s history.
What I learned
No SDK says what the band’s sleep values mean. It sends 1 to 5, and the closest open-source guess was written for a different device. So I worked it out from about 100 nights of my own data: 5 is awake, 4 a brief awakening, 2 light sleep, 3 deep and 1 REM.
Then I checked two nights against another tracker. Awake, light sleep, falling asleep and waking up all matched. Deep versus REM matched only about half the time, so the band’s two labels behave more like halves of a sleep cycle than real stages. I kept the mapping, and the protocol notes say exactly how sure I am about each value.
What’s next
A readiness score each morning, the band’s temperature, and a Live Activity during runs. All three shipped two days later, in 0.2.0.
Building something similar, or have a thought on this note? Say hi.