An example of how to obtain heart rate data from a pulse oximeter (infra red pulse plethysmograph) in Max-MSP, incorporating various Max third party abstractions and externals. This patch uses Breath sensors and Pulse Plethysmogrpahs produced by J&J Engineering, connected to Arduino-based Funnel FIO interface, that transmit this as serial data (via FTDI serial-usb convesrion) wirelessly using Xbee tranceivers (you need to install FTDI drivers on your PC for this to work). The J&J Breath Sensor uses a Hall Effect sensor to measure changes in the distance between two points on a stretchable belt that you wear around your chest. Jos Mulder at UTS Interactivation Studio, developed the Arduino code and electronics to enable me to use these devices in my Max-MSP project. The pulse sensor need to be fed a 1.1 Volt reference signal to provide a higher resolution – since the actual signal range is extremely small.
I’ll upload more Max patches demonstrating how to extract heart rate and breath rate data from these signals soon – if you’re interested in the mean time – send me an email and I can send you the rough, unpolished versions!
Heart Rate Sensor Data – Analysis, Logging and Plotting, 2009…
This is a folder containing source code and applications developed by Jason McSweeney, for The Heart Library Project, in 2009. Unfortunately it only runs on Leopard (OS 10.5) and will not run on a newer OS : (
The applications are accessed and configured via a web browser (i.e. Firefox, Safari etc.) and was used on a number of the ‘Heart Library Project’ exhibitions.
It was designed to work with Vernier’sWireless Heart Rate Sensor, via Vernier’s ‘GoLink‘ USB sensor interface, although in principal, it is based on a modular approach, using Open Sound Control to link all the different functions.
As well as providing real-time analysis of heart rate data, this collection of apps. automatically records sensor data for later play back and off-line analysis, including comparative displays of various HR variables, both within one session, and across different sessions (i.e. different peoples heart beats).
The heart_rate_analysis_0.8.app performs the following tasks:
Receive live sensor (pulse) data from Vernier Wireless Heart Rate Monitor.
Perform real time analysis of inter-beat intervals calculated from the raw pulse data.
Transmits this live analysis over OpenSoundControl for translation and mapping in other applications (i.e. Max-MSP)
Archive all sensor data as timestamped compressed data that can be played back or examined off-line
Plots recordings of heart rate data – providing time series representations of selected variables, within and accross multiple recordings (i.e. can provide graphs to compare different sessions).
It still needs refining, and breaking apart into modules, and its not clear why the Power Spectrum Displays seem to be missing higher frequency data when measuring from the Vernier hardware (quantisation within the sensor?). I’m now looking for help to integrate this suite of applications with my own Arduino based wireless heart rate sensors. to the real time analysis and arching components.
Software and Electronics
Max-MSP
Heart and Breath Sensing with Arduino and Max-MSP
An example of how to obtain heart rate data from a pulse oximeter (infra red pulse plethysmograph) in Max-MSP, incorporating various Max third party abstractions and externals. This patch uses Breath sensors and Pulse Plethysmogrpahs produced by J&J Engineering, connected to Arduino-based Funnel FIO interface, that transmit this as serial data (via FTDI serial-usb convesrion) wirelessly using Xbee tranceivers (you need to install FTDI drivers on your PC for this to work). The J&J Breath Sensor uses a Hall Effect sensor to measure changes in the distance between two points on a stretchable belt that you wear around your chest. Jos Mulder at UTS Interactivation Studio, developed the Arduino code and electronics to enable me to use these devices in my Max-MSP project. The pulse sensor need to be fed a 1.1 Volt reference signal to provide a higher resolution – since the actual signal range is extremely small.
Arduino code for J&J GP4u PPG sensor
Arduino code for J&J GP5u Respiration sensor
Demonstration Max patch to receive data from above Arduinos
I’ll upload more Max patches demonstrating how to extract heart rate and breath rate data from these signals soon – if you’re interested in the mean time – send me an email and I can send you the rough, unpolished versions!
Heart Rate Sensor Data – Analysis, Logging and Plotting, 2009…
Help wanted!
heart_rate_analysis_0.8.app (link corrected!)
This is a folder containing source code and applications developed by Jason McSweeney, for The Heart Library Project, in 2009. Unfortunately it only runs on Leopard (OS 10.5) and will not run on a newer OS : (
The applications are accessed and configured via a web browser (i.e. Firefox, Safari etc.) and was used on a number of the ‘Heart Library Project’ exhibitions.
It was designed to work with Vernier’s Wireless Heart Rate Sensor, via Vernier’s ‘GoLink‘ USB sensor interface, although in principal, it is based on a modular approach, using Open Sound Control to link all the different functions.
As well as providing real-time analysis of heart rate data, this collection of apps. automatically records sensor data for later play back and off-line analysis, including comparative displays of various HR variables, both within one session, and across different sessions (i.e. different peoples heart beats).
The heart_rate_analysis_0.8.app performs the following tasks:
It still needs refining, and breaking apart into modules, and its not clear why the Power Spectrum Displays seem to be missing higher frequency data when measuring from the Vernier hardware (quantisation within the sensor?). I’m now looking for help to integrate this suite of applications with my own Arduino based wireless heart rate sensors. to the real time analysis and arching components.