Heart Rate Monitor Interface

Download PDF Manual: hrmi.pdf (updated to revision 1.1)

Download the code examples in the manual Appendix B:
hrmi_demos.zip (Arduino 0018)

A quick shout out to
François Morin for finding a typo. Check out his very cool use of the HRMI in Elektra10.

Processing Demo

Download: hrmi_graph.zip

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 zip file contains both the source and precompiled binaries for all three platforms. 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.

Note for Microsoft Windows users: The precompiled binary for this application does not include the java folder because it is so large. You must either have java 1.5 installed on your system or you can copy the java folder from the processing application folder (e.g. processing-0135) to the hrmi_graph/application.windows folder.

Note for Linux users: You should have java 1.5 installed. You may also have to add yourself to both the uucp and lock groups so that processing can write to /var/lock when the rxtx serial library used by the Processing environment attempts to get a lock for the serial port. Run the hrmi_graph/application.linux/hrmi_graph script to start the application.

Note for Mac OS X users: You're cool. Java is already installed! Just double-click the hrmi_graph.app icon in the hrmi_graph/application.macosx folder.

Wiring Demos

(click image for video)
Download: arduino_10bar.zip

This demo drives a 10-segment common anode bar-graph LED with a representation of your immediate heart rate value. It runs on an Arduino (shown here running on the excellent Modern Device "freeduino" clone) and interfaces using I2C. All you need are a couple of 4.7 kohm pull-ups on the I2C lines, the bar-graph display (or 10 discrete LEDs) and a single 180 - 270 ohm current limiting resistor (you only need one because only one LED is ever on at a time).

(click image for video)
Download: arduino_ascii_disp.zip

This demo drives an old Siemens PD3537 intelligent green dot-matrix LED display. It's very easy to drive a modern parallel or serial LCD module using libraries that come with the free and easy-to-use Arduino development system. Or use whatever displays are knocking around your parts drawer.