Open Bicycle Computer

Arduino based bicycle computer using open hardware and software logging data on SD card and JS web interface using USBOTG and USBHID

Similar projects worth following
A 5bugs bicycle computer is using only a reed switch and the rest is math. While driving you see your current speed, the distance you have travelled and the time it took you. You can not see how long it took you the last time. You can not see a graph of the speed over time. You will not be able to check your cadence (rpm of your feed). This is were an Arduino gets interesting. You can add multiple sensors, log the data and you are able to send the data by a protocol or hardware of your choice.

For a first discussion with Ken Meyer check the page Brainstorming an Open Bicycle Computer and take a look on the video of my reference / starting point for the arduino code.

A decent case and a good pcb are also important to me and I'm thinking about placing the arduino stationary onto my bike, well hidden - because I live in Berlin - you will never find a more wretched hive of scum and villainy. We must be cautious. So no plexi-glassed arduinos with monstrous shields and protoboard tucked together with zip ties and super bright blinking lights. I'm thinking of a bike computer that logs everything, even if you forget your display.


[v] measure time between clicks of an input (reed switch) and calculate speed

[v] integrate LCD display

[v] procrastinate on the font and proclaim yourself a big stargate nerd

[o] integrate Front Lights

[o] auto sleep functions and interrupt for cadence and wheel sensor

[o] replace the reed switch with a hall sensor

[o] add cadence sensor

[o] add distance sensor for backlights

[o] add environment light sensor

[o] replace multicolor LCD display with monochrome OLED Display

[o] power over dynamo

[o] store power on LiFePo4 batteries

[o] separate main board from display/light unit and make it stationary/integrated

[o] add auto upload feature with nrf24 module

[o] case for stationary computer

  • Restart - the bike building log

    davedarko05/07/2016 at 16:16 0 comments

    In the old hacker fashion I decided to repair the wheel and the treadle myself. A whole new world with a whole new lingo opened up to me today, thanks to youtube. So far I've only managed to rip off the thread of the back-wheel rod, everything else looks still intact. I'm a bit late for this years cycling season, but it's immanent for my health and well being, that this thing rolls again. Tomorrow I'll try to recut the thread on the rod and the day after I'll receive some special tools for repairing bikes. The cost was about half of a home improvement store bike, but I want to learn this stuff and see if I can fix it by myself.

  • #6 - lack of bicycling

    davedarko06/01/2015 at 10:33 6 comments

    You probably know how it is with projects - you're motivated at some point and then again totally lost focus and interest. And necessity is the mother of invention. This is not an excuse log. I'll always take a look at my projects and think about everyone for a minute.

    There is a professional way to make this project and a diy/hackish-way to do it. This should probably be made with BTLE and be connected to your phone, but this would compromise my initial - off the phone - concept. I still have a BTLE dev kit - the wunderbar - with 6 sensor boards and one "mother"board somewhere and I feel like I owe them a project since I've won this and it's probably what they expected when they handed them out (because reasons). It's not that easy to hack, I guess. I'd have to work with the onboard BTLE chip and there are more people that are used to "work" with arduino.

    I need a quick hacked together prototype to start writing some more code though. It should be something anyone can build with a few parts - basically a LiPo cell, a 5V boost converter and an arduino connected to a 1602 LCD character display with a hall effect sensor connected. I'm not happy with 5Vs though. the battery power should be measured with the arduino, too. This is a total waste of money in comparison to a 5 dollar computer and basically what I've achieved already. Next step would has to be logging. That's the killer-app / the pitch. Am I going in the right direction?

    This feels like two projects! Damn! One is easy to hack together but not efficient, one is efficient but not easy to hack.

    What should be the key point here?

  • #5 - testdrive

    davedarko08/07/2014 at 10:30 0 comments

    I placed the breadboard upside down by accident. Here is a shaky video of the prototype.

  • #4 - project video added

    davedarko08/06/2014 at 15:04 0 comments

  • #3 thoughts about power

    davedarko08/04/2014 at 09:09 2 comments

    Since mr.jb.swes project Multicharger is all over my feed, (congrats!) and this page too, I'm thinking far ahead of my timeline. To keep it simple I want a single cell setup, boosting the voltage up to 5V. The hall effect sensors are only working with 5V so I started my first compromise, which turned out to be good, because this way I can monitor the power from the cell with an analog in pin of the arduino and everything gets more tinkerer-friendly. Now I need a way to get the dynamo voltages down to 3.5V to charge the LiFePo accordingly. Sounds overly complicated to convert from 6V to 3.5V to 5V but a battery comes in handy when you are standing because of a traffic light in the nights and you don't want your lights (or computer) to go off.

  • #2 - GitHub repo started

    davedarko08/04/2014 at 08:40 0 comments

    it's not much right now, but here is my sketch repo

    I will add this in the links, too.

  • #1 - software and eagle stuff

    davedarko07/27/2014 at 12:18 0 comments

    The software so far can be seen in this video log I made. I kind of have this annoying bored-sounding, really slow voice on videos, sorry for that :D I'm really thinking while talking since I'm not a native speaker.

    Today I received the I2C OLED display and the first thing I wanted to do was creating an I2C/IIC display header for it. Going through many tutorials I started my own library today with my first entry; the IIC display thin. 

View all 7 project logs

Enjoy this project?



Kyoshii Teriatzi wrote 05/11/2016 at 14:58 point

This is looking good, it's exactly what I need ^_^ Also, I appreciate that you used Ancient numbers in your one video :D I thought everyone forgot about the Ancients XD

  Are you sure? yes | no

davedarko wrote 05/11/2016 at 19:08 point

whenever I see a 3x5 matrix, I see an opportunity for ancient fonts :) 

  Are you sure? yes | no

davedarko wrote 05/11/2016 at 19:11 point

yay, you also gave skull/like number 50 :) I'm not really sure what this project is, but I hope it will be something for everyone, like many versions with the same goal, having fun tinkering and riding a bicycle.

  Are you sure? yes | no

klffnj wrote 09/23/2015 at 06:59 point

Hi : i have the idea some like yours . and i trying a wireless module based BLE. I am very interested with your vedio , but , for some reason , i can't  see your vedio. can you mail me. 

  Are you sure? yes | no

davedarko wrote 09/23/2015 at 07:14 point

I'm sorry, but I can't find the files, I guess youtube is blocked in your country? It's just me talking about the idea, not about actually building stuff. It should be easy though, just grab a hall effect sensor and hook it up to your bike, the rest is software. Good luck with your project :)

  Are you sure? yes | no

wyojustin wrote 12/14/2014 at 13:05 point
Awesome work Dave! WyoLum would like to partner with you on this project. Please contact us if you are interested in developing this idea further.


  Are you sure? yes | no

davedarko wrote 12/21/2014 at 21:38 point
Thank you, although I must admit that I could have done more until now. What do you have in mind exactly? I definitely want to have a bicycle computer at some point, so finding some extra motivation is always nice.

  Are you sure? yes | no

davedarko wrote 09/13/2014 at 10:06 point
This lookslike a great concept, thanks for sharing!

  Are you sure? yes | no

mr.jb wrote 08/10/2014 at 09:45 point
tip of the day...might be useful

  Are you sure? yes | no

frankstripod wrote 07/31/2014 at 07:59 point
Same as all your projects, I like this one also. When I first started reading this one, I was thinking 'where is the elevation tracking', but actually prefer your "getting your bike smarter" concept. I hope the LiFePO4 works out.

  Are you sure? yes | no

davedarko wrote 07/31/2014 at 08:20 point
Thanks :) Good to hear from you, haven't seen you on my feed for a while. I think this will be a multi-phase project. I'm going to start with the basics and clone a cheap computer and from there improve the design until I end with my smart bicycle :)

  Are you sure? yes | no

frankstripod wrote 07/31/2014 at 08:50 point
I have been away and really busy with other things keeping me from HaD projects, including my own :( I try to keep up with your feed, because you seem to like the same projects I do. BTW nothing wrong with your voice, it sounds perfectly normal in English or Jaffa :)

  Are you sure? yes | no

mr.jb wrote 07/24/2014 at 21:20 point
This charger might be of interest,_LiFePO4_%28LFP%29_Charger_Board_1A%282A%29_TP5000_IC

It is a "good charger", BUT once the current is below a certain threshold it will stop charging permanently ...until the power is completely off for a "while". I found this "feature" very annoying with solar panels.


  Are you sure? yes | no

mr.jb wrote 07/18/2014 at 08:15 point
light control

You should consider how much cpu speed,program space, ADC you need.
From what I can see you could do fine with the Attiny861 I'm using...feel free to gut out what you want from "my"'s all open ( 'm standing on shoulders of others ;-)

If you need mer CPU etc...

The navspark is a price performance monster...but you will need more interface circuits for adc. My reason for Attiny861 is it has lots of IO/ADC and differential gain !! ( no need for OpAmp )


  Are you sure? yes | no

zakqwy wrote 07/13/2014 at 04:52 point
Have you considered Hall effect switches? Not much more expensive than a reed switch, and no moving parts = way more reliable.

  Are you sure? yes | no

davedarko wrote 07/13/2014 at 05:58 point
Hm, never thought of it before but do you think the reed switch will be triggered by vibrations or bumps? Hall effect sensors may be a good alternative then!

  Are you sure? yes | no

zakqwy wrote 07/13/2014 at 06:09 point
I doubt you'd get too much vibration in a bike, but it could happen. In my experience reed switches can be a bit delicate. I'm guessing they'd also bounce a bit more than a Hall effect switch, although it's pretty easy to filter that in software or hardware. Definitely go for the Hall effect sensor.

  Are you sure? yes | no

davedarko wrote 07/13/2014 at 06:26 point
Ordered some, thank you for your input!

  Are you sure? yes | no

Lloyd3000 wrote 07/12/2014 at 21:50 point
or you download an app for your smartphone.

  Are you sure? yes | no

davedarko wrote 07/12/2014 at 22:03 point
which uses gps and drains your cell phone battery and can not tell you about cadence, light your way and tell you the distance from cars behind you or your gear settings. It's about getting your bike smarter, not connecting it to your smartphone.

  Are you sure? yes | no

davedarko wrote 07/12/2014 at 22:27 point
this is supposed to work app free, so you can hook up anything with a browser and the ability to add a keyboard. The data is all yours and you can decide where you host the javascript and store the data.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates