Bobbie Smulders Freelance Software Developer

Hometrainer 2.0 - Research

Out of curiosity, I’ve studied the inner working of my home-trainer. Without dismantling the bike, or disabling the functionality of the bike, I have succesfully connected the home-trainer to my Macbook, and can now calculate the cycling speed on my computer.

The home-trainer has a computer with a screen that displays all the information. This computer has two sensors connected to it: A heart rate sensor and a flywheel sensor. The flywheel sensor has a 3.5mm jack plug, which gave me the idea to connect it to the line-input on my soundcard (because a line input is nothing more than a A/D converter). This way it was not necessary to solder, or to create an interface.

Audio analysis of incoming data

After starting the audio recording, it struck me immediately that with every stroke of the pedals a small pulse was visible. Based on this I could calculate the distance for each stroke that is made, then I ultimately calculated the speed of the hometrainer on my computer.

Perhaps I will come around to make a GUI for my home-trainer, so I can automatically tweet the results of my workouts. Small detail: Java Sound is a really hard study. A quote I found:

There is no getPitch() method. You need to implement a spectrum analyzer for this. You might find a library online somewhere OR you can go to college, get an engineering degree, learn some DSP and still just throw your hands up in frustration and copy the implementation from a book