Heart Rate Telemetry System
In the summer of 2007 I was introduced to
a gym owner who wanted a way for his clients heart rates to
be displayed on a big "score board".
I prototyped a system that we successfully tested at his
gym before the project was cancelled. The system put a
small transponder on each client that used a Polar OEM
receiver to pick up a signal from the heart rate
transmitter strap. Each transponder had a microcontroller
that computed and maintained a history of the average
heartrate. It also had a Nordic nRF24L01 2.4 GHz transceiver that was
polled by one or more base stations under control of a
central computer. The system used Nordic's enhanced
shockburst mechanism to deliver data immediately for a
poll request. The hardest part of the project was
developing a robust averaging algorithm that would be
responsive to changes in heart rate but ignore spurious
data. It turns out that there is a lot of spurious heart
rate data from typical polar transmitter straps because,
in addition to the true heart rate pulse, they generate
a pulse every time they make contact with the human
body. A person jogging on a treadmill or moving about
vigorously may be generating all kinds of junk data. I
also found out that the Polar guys are very conservative
with the information they display on their watches. It
was fun to develop my algorithm and understand more and
more how the algorithm in a typical Polar watch must
work. It appears to me that they definitely don't want
to display a changing heart rate unless they are very
sure it is accurate.
Below is a test program that would display data from a
transmitter and graph it in real time. It also included
statistics about missed packets and the ability to tune the
base station's attempts to contact a particular transponder
before moving on to the next unit. The bar you see next to
the Recent Packet Failure Rate statistic would get a black
line in it every time there was a missed poll. I would work
out at my gym with the transponder attached and my laptop
with the base station as far away as I could put it and
still see the display. People there either thought I was
crazy or wanted to understand how it all worked.
I
ended up taking the algorithm I developed and putting it
into a neat little product that Nathan Siedel at Sparkfun
agreed to manufacture and sell for me.
