I sent them an email asking if they have their bluetooth protocol documented:
“We do not allow direct access to our devices, so unfortunately we will not be providing you the bluetooth protocols. In addition, due to FDA regulations for our pulse oximeter, it is not allowed for 3rd party applications to communicate with our devices.”
If the FDA doesn’t allow this then publishing it via bluetooth is probably a bad idea.
But maybe it’s not bluetooth LE and it’s sending data over another proprietary protocol and just using bluetooth as the transport.
Why do all these devices suck? Either they don’t have an open API or they send data to a somewhat full featured website but don’t have a streaming API…
Fitbit is better, but you can’t access their devices over bluetooth (no dox). But at least they have an API now. Basis is dead in the water.
Had similar communication with them for our SenseView Android sensor logger regarding their Blood pressure monitor and got:
“It is unfortunately not possible for us to let our devices communicate directly from the device to another device without using the cloud. If we allowed this to happen we would loose the key advantage of the iHealth devices, which is long term data management.”
They just wish to control data and got users data for free…
The only pulse oximeter that I’m aware of that does appropriate logging is the Nonin 3150.
Randy managed to figure out the USB protocol enough to create an iPython notebook that interfaces to it.
He only got it to work over USB, not bluetooth. The notebook also has to talk to the unit to set it up before you start usable logging because of timezone problems with Nonin’s junky windows software (and, if I remember right, they even charge extra for including it!). It does physically have a bluetooth interface, and he did try for a while to get it to work, but ultimately gave up (I’m not sure of the details).
I expect he’d be willing to share what he knows if anyone else wants to try it.
FWIW, I wrote an open source Android library for reading real-time data via Bluetooth from a Contec Medical Systems CMS50FW fingertip pulse oximeter at:
If you have a CMS50FW pulse oximeter and a recent Android device, you can install the test app:
I’ve seen this device for sale at Amazon, for about $170:
I hope your test app for contec medical system pulse oximeter is still living. May I ask how I can reach it, unfortunately in android market I cannot find it.
Thanks for reaching out. The CMS50W Test app is only available in a small number of countries at the current time. Maybe that is the reason you do not see it listed in the Google Play Store.
Please let me know which country you would like me to add it to.
Does Contec Medical Systems use their own Bluetooth profile and you contacted them to get the UID for the profile or they use the SPP profile?
I need to aquire blood pressure, SPO2, heart rate and body mass data from medical sensors via bluetooth and iHealth products was my first option but after contacting them and learning that they have their own Bluetooth profile which they will not make public, I decided to find a new company that sell bluetooth enabled medical sensors.
Thus, your answer will help alot.
Thanks in advance.
I guys! I need a pulse oximeter with bluetooth that allows me to integrate it in a rehabilitation system ! For that i need to be open source, have an open bluetooth protocol or an sdk ! Does any of you know a company that sells an oximeter like this?
Check out Nonin - they make higher-end pulse oximeters and they have a few bluetooth-enabled models. You’ll need to order a “developer kit” which will give you access to their bluetooth SDK. http://www.nonin.com/Finger-Pulse-Oximeter
Just wanted to open this conversation up again as it’s been a few years.
Are there any pulse oximeters on the market that have developer APIs? Specifically, a REST API where I can access the data over the internet, not via bluetooth?
I was excited to see the spO2 graph in my Fitbit app (I have a Charge3) but it looks like it only shows “variations” in spO2 levels and not the actual readings.
I did a bit of poking around on the forums and found an interesting post that said, “02-10-2021 09:54 - This type of data is medically regulated and not available in the SDK.”
Still, I was interested in looking at the variations over time. But I couldn’t find any documentation for the variation data being added to the web API. I looked at the raw data that I already capture from the sleep API requests and there’s no spO2 related data in there at all.
If anyone has more info on how to extract the spO2 variance data from Fitbit’s web API, please let me know and I’ll investigate and post.
For example, Garmin Vivosmart 4 shows some SPO2 drops during night when finger oximeter clearly shows no drops for me… Fibit Charge SPO2 also seems to be inaccurate - check out this video - this guy have sleep apnoe diagnosed, but fitbit wasnt able to detect it. Variations in SPO2 doesnt relate to absolute SPO2 levels and there is only one average SPO2 number for a whole night without detailed resolution and drops detection. Seems Fitbit not interested in giving us accurate and high-resolution SPO2 data (because wrist can’t give that data?). Wrist and finger technologies differs - wristworn devices measuring reflective light and finger devices measures light which goes through finger.
Also i’ve checked Mike Snyders study and they used finger oximeter to check the effects of SPO2 drops during flight.
There are some other continuous SPO2 devices which i want to try, but didnt have chance:
Hypnodyne Zmax with SPO2 addon is used by scientists but very expensive (not an option for me)
Beddr - but i’m not sure about it accuracy compared to finger. There is a review from apnoe guy here
Right now i’m using Wellue SPO2 ring because finger oximetry seems to be most accurate, also it was able to detect sleep apnoe for my mom. Its FDA listed, but i cant find clinical validation study… There is review from apnoe channel on youtube and for me it comfortable to wear during night… It have CSV export and mobile app.
Max, would you be willing to share a sample export from the Wellue SPO2 ring? I think this could be useful for my arrhythmia project, depending on how to the data is provided.