I wrote a while back that I was looking for recommendations on getting better sleep data. It turns out that there’s an easy and affordable solution for doing this that is directly designed for this problem.
The required device is a pulse oximeter. It measures both heart rate and blood oxygen content, and is used for diagnosing Sleep Apnea. I bought this one off ebay (it’s a v3.5 Contec CMS50F) for really very little money. It’s easy to wear while sleeping, as it’s reasonably comfortable and stays on just fine even if you move about.
There is then good open source software called Sleepyhead which is designed for CPAP machines but also handles Pulse Oximeter data (there is also proprietary software for Windows which I haven’t tried yet because it comes on a CD and I got Sleepyhead working before my Amazon Primed external CD drive arrived).
I’ve not been super happy with Sleepyhead, but that’s more because my use case is not what it’s designed for: I don’t have a CPAP machine (yet?) and would quite like access to the raw oximetry data, which the export doesn’t provide. I’m going to stick with it for now, but I’ll also try the proprietary software at some point, and may try writing a Python script for doing data export from the oximeter, as its protocol doesn’t appear to be very hard.
I’ve only been using it for two nights, so too early to say if this data is going to prove useful or not, but the data does seem suggestive that something is going on. I may/probably will post further updates.