John Keefe Builds a Quick and Easy Arduino-Powered Pulse Oximeter Following COVID-19 Shortages

Built using a sensor from SparkFun, display from Adafruit, and an Arduino Uno from the parts drawer, Keefe's project is eye-catching.

Investigative journalist and maker John Keefe has designed his own pulse oximeter with large, colorful display — using hardware from SparkFun and Adafruit.

"At-home pulse oximeters, those fingertip devices doctors use to measure the oxygen saturation in your blood, have been selling out everywhere thanks to the COVID-19 pandemic," Keefe writes. "But as my Quartz colleague Amirta Khalid points out in this great article, most people don't need 'em. If your oxygen level is worryingly low, you'll know — you don't need a machine to tell you. Folks with some existing conditions, however, can use a pulse oximeter to help a remote doctor monitor their vitals or to adjust supplementary oxygen devices.

"When Khalid mentioned she was working the story, it reminded me of the DIY 'pulse ox' sensor SparkFun sells. It, like other pulse oximeters, shines light into the skin and makes measurements based on how that light is absorbed. I've built heartbeat-driven projects before and had been exploring new ways to monitor pulse rates. So I got one."

Having the hardware is only part of the story, of course: SparkFun's Pulse Oximeter and Heart Rate Sensor does nothing on its own, and needs to be connected to a microcontroller or microprocessor. Keefe added an Arduino Uno from his parts drawer, plus a Qwiic Shield to sit between the sensor and the microcontroller. The display portion, meanwhile, is handled by an Adafruit RGB NeoPixel Shield.

It's fair to mention that Keefe's creation isn't a substitute for a calibrated and certified medical device. "SparkFun warns in red letters that 'this device is not intended to diagnose or treat any conditions,' and I offer the same caution if you're tempted to build one. The process wasn't hard at all. I got it running quickly ... and then added an LED display for fun and flourish."

Keefe's full write-up is available on his website, while the source code has been published to GitHub.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Related articles
Sponsored articles
Related articles