Skip to main content

bikesrv - A server to measure the output of an exercising bike and make it available via an API.

Project description


bikesrv is a server to measure the output of an exercising bike and make it available via a web API.

Wait, what?

Ok, you know exercising bikes. That thing that looks like a bike, but doesn’t move. You use it when you want to get in shape.

Some of these bikes have an output signal that is fed to a small computer with a large display across a cable and a mini-jack. The display then shows your speed, virtual distance etc.

Turns out that this mini-jack just fits into the audio in of a stock computer. This is where bikesrv comes into play. It analyses the signal from the bike and computes the bike’s speed.

The final step is a built-in web server in bikesrv. It makes the current speed is available through a simple HTTP API.

Ok, but why?

You could do all sorts of analysing and feedback that an ordinary bike computer does.

But it is much more fun to turn the exercising bike into a game controller.

What is the HTTP API?

The server will listen on port 1805. If you call


you will receive a text/plain response that contains the current number of revolutions per second.


Unzip the file, then at the command line run

python install


On the command line, run

python2 [options]


--version             show program's version number and exit

-h, --help            show this help message and exit

-v, --verbose         Display debugging information while analysing.

-r RATE, --rate=RATE  The number of measurements per second. Default: 500

-d DROPOUTS, --dropouts=DROPOUTS
                      The number of signal breaks per full wheel turn.
                      Default: 3


To read the API documentation, open a shell / DOS window, navigate to the bikesrv directory, and run

pydoc bikesrv

You can create a HTML version using

pydoc -w bikesrv


bikesrv is licensed under the GPL. See the file COPYING for details.


Florian Berger

Project details

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page