Wireless Pulse Sensing with Nonin PureSat, Arduino and Xbee

In previous projects I’ve been using a Wireless ECG heart Rate sensor produced by Vernier: a very reliable sensor that you hold in both hands, and that I have also adapted into a table top interface by embedding the four contact electrodes into the table surface (Distillery/Alembic & Retort, 2009).

With this project at Children’s Hospital Westmead, I wanted to explore ways to measure heart rate without requiring people to use both hands (which could be difficult, cumbersome, or impossible for some participants).

Pulse oximeters are a commonly used technology in most modern hospitals – that are used primarily to monitor blood oxygenation, but also heart rate. The basic principals are simple: shine an infra-red light into the finger/earlobe, and then measure how much of this light is absorbed by the (red) oxygen saturated blood as it rushes into the area beneath the sensor. Pulse oximetry is concerned with the amount of oxygen in the blood – and pulse-plethysmography is concerned with the actual pulsing siganl, so when its heart rate that is the main signal being measured, these sensors are refered to as IR pulse-plethysmographs, commonly abreviated to ‘PPG’ for short.

Whilst simple in theory, there are many factors that mean its often difficult to obtain a reliable and accurate signal with basic IR sensing technology: changes in ambient lighting conditions, movement artefacts, and poor perfusion (circulation), and a signal range that fluctuates with changes in blood pressure, complicating the process of interpreting ‘beats’ from a rhythmic but often highly variable signal.

Last year I started doing tests with a PPG sensor made/distributed by J&J Engineering: integrating it into an Arduino board and receiving its signal via an Xbee wireless serial port connection to Max-MSP. You can read more about this project, and check out the Arduino Code on my website. The Breath Sensor was brilliant, but the PPG heart rate sensor was still prone to missing beats and fluctuations in finger and blood pressure (i.e. how tight the finger clip was, and how much the signal varied with changes in blood pressure.

This year, after shopping around for professional pulse oximetry /PPG equipment I settled on using Nonin’s PureSAT and OEMIII products.

Above: Nonin OEMIII chip, used to obtain pulse data.

The OEMIII is a miniature circuit that is used to drive and transmit sensor data from the PureSAT oximeters. I use the OEMIII to perform the basic beat detection work, that can otherwise become quite challenging in real-world interaction contexts.  I commissioned Angelo Fraietta (Smart Controller) to developed a system that would enable us to interface the serial data from the OEMIII chip with Max-MSP, using Arduino and OpenSoundControl (OSC). I should also mention that these Nonon devices are TGA (Australian Therapeutic Goods Administration) approved medical devices – which simplifies some of the administrative and safety requirements we are obliged to comply with at the hospital.

Above: the Nonin PureSAT pulse oximeters – Ear clip (left) and Finger clip (8000SS). Photos by Julia Charles.

The next step was to design a housing for the electronics. Frank Maguire was commissioned to integrate Angelo’s initial prototype into an interface that could be used with an Apple iPhone/iPod interface. Ultimately, we’ll be embedding all the sensor hardware into a single plug/dongle type device that will plug directly into the iPhone/iPad, but for this preliminary prototyping stage our main criteria was that it should provide  a an experience of an all-in-one interaction: nestled in your palm, underneath the iPhone. I was also interested in a semi-modular system that could also be inserted into other objects (i.e. toys, night-lights, soft-sculptures etc.).

This entry was posted in electronics, prototype, software, Uncategorized. Bookmark the permalink.

Leave a Reply