Several users have asked whether it would be possible to use the Blood Oxygen Saturation sensor in the more recent Garmin Watches to generate an alarm – this could be a useful indication of reduced breathing during a seizure so add to the detection reliability.
Up until now I have said it is not possible because the Garmin software does not give us access to the data from the sensor. Recently though a user, Steve Lee has pointed out that the more recent software from Garmin does allow us to access the O2 saturation sensor, so we have worked on an update to the Garmin watch app and the phone app to make use of it.
At the moment it is very much in the experimental stage, because I am not sure how often the O2 saturation is updated – Even if you enable all-day monitoring it appears that it only updates every 5 to 15 minutes during the day, but should update about once per minute during the ‘sleep time’ you set in the watch configuration on Garmin Connect. I think we need once per minute to be useful as an alarm parameter.
The current state of the code is:
- The watch app receives updates to the O2 saturation whenever the Garmin software provides one, and sends it to the phone app.
- The phone app has extra settings in the ‘seizure detector settings’ screen to enable O2 Saturation alarm and set a low level threshold to generate an alarm.


The code should run on any watch that supports the Garmin Connect IQ API/SDK version 3.2.0 or higher, as shown on this list: https://developer.garmin.com/connect-iq/compatible-devices/
To make it work you need to enable the O2 saturation sensor in the watch menu or Garmin Connect, and enable all-day monitoring. It looks like setting a very long ‘sleep time’ in the watch settings will force it to update the O2 saturation data more frequently (at the cost of battery life).
So if anyone would like to try this out, I’d be interested to hear how you find it so we can decide whether to include it in the published OpenSeizureDetector app. I’d be particularly interested if anyone does have issues with O2 saturation whether the results from the watch look reasonable or not.
If you would like to try it, you need the test version 3.7.0b of the watch app from the source code repository here: https://github.com/OpenSeizureDetector/Android_Pebble_SD/raw/O2SAT/app/release/app-release-3.7.0b.apk
And test version 1.0c of the Garmin watch app from here: https://github.com/OpenSeizureDetector/Garmin_SD/raw/O2SAT/WatchApp/build/GarminSD_v1.0c.prg
Remember these are test versions so please be careful using them in case it does not do what you expect. Please let me know how it goes using them.
Thanks
Graham (graham@openseizuredetector.org.uk)
