Heart Rate Monitor Interface

Retired at Sparkfun. This page is for historic purposes.
Sparkfun HRMI PCB
The Heart Rate Monitor Interface (HRMI) is an intelligent peripheral device that converts the ECG signal from Polar Electro Heart Rate Monitor transmitters into easy-to-use heart rate data. It implements a sophisticated algorithm for computing an average heart rate even with noisy or intermittent data from the transmitter.

The HRMI was born from the Heart Rate Telemetry system I designed. I wanted to do something with the algorithm I had designed for that product and pitched this product to Nathan Seidle, Sparkfun CEO. He agreed with a handshake and went off to layout the board for Sparkfun’s manufacturing process. They build the board and I provided the firmware, documentation and demo code.


• Multiple interfaces: USB, Logic-level serial and I2C
• Dual heart rate processing algorithms: averaged and raw
• Uses the RMCM01 Polar OEM receiver
• Compatible with coded and non-coded Polar transmitters including T31, T31C, T61C and Wearlink®
• 32-entry heart rate data history buffer
• Four 8-bit ADC inputs
• Up to a 5 channel digital input/output utility port
• Simple command/response interface
• Programmable power-on default operation


• Custom exercise equipment
• Portable heart rate monitoring devices
• Bio-feedback devices
• Heart beat aware body-worn electronics

Special Firmware

The new firmware that returns the period (in milliseconds) between pulses can be found here.


User manual.
Code examples from the manual.
Demonstrates how to access the HRMI through the USB interface using the Processing development environment. Pressing the "Average" button will put the HRMI into Average mode and display a running heartrate. Pressing the "Raw" button will put the HRMI into Raw mode. Pressing the "Hold" button suspends polling of the HRMI and update of the display but keeps the serial port open. Pressing the "Disable" button closes the serial port (so you can safely unplug the HRMI). Runs on Windows, Mac OS X and Linux machines. The original zip file contains both the source and precompiled binaries for all three platforms. However this code doesn’t work on some modern platforms. The hrmi_graph_3.zip file should compile with Processing 3 (I no longer distribute the precompiled binaries because they are too large but you can create them from within Processing). Be sure to note the name of the serial port driver your system has associated with the HRMI. The hrmi_graph application will display a list of serial port devices it finds on your system and you must select the one associated with the HRMI.
hrmi_graph program