Introduction: Bicycle Speedometer With Graphics LCD

Picture of Bicycle Speedometer With Graphics LCD

This is a multi function bicycle computer I’ve designed with a 128X64 monochrome graphics LCD screen.

This has real time clock as well as a temperature sensor. Measured data can either be shown in fully digital or in two different analog display modes.

Bike computers have become useful accessories in cycling as a sport and as a recreational activity. Modern cycling computers display multiple data at once. So I started with a research of the functions of products at the market.

A basic cyclocomputer may display

the current speed,

maximum speed,

trip distance,

trip time,

total distance traveled,

current time.

More advanced models also may display


incline (inclinometer),

heart rate,

power output (measured in watt)


average speed,

pedaling cadence,

a stopwatch,

GPS navigation.

Many current models display one value with large numbers such as current speed, and another number that the user may select, such as time, distance, average speed, etc with small numbers.

The products usually have one or more buttons that the user can push to switch the value(s) displayed, reset values such as time and trip distance, calibrate the unit, and on some units, turn on a back light for the display.

So I've decided on the functions of my device, it will have current speed, max speed, trip distance, total distance, temperature, time.

Step 1: Dasboard and Screen Designs

Picture of Dasboard and Screen Designs

Then i've concentrated on designing the building the electronics inside. As the device will have a graphic LCD, I wanted it to display better looking digital and analog speedometer scales. So I looked for similar screens on the net to take inspiration. As my screen has got only 128x64 pixel resolution, the designs in my mind had to be converted into much more modest ones :D. So I played on them in photoshop trying to reach to an acceptable look. I've tested on the displays on Proteus' Digital Design Suite's simulated LCD screen which is a great tool for this kind of work.

Step 2: Circuit Schematic, PCB and Code

Picture of Circuit Schematic, PCB and Code

The circuit schematic is above with the PCB layout I've designed and used for it. This needs to be in aconfined space so I tried to make it as small as possible while I wanted it to be assembleable by hand without any special tools. So there are smd components where needed and some DIP ones. I'll not go over soldering a circuit step by step as there are many instructables on this subject.

As the components I've used are not the lowest power ones, my circuit draws something like 20mA during operation and more than that if the back light of the LCS is used. So I disconnected the light and used bigger batteries to obtain a reasonable running time.

Step 3: Interior Structure Planning

Picture of Interior Structure Planning

After completing thecircuit design and pcb, I started working on the interior placement of the instrument. By using Solidworks, I've modeled all the parts that will be used in the product and put them together in an assembly file and then played with them, moving them from here to there randomly, while simultaneously thinking where will it be used, parts and their functions etc. So this placement has emerged.

As the power requirement of my electronic components are not so small, I opted for using AAA type rechargeable batteries and 4 of them to obtain approximately 5v.

Step 4: 3D Modeling

Picture of 3D Modeling

I've uploaded the step by step images of how i modeled the thing. You can go thru them to see the process. I've highligted the added feature in blue for every step. There are in fact a bit more steps (3-4 times more) than this, I've grouped smaller steps together. So in some images you'll see more than one blue highlight. That means more than one step is included in that image.

Step 5: Printing the Parts & Alternative to Printing Parts

Picture of Printing the Parts & Alternative to Printing Parts

I've used my UP printer to print the 3 parts and cleaned them carefully. You can find the STL files for printing at this step of the instructable.

If you don't have access to a 3D printer, you can use small plastic waterproof kitchen boxes. There are lot of kinds on the market and I've even managed to find one that is perfect in size. The circuit and especially the LCD fit inside perfectly. Even better than the printed case :D

Step 6: Wheel Sensor

Picture of Wheel Sensor

I've designed two different wheel sensor housings, the first one is like a clamps that holds one of the front fork legs and it requires a screw and a nail to be fixed. Then I've designed the other one later on, it looks nicer and requires only two pieces of small wire or rubber bands to be fixed to the fork. I'm including the STL of the second and nicer one.

Step 7: Wheel Magnet & Housing

Picture of Wheel Magnet & Housing

I've modeled a housing for magnet that will turn with the wheel. It lock to two spokes in the wheel and requires no screws to stay in place. It has a self locking structure. Now i've been using this magnet holder in two of my bicycles without problems. Once it is in its place, there is nearly no way of taking it out without breaking it.

You can also use this part as a replacement for your lost wheel magnet.

I bought some magnets from ebay for this step. Magnet is 4mm high and has a 5mm diameter, made the hole inside the housing for this magnet.

Step 8: Everyhing Is in Place and Running.

Picture of Everyhing Is in Place and Running.

I've placed everything inside carefully. Relatively easy job, as there are mechanical details inside the printed case for holding the pcb in place. I've used hot silicon glue to fix some parts inside securely to prevent them rattle around while riding.

As there will be rechargeable batteries inside, the builder should take the necessary precautions for short circuits, doing necessary insulations etc.

Step 9: Field Testing :D

Picture of Field Testing :D

Rigth after completing the product I went to a bike tour with 300 other cyclists and tested the speedometer. Well it worked fine, I did some showing off. It was fun. Then me and my girlfriend went to several other bike tours. Yes the speedometer got wet once and stopped working. I've let it to dry powering it off and now it goes on working.


alirezayeganeh (author)2016-11-30

Hello Sir.

please assign the frequency and fuse bit for programing

viggiani1975 (author)2015-09-24

Wow.... fantastic, the programation is C, basic or Assembler?

Mic100 (author)2015-07-09

Good Job :)

too complex for me to do but I lake it

Greenthorn (author)2015-04-05

Good job...!
Have you tested setup on rough tracks for reliability and accuracy. ...?
Else seems promising,
Nicely done