Bike speedometer GUI

Some time ago I've written about software support for bike speedometer for n900. It was proof of concept CLI realization in Python. Now firs beta of normal application is available. It was rewritten in C++, which decreased CPU usage by four times. For the beginning speed, trip distance, average speed, average speed in last 5 minutes and clock are supported. So this is already a usable solution. Now the main question is "How many people are interested in this and why n900 can be better, than usual bike computer?" GUI is written using QML, so it is customable and skinable. Attached archive includes sources and built binary (bike and bikeui.qml). To test the program you just need to copy them to the phone. If you don't have sensor yet you can simply blow to phones microphone. The programm would think, that you are moving fast.
What else can be done:
  • Speed graph. Just need to draw it, data is already collected.
  • Logging.
  • Incline detection and logging (using accelerometer).
  • Road quality detection (using accelerometer).
  • Racing with yourself (record speed once, than show your position relatively to your best result on the same track).
  • Racing with other people (share recorded tracks).
  • Pulse sensors support (or may be think about integration with eCoach?)
  • Chain tension sensor (is it needed)
  • Calories calculation (I newer needed it, but it seems to be popular option)
I don't want to say, that I'm going to implement this all. Current version does most of what I need. I just want to show, that much more can be done if there are interested people.
I've rebuilt the program with QT 4.7 which is available in extras-devel. If the program does not work, than you need to install libqt4-experimental-declarative
bike.tar_.bz72.67 KB



I had a Nokia N95, (it's destroyed :( ) and i usually used Nokia SportsTracker. I was one step away from purchasing the Nokia N97, due to the possibility of using this program ( i do a lot of MTB). Now i am glad i bought the n900, it's a world of expansion possibilities.

Thank you!

Hub dynamo

I've been thinking about using the AC voltage signal from a hub dynamo as speedometer input. Do you think it would work with your code out of the box, with a suitable calibration of the pulse frequency vs. distance?

Theoretically it is possible

Theoretically it is possible and should work without modifiaction of code (through I'm going to make some changes which would make it incompatible with dynamo because sometimes measured speed is 300-500 kmh which means, that one pulse is counted as two).
But you should be sure, that current from dynamo won't burn your phone. You need to limit maximal voltage generated by dynamo (which depends on speed you are riding).

Sounds dope!

Very interested about this.

How do you install this? I've

How do you install this? I've extracted the .gz -file and then the .ta_3 -file inside it.

You can find files named

You can find files named "bike" and "bikeui.qml". Copy them to your phone (it is not possible to execute programs located in MyDocs, so I suggest /home/user/). If needed, make bike executable
cd /home/user
chmod +x bike
and launch it
I'll make deb package later.


Doesent work for me.

Nokia-N900-02-8:/home/user# ./bike
./bike: error while loading shared libraries: cannot open shared object file: No such file or directory

You don't have all

You don't have all dependencies installed. I think you need
To install it run
apt-get install libqt4-maemo5-declarative
from root o your phone. When this application would be properly packaged all needed dependencies would be installed automatically.

I have the same problem

Any solution??

Same error

I have the same error. Any idea where to get the lib.


As a Cyclist.....

As a cyclist who tackles events in the 100-200Km range I am very very interested in this.

I have tried previously to use mappero to load a GPX file and track it. However the battery died before I did. On long rides - 6-10 hrs this seems to be the real killer.

I havent tried your .gz yet but will have a go this week.


Actually I don't think, that

Actually I don't think, that phone with this program would survive 10 hours. 6 hours could be possible. May be you should think about additional battery. And currently this program does nor use GPS at all, so position is not tracked.

It would be great with eCoach

It looks great. I use eCoach with the Zephyr bluetooth heart rate monitor for cycling. And it makes a good job except the accuracy with gps. Your code in eCoach would be great. I will solder a sensor for my bike and will test your code. Thank you very much for sharing.

Very interested

I am very interested in the options below:

Logging of all min/max/average values - cyclists REALLY care about their incline(eg. total vertical meters climbed, maximum gradient)
>Incline detection and logging (using accelerometer).
>Racing with yourself (record speed once, than show your position relatively to your best result on the same track).
>Pulse sensors support (or may be think about integration with eCoach?)
>Calories calculation (I newer needed it, but it seems to be popular option)

It would also be very good to implement these:

Automatic timer stop when stationary
Integration with eCoach (as mentioned)

How do you mount N900 on the

How do you mount N900 on the bike?

I use an old bike holding

I use an old bike holding equipment which was originally delivered with a Medion GPS device. In fact due to two different protection skins it is almost completely water resistant (O.K. not completely, but against rain).
I am not yet possesing the N900, but it is on my list. In this case that app would be a most for me! Will it support landscape mode?

May be. It shouldn't be hard

May be. It shouldn't be hard to implement.

I've adapted car

I've adapted car mount.

Very interesting, also for motorcycles

This seems very promising, also for us motorcyclists

interested here too

interested here too

Interested in the eCoach

Interested in the eCoach support!