Program to decode the audio data sent by the
Polar S410 heart rate monitor


Introduction Software Contact [Up]

Introduction

To help me control the intensity of my long-runs (during the preparation of marathons or half-marathons) I acquired a Polar S410 heart rate monitor. This monitor has the capability of outputting the exercise data (lap times, heart rates, etc.) using sounds (SonicLink). Unfortunately, the software (PC Coach Light) provided by Polar to decode this information works only for the Windows family of operating systems. Since I work under GNU/Linux, I was forced to develop a program to extract and decode all exercise data from the sounds made by the monitor. I decided to offer the results of my efforts to all fellow runners. I believe that the program decodes correctly all information sent by the Polar S410.

The program can read the audio data from a file (44.1kHz, mono, lsb first, 16bits .wav format) or from the /dev/dsp device. All error detection features of the transmitted data (cyclic redundancy checks) are used to ensure that the received data is valid. If no decoding errors are found, the program outputs the decoded data in a readable format.

The program was developed without any outside help (including from Polar), and was based solely on recordings of the sounds made by my Polar S410 heart rate monitor. The program can also decode the sounds made by the Polar S510 heart rate monitor (since I do not have access to one of these, currently no interpretation of the raw data is provided).

There are now more models of heart rate monitors made by Polar which transfer data using sounds. Besides by own old Polar S410, which I have already replaced by a Garmin Forerunner 305, I have no access to these newer models. Please to not ask for information about how to adapt my program to work with them. If you know a few things about digital signal processing then you should not have much difficulty adapting it for your needs.

Software (last update made on March 11, 2004)

Source code of a program [15k, gziped tar archive] capable of decoding the audio data sent by the Polar S410 heart rate monitor; data sent by the Polar S510 heart rate monitor is detected and is outputed in raw format. This source code is released under the version 2 (or any later version) of the GNU general public license.