The RMCM01 is a heart rate monitor chip which is able to decode the signal coming from the popular Polar heart rate belts.  It is able to decode both coded and uncoded belts. Unfortunately it is no longer available from sparkfun as a standalone and only as the polar heart rate monitor interfaces available. These are 59.95US$ which include the RMCM01 but is a bit expensive for such a gimic. I had one RMCM01 which i ordered long time ago but never found the time to have a look at. Oxurane at circuitsonline already opened  up the RMCM01 to see what was inside. Could not see what the IC was but it looked fairly simple.

Looking to buy or find the datasheetLook here. Have a look what is available in the shop.

RMCM01receiverICRMCM01open

The RMCM01 is rather simple to interface and the software that can be used can be found in the links below. However the RMCM01 is difficult to get in standalone version so i will look for some alternative solutions to decode a polar heartrate belt signal. In case you stick with the RMCM01 here is the schematic and a picture of the RMCM01.

RMCM01schematicRMCM01pinout

 

RMCM01 alternatives

1) Ready made receivers

There were also several other suppliers selling different receiver chips. If i should find a good source of receivers i will definitely try this route. http://www.kytocn.com/mod_product-view-p_id-104.html  This is the one pictured below on the left. http://www.spark-hk.com/product/spark/oem/spt0007.html This one has an MOQ of 500 so seems to be out of reach for me. It is pictured on the right below.

RMCM01alternative1RMCM01alternative2

2) iPod solutions

Also there are special adapters that fit your iPod or smartphone. http://www.runalyzer.com/en/  http://www.i-mobile.nl/hosand-60beat-hartslagmeter-ontvanger-voorraad-p-1732.html Maybe these designs could be used by sampling the audio output from their stereo jacks using the arduino a/d converter.

3) Peter Borst design

Another way to proceed is to use the design of Peter Borst who designed a standalone version which you can find here. http://peterborst.gmxhome.de/sigiborst/  The circuitsonline article also refers to the elektor article which uses Peters design. http://www.circuitsonline.net/forum/view/93725  Only difficulty with this is that there is a ferrite rod 50mm lenth 8mm diameter on which you need to wind 1000 windings of 0.2mm wire. If anyone knows how to do that easily or where to buy such a coil please let me know. The complete design you can see below.

RMCM01pulsontvanger_schemaRMCM01polar-cs200

The coil needs to be configures for 5.3 kHz and you can calculate this using the following formula. The units are Hz for the frequency Henries for the inductance and Farads for the capacitance. If you fill in the numbers then you need to have 900 when you multiply the capacitance and inductance together. (when measuring them in microHenries and nanoFarads) So as an example 22nF and 40uH could work or 110nF and 8.2uH.

RMCM01LCcalculation
To avoid winding the coils it would be nice to find one that is already prewound. Ones that i have used before are for the DCF77 transmitters and similar transmitters. They are made for 40kHz, 60kHz and 77,5kHz.

frequency             capacitor      windings      inductance
40.0 kHz                    6.8nF             190              2.33mH
60.0 kHz                    4.7nF            147               1.50mH
77.7 kHz                   2.2nF             168               1.90mH

One idea is to use the 40 kHz version but wire two coils of 190 windings in parallel. This would give an inductance of 4,66mH and need a capacitor of 200nF.  I will try this out before proceeding with the eagle board design.

NVS made comment:
I tried this method successfully using a the DCF77 receivercoil supplied by conrad (assembly includes 5cm ferrite+coil+680 pF) by adding 2 x 680pF in parrallel.
Shows this is not very sensitive as using above calculation with 680pF and 77,5kHz gives coil with 6,62uH. Adding 2 680pF gives a frequency of 43.3kHz.

4)Michael Moll design

There is also the design of Michael Moll. I have not managed to find a link to his site anymore so here you can find the circuit.

RMCM01HRM_0000

RMCM01 signals from coded & uncoded heart rate belts

RMCM01t31_codedRMCM01Polar_Wearlink_31_Coded_TransmitterRMCM01Polar_logo

What i am curious to find out is how the coding of the transmitters work towards the RMCM01. You can buy both coded and uncoded transmitters and both must work with the decoder circuit of the RMCM01. My current understanding is that the transmitter simply gives a burst of transmission power at 5.3kHz saying “heart beat” and no more than that. If that is the case then how do the transmitter and receiver synchronise so that only one transmitter is received. I could not find very much information on this on the net. If anyone has any idea please drop me a line.
What i do know is the following: The signal is a burst of pulses at each heartbeat. This pulse burst is however coded in that sence that there is a pattern in it.

A “0” is represented by a 7ms high and 13ms low and a “1” by 7ms high and 18ms low.

NVS made comment:
My coded wearlink HRM chestband strap transmits with every single heartbeat following databurst:
__|________|__|_
where burst is 7ms wide. time between 1st burst and 2nd equals 153ms. time between 2nd and 3rd burst equals 13ms.
So far, I did not measure my footpod, nor speedsensor nor cadance sensor.

The following pattern is then transmitted depending on if the transmitter is also communicating speed eg bicycle etc.

RMCM01pulseout1

 

RMCM01pulseout2

Now the next step is to try to read this signal. The ID coding of the sensors has only 2 bits so that only 4 different chest belts can be dealt with at any time.

I suppose they transmit a maximium distance of  about one meter so it may not be such a problem but it seems a bit low. You will also notice that the heartrate signal transmitted by the belt is a digital signal and so the receiving equipmentonly needs to read and decode this signal and not calculate the heart beat from any timing loop etc. The pulses are still sent out at regular intervals (every two seconds ?) so this could still be used to check the correctness of the signal. In any case there are ODD parity checks built in which should also ensure correctness of the data.

Next steps

I am going to make some experiments using the kyto receiver and also using the design by Peter Borst. I will post the results here. I will also make the winning design available in my shop.

Other articles about the RMCM01

Heart-felt Apparel Very bief story with picture on how a RMCM01 works.
Pulse sensor-transmitter T31 Polar and receiver RMCM01 – Toysrus How to connect an RMCM01 to an arduino including code
Have a Heart | Wire Jungle How to connect an RMCM01 to an arduino including code
PV Electronic You may still find some RMCM01’s in this shop, but stocvk is running out
https://github.com/rmosquito/PolyEGg software for cardio ECG using an arduino
The PDP-7 Technician’s Handbook: Heart Spark: An Open Source Valentine <3 – element14 open source hard/software for a wearable hearbeat indicator
HRMonitor.pde – wirejungle – Arduino and other controller related projects – Google Project Hosting software for connecting the RMCM01 chip to an arduino
http://jasper.sikken.nl/RMCM-01/index.html PIC project to connect an RMCM01

 

Leave a Comment