Archive for August, 2015

Bike computer with Nokia 1100 LCD

The biggest problem with cheap commercial speedometers is that they have volatile memory, so all data is gone after a battery replacement! There are already a couple of arduino bike speedometer projects, but none with a fully customizable matrix display.
I discovered that some old Nokia LCD’s are fairly easy to use, with a single SPI interface (non standard but it can be bit banged) and since I already had a Nokia 1100 handy, I set to make my own speedometer.

20150613_205902

Soldering the wires on the small contact pins

20150613_211137

Adding hotglue for strain relief, since the pins are really really fragile

20150613_211155

Ready to be plugged in a breadboard!

I then hooked up the LCD to a leaflabs STM32 dev board mainly because the MCU is 3.3v (and the LCD would be damaged by 5v signal levels) but also because it has more RAM than the arduino nano to easily handle the display data.

http://www.aliexpress.com/item/leaflabs-Leaf-maple-mini-ARM-STM32-compatibility/32214664071.html

A voltage divider for low battery detection, light sensor and backlight FET are some additional components on the breadboard.

The rest of the hardware is also very simple, just like any available odometer on the market, a GPIO pin pulled up or down and connected to a reed switch which closes the circuit when the magnet on the wheel passes by.

This is mainly a software project and features:

  • main speed  ex. 28.1kph
  • total distance  ex. 6.1km
  • total runtime  ex. 09min (increments when speed > 0)
  • average speed   ex. 38kph
  • maximum speed  ex. 98kph (resets after auto power off)
  • battery indicator  ex. ~60%
  • switched backlight
  • data retention after complete power off
  • setup navigation menu  (wheel size, reset data)
  • ??? add anything you want, like speed logging and graphing

20150618_223618

bike_spd_lcd.zip

Schematic.pdf

bike_lcd

The code is for the LeafLabs Maple IDE but you can adapt it for anything.

Navigation is done with only one button! One short click of the button means Change (of menu index or digit) and one long click means Select.  I use the on board button (only on leaflabs) for this.

In the video you can see an external button that I use instead of the reed switch to simulate the wheel spinning.

11 Comments