Wikipedia:Reference desk/Archives/Computing/2020 July 8

= July 8 =

Bluetooth heartbeat / spo2 sensors
I see there are a lot of Fitbit-like gadgets out there that monitor your heartbeat, motion etc. This includes a lot of cheap "smartwatches" from places like aliexpress. They generally communicate with accompanying mobile apps but 1) I wouldn't trust a crazy app from one of those places, and 2) I want to use the data for my own purposes rather than using the app's built-in functions.

Does anyone know if the protocols for these things are reasonably standard, or at least reverse-engineerable? I'm aware of some finger clamp sensor boards that would do what I want, but it's sure a lot easier if I can use an off-the-shelf wristwatch instead of building electronics. Thanks. 2602:24A:DE47:BB20:50DE:F402:42A6:A17D (talk) 20:20, 8 July 2020 (UTC)


 * If they're talking to an ordinary phones, it's either ANT+ or Bluetooth (I'd guess BT, because pretty much all phones have that, whereas ANT+ isn't ubiquitous). For BT, there's two heartrate profiles (HRP and HRS), and the possibility that they're doing plain data and running their own proprietary protocol layer on top of that. The trouble with mystery meat unbranded stuff off Aliexpress is that they're happy to do weird stuff, and happy to change what they're doing without advertising what it is (which is a problem because lots of Aliexpress stuff doesn't have a stable brand or model number. I'd probably start with a USB bluetooth dongle on linux and run btmon to trace what's received from the HRM once it's paired. Sounds like a fun project, if nothing else. -- Finlay McWalter··–·Talk 21:46, 8 July 2020 (UTC)
 * Ah thanks, I didn't know about the HRP/HRS profiles. I had figured cheap stuff was more likely to do something generic and standard than a name brand like Fitbit, which would be more proprietary and obnoxious.  At least that's how things were in the PC world.  I don't have a device right now but might get a cheap one and try btmon per your suggestion.  Yes these things are all bluetooth.  I want to actually detect the heartbeats rather than just measure the heart rate, so hopefully the BT profiles let me do that.  2602:24A:DE47:BB20:50DE:F402:42A6:A17D (talk) 00:47, 9 July 2020 (UTC)
 * You might find this github repository helpful. -- Finlay McWalter··–·Talk 18:01, 9 July 2020 (UTC)
 * Thanks, I'll have to look over the profile spec too. I'm less after the heart rate than the heartbeats themselves, so I might need the chest strap type of sensor rather than a wristwatch that I guess uses infrared.  Particularly I want to detect the heartbeat phases (systole vs diastole) and see whether my alertness etc. changes between them.  This is for non-medical self-observation before anyone gets upset.  Thanks. 2602:24A:DE47:BB20:50DE:F402:42A6:A17D (talk) 07:17, 11 July 2020 (UTC)