DIY digital speedometer using PIC microcontroller

October 4th, 2007 by Jeff Leave a reply »

DIY digital speedometer

Digital speedometer schematic available here (PDF, 34KB).

C source code available here under GPL (ZIP, 22KB).

I like knowing how fast my car is going, but the stock analog speedometer only goes up to 140kph. Plus, I suspect its accuracy isn’t all that great, it doesn’t register speeds below 15kph, and there’s no way to calibrate it. I looked at digital speedometers online, but most of them were backlit LCD displays (almost illegible in the sunlight atop my dashboard, and an eyestrain even when you can read them). The ones that weren’t were just too expensive for what should be a rather simple piece of electronics. I wanted a three digit 7-segment LED display, like my buddy Takahashi has in his Lancer EVO 6.

I looked at frequency counter chips, figuring I could use BCD decoder and a trio of 7 segment driver chips to display everything, but they were outdated and the amount of external timing circuitry I’d need was a bit ridiculous. I looked around at the local electronics supply store, and stumbled across some cheap programmable microchips. At first I thought it would be overkill, but considering a simple microcontroller is only $2 or $3 and reduces the number of parts significantly, it actually turns out to be the best option. Plus, you can add extra features like in-software calibration, 1/4 mile “drag strip” times, storing top speed, display in kph or mph, and whatever else you can think of. The drawback is the initial investment of a PIC programmer so that you can use your computer to burn your programs to the chip. You can now get an official PICKit 2 programmer for about $35 plus shipping, and it can be used on a variety of microchips all the way up through DSP microchips. If you’re into hobbyist electronics, there’s really no reason you shouldn’t get one. Cheap, easy to program, and powerful enough for most stuff.

The cheapest microcontroller I could find was the PIC16F648A, which is an 8 bit microcontroller with 16 input/output pins and 3 hardware timers, more than enough for this project. It has 256 bytes of RAM, 256 bytes of EEPROM permanent storage, and programming storage space for about four thousand instructions, and best of all, it doesn’t require any external oscillator hardware. PIC microcontrollers have a very minimal instruction set, meaning that any operation more complex than addition or subtraction requires a lot of instructions, but since this chip defaults to 1 million instructions per second that’s not usually a problem, assuming you have a compiler capable of generating those sequences. As well, almost every input and output is reprogrammable to different hardware functions such as voltage comparison, interrupt triggering, edge counting, timer capture, or even serial communication. It’s really quite a powerful little package, especially if you compare it to what was available just 5 years ago.

Your basic 7 segment LED has 10 pins. Two of those are the same, connected to either the anode or the cathode of all the LEDs, and the other 8 are the other end of each of the 8 LEDs. Since 24 LEDs is too many to control with 16 pins, I multiplexed them; that is, the 8 individual pins are all connected through resistors to 8 of the microcontroller pins, and I use 3 other pins to select which of the three displays to light up (via transistors since the PIC pins can’t source that much current). If you switch between the displays fast enough, the human eye can’t even tell they’re being switched on and off.

Obviously the whole thing runs off 5 volts, so to step down the 12-14 volts from a car battery you need a voltage regulator (I used an LM7805 because it was what I had on hand). A couple capacitors also help, as cars tend to have lots of voltage transients. If I wanted to be a bit safer I could have also used a zener diode for overvoltage protection, but the power supply area of the circuit board was already a bit tight for space and the LM7805 and associated components are cheap enough to replace if something bad happens.

Here’s a quick parts list of what I used:

1 – PIC16F648A microcontroller
1 – 18 pin socket (not needed if you’re just breadboarding it)
3 – 7-segment displays, common cathode
8 – LED resistors (I used 120 ohm, but you should design with the max LED current in mind.)
3 – NPN transistors, anything should work
3 – 1k resistors (to use with the base of each transistor)
1 – LM7805 5 volt voltage regulator
2 – 22uF 50V capacitors (maybe overkill, but if you have noisy wiring you will need to adjust this)
1 – button (for software control)
2 – 10nF capacitor (button debounce and speedo input filtering)
1 – 100k resistor (button pullup)
AND
a board to put it all on, and cables to string it together. You should be able to get all this stuff for under $20.

If you’re hooking this directly to a reed switch with no external driving circuitry (like a stock ECU), you will have to add another pullup resistor.

The easiest way would just be to hook up all the 8 LED leads to the same 8 bit port (PORTA or PORTB), but because we’re using some ports of A and some of B to do other things, we can’t be so lazy. So we’ll spread those out and use a software bitmask to determine which ports to light up. Thankfully, it doesn’t really matter that much what order they go in, because you can define it in software. The speedometer input has to be on a specific pin if we want to automatically log the timer when we get a pulse. And one of the pins cannot be used as an output, so we’ll set that one to be our button input (and when we’re putting our board together we’ll use it as a reset pin). Aside from that, we can stick the three selector bits wherever we want them, and still have the two serial port pins left for CAN interfacing if we want it, and another for supply voltage sensing (so we can determine whether the headlights are on or off and dim the display accordingly). The parts for these last two options aren’t included in the list above, because I haven’t added them yet.

Once the hardware is all set up, you need some software to run it, and that’s the tough part. The first order of business is reading the chip manuals thoroughly, and then finding yourself a C compiler, because programming in assembly is time consuming and rife with pitfalls. I started with cc5x but the free version only does up to 16 bit math, and it has a slew of other problems (“Can’t generate code” is the chief among them, requiring you to manually simplify your code and manually define intermediate variables for calculations). But I tried out SourceBoost and the free version has far fewer limitations. The code should first set up all the interrupts and config registers, define the BCD and seven segment driver code, set up the timers, and tell the main loop to show something useful. It’s best to stay simple; the first version of my code simply did a lamp test (all on, all off) and then displayed a rising sequence of numbers (which was actually just a spare timer I wasn’t using). This makes sure your lamps all work and your wiring is correct. Then you can start adding in code to test that the pulses are being received and triggering properly without bounce, probably using a counter.

Update 1:
It seems one of the LED 7-segment displays I bought has a bad lamp (D, the one on the bottom). Of course the test lamp feature caught this easily, but only after I soldered everything to a board. Note to self: in the future, use sockets instead of soldering 7 segment displays directly to a board.

Update 2:

It turned out the lamp wasn’t bad at all. It was just a short from overzealous soldering. Unfortunately I didn’t catch this until AFTER I had ripped out the display element, trashing it in the process. Oh well, there goes 200 yen. But the good news is that it works now, and I’ve worked out the software bugs I’ve been able to find.

Update 3:

I finally wired everything into the car. My wiring was fine, but I had lots of noise in the input signal, causing a small interrupt storm that sent the microcontroller into fits. A small capacitor (10nF) between the signal and ground wires at the speedometer fixed that problem. Driving around, the speedometer was just fine below 10kph, but above that there was a lot of jitter in the time between pulses. I’m tweaking the algorithm to average more and more pulses at higher speeds, but since memory is limited this is an interesting problem.

Update 4:

I’ve had a chance to run the speedometer in my car for several months, and it’s given me a chance to test it out. It works pretty well, is a lot more visible than my stock speedometer, and turns a few heads to boot. (“You built that YOURSELF??”)

Since several people have asked me to release the source, I will do so. The source is released under GPLv3. You are free to take the code and use it, modify it, and improve it. If you fix any bugs let me know so I can fix them on my speedometer too! Also if you build your own DIY speedometer and put it in a car or bike or whatever, I’d love to see it. Please ask me before using it in a commercial product; I’ll probably say OK but I would like to see the end result! The source does have known bugs which I haven’t gotten around to fixing; these are listed at the top of the source file in the comments. The biggest one is that quarter mile calibration still doesn’t work properly; with snow and ice on the ground I wasn’t too motivated to fix them. Now that spring has arrived, I can do so.

As the GPL works, if you redistribute assembled code including hardware with the code installed, you must distribute the source along with it. You got it for free, so you can’t complain.

The test modes included in my source code all let you test your wiring easily; simply set MODE_DEFAULT to MODE_TEST in the code, recompile and flash, and the tests will run when you apply power. The first test should display a constantly increasing number which wraps at 255. This makes sure your lamps are wired correctly and set up in software correctly. Press the button to go to the second test. The second test shows how long the button has been held down; a count of 30 is about one second. Use this to make sure your button works properly and isn’t bouncing. After about 15 seconds the pulse counter mode is activated. This will show how many speedometer input pulses have been received. This is handy to verify that noise isn’t triggering as pulses, and the pulses are registering properly. If all three of these tests work, then your wiring is correct and it should be possible to calibrate the speedometer (drive 50 and enter calibration mode) and display your speed.

Update 5

The schematic I’d posted before was using the wrong parts in the wrong configuration. I’m not sure how I screwed this up, but it’s fixed now. Thanks, Velson.

Since I’ve moved back from Japan and have changed cars, I don’t have a working testbed anymore. Feel free to submit patches to the code or modifications to the schematic, and of course if something doesn’t look right please let me know so I can fix it.

157 comments

  1. Anttifast says:

    Hi Jeff

    Thanks for a great instruction!
    My speedometer works great.

    Here’s few pics
    http://www.aijaa.com/v.php?i=6502088.jpg
    http://www.aijaa.com/v.php?i=6609584.jpg
    http://www.aijaa.com/v.php?i=6609585.jpg

  2. Doctorbass says:

    Does someone would accept seling me the parts and PCB and programmed pic with last updates?

    We are many persons that could be interested by these kits!!

    BTW what is the refresh rate for the speed reading?

    stefspk@hotmail.com

  3. AJ says:

    Hi Jeff,

    This is something I’ve been looking for for my custom dash.

    Do you do commissioned work?

    Send me an email and I’ll pass you details of what I need done.

    AJ

  4. Jeff says:

    I can’t do commissioned work at the moment, but I can help you put it together if you get the parts.

  5. AJ says:

    Instead of using individual numeric LEDs is it possible to use the triple numeric LEDs that are available?

    Eg. http://www.lc-led.com/View/itemNumber/233

    Are the parts I need listed above?

    Would appreciate all the help you can give. I’m quite a novice at this.

  6. Jeff says:

    Oh yes, that should work perfectly. You’ll of course need something to solder it into… and if you’re completely new at this you might want to do a test run on a breadboard first.

  7. AJ says:

    Yep, I’ll get a breadboard and jumpwires to play with this. Now for all the components – the complete shopping list is above right?

    I’ll start ordering the bits.

    I have a cable speedo – I’m trying to picture how this will all fit together in the end.

  8. Jeff says:

    The chip from the first link is the correct chip, but you will also need a device to load the program onto the chip. The second link you provided should work for that purpose. (As an aside, you can use it to program PIC chips for other projects too, if it turns into a more serious hobby!) I think the second link comes with a 627a, which I don’t think has enough program space for the full speedometer code, but could be useful for other projects.

  9. AJ says:

    Ok – the first chip it is. Now how dow I get your source code onto the chip?

    Now for the breadboard – how do I power it to make sure everything works?

  10. Jeff says:

    I guess I wasn’t that clear. You need to have access to a programmer in order to put the code onto the chip. The cheapest programmers I’ve seen are around US$25 for a USB PIC programmer, but VAT might make them a bit more expensive in the UK.

    As for powering the device, there’s a voltage regulator shown in the top left corner. Apply more than 6V between ground and the “12VDC” pin, and “vcc out” will be regulated 5V that goes to the chip and any line with that “vcc” label. You can use a 9 volt battery for this purpose, just make sure you don’t reverse the polarity or you’ll fry the 7805 voltage regulator.

  11. AJ says:

    Jeff – you please give me an example of the button (for software control) and the 100k resistor (button pullup)?

    All the rest of the bits I’m pretty sure I’ve found;

    8 – LED resistors (I used 120 ohm, but you should design with the max LED current in mind.) – http://cgi.ebay.co.uk/50-x-120-ohm-RESISTORS-METAL-FILM-0-25W-leds-leds-/380137011981?pt=UK_AudioElectronicsVideo_Video_TelevisionSetTopBoxes&hash=item5881ee7b0d
    3 – NPN transistors, anything should work – http://cgi.ebay.co.uk/BC337-General-Purpose-NPN-Transistor-10pcs-/110602848955?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item19c0718abb#ht_866wt_1141
    3 – 1k resistors (to use with the base of each transistor) – http://cgi.ebay.co.uk/1Watt-1k-ohm-QUALITY-CARBON-RESISTORS-REPAIR-RESTORE-/400168269272?pt=UK_ConsumerElectronics_SpecialistRadioEquipment_SM&hash=item5d2be335d8#ht_500wt_1156
    1 – LM7805 5 volt voltage regulator – http://cgi.ebay.co.uk/5-L7805CV-LM7805-7805-5-volt-voltage-regulator-TO220-/220488528390?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item335623f206#ht_2167wt_908
    2 – 22uF 50V capacitors (maybe overkill, but if you have noisy wiring you will need to adjust this) – http://cgi.ebay.co.uk/50V-22uF-105-C-Ultra-Low-Impedance-Capacitor-X-10pcs-/110553655129?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item19bd82e759#ht_1012wt_907
    2 – 10nF capacitor (button debounce and speedo input filtering) – http://cgi.ebay.co.uk/25x-10nF-50V-Ceramic-Disc-Capacitor-0-01uF-5mm-Pitch-/260530796026?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item3ca8d875fa#ht_1007wt_907

    If there’s anything there that’s incorrect, please let me know.

  12. Jeff says:

    Any of those PIC programmers will work.

    For the 1k resistors, go ahead and cheap out. 1/4 or 1/8 watt resistors are smaller and much cheaper than 1 watt resistors. Same goes for the 100k resistor. For the 100k you can go lower or higher if they’re easier to find. 47k will work just fine and might be easier to get your hands on.

    As for the button, literally any push button will do. (Not something that clicks and locks in place obviously. Something that closes the circuit only while you hold it shut.)

    The rest of the parts look just fine!

  13. Andrew says:

    Hi Jeff,

    I’m just wondering how you went about locating the wire for your speedo.

    I have a Ford Falcon AU Series I and the repair manual for it. I think I found the wire, it certainly matches the colour in the book and there are no other wires of that colour around.

    I put my cheap multimeter between the body and the wire and it registers 10V DC with the engine of and 12V DC with the engine on.

    According to http://www.fordmods.com/documents.php?d=4

    The value I should be reading on the multimeter for each of the wires should be:
    Speed Input Pulsed from 0V to +12V
    Speed Output Pulsed form 0V to +12V

    I feel like I’m either doing something wrong or misinterpreting the way the sensor in my car works.

    I have built a voltage divider using a 150 ohm and 120 ohm resistor so I can drop the 12V to 5V and run that through the PIC.

    I don’t expect you to know the answer or even care, however, any guidance you can offer would be much appreciated.

    Thank you.

  14. Jeff says:

    Try putting the car in neutral and rolling it a bit. If you’ve got the signal wire, you should see a square wave with your multimeter (0V, then ~12V, then 0V with no transition in between).

    For measuring with a DMM it’s OK, but don’t use the car body for a ground return in your final wiring. It’s noisy, not a very good conductor, and you’ll have issues. There should be ground wires that all run back to the battery terminal.

  15. Andrew says:

    Hi Jeff,

    After a lot more experimenting and consulting of the repair manual, I discovered I did not have the correct wire. I have now found the correct wire and can see pulses very clearly going between 0 and 8.66V.

    I adjusted my voltage divider to use two 2.2k ohm resistors as this has less effect on the signal voltage. With this divider, the pulses drop to ~6V, so I may still need to use higher values or look at using a transistor.

    I also need to do some tests to see if I’m loading the signal too much (check to see if the ECC still changes gear).

    My project is a little different from yours however, I’m looking to make a multi-speed overspeed alarm.

    Thanks for the tips, and I’ll be sure to wire it in correctly (using a better earth) if I get it complete.

    Cheers,

    Andrew

  16. Leon says:

    Hi Jeff
    how do I connect a hall effect sensor on the circuit and how can dimm the displays
    Thanks
    Leon

  17. JM says:

    Can it works on my Motorcycle?

  18. Jeff says:

    I don’t see why it shouldn’t work… you need to take some extra precautions to keep precipitation out of it though. Build a housing and make sure water can’t leak in.

  19. braham says:

    i want to use this for measuring rpm of motor…how can i use it there….??
    kindly reply

  20. Jeff says:

    Braham, take a look at the source code and see if you can figure out what’s going on. For RPM the 3 digits aren’t going to be sufficient unless you display only the 3 highest digits. You’ll probably want a 10-led bar/meter display or something similar instead. Wiring that is going to be very different from this display. But the timing part of the software shouldn’t be that different; in fact you can remove calibration completely because there’s no wheel to calibrate.

  21. Richard says:

    Hi Jeff,

    Would you have any insight as to how one would go about taking the input signal and multiplying it 37 times then spitting that out? I’d imagine that this wouldn’t be too difficult using your basic design of the circuit, but was wondering more so on the code side and if I’ve thought too deep into it…

    I digress, thanks for your time posting this project

  22. Steve says:

    hello
    hi have order all the components needed to this project but, mine only problem is to compile the source code to program to the chip. What configurations is needed in the Sourceboost. And to program the chip what is the basic configurations needed to change.

  23. lee says:

    hello Jeff, the Digital speedometer schematic and C source code are the latest update one? can you send me the fine work and completed schematic of the configuration parts and C source code please?
    sorry if cause you any trouble..
    kindly reply,
    thanks.

  24. Tom says:

    Hi Jeff,
    I would like to make your speedometer because I need it for my moped.All I want to see is how fast I drive and how many kms I’ve made per trip.Maybe it has a feature,like an odometer,to store kms and continue to count them when next trip starts?Thank you for sharing this project with us.

  25. Jeff says:

    All the source code and schematics are available at the top of the page, and you could definitely make that modification if you want. I don’t have the resources available to write and test any new code myself; my PIC programmer is away in storage somewhere. But with a little programming background you should be able to look at the code and tweak it to add an odometer function.

  26. Dee says:

    Hello jeff,

    I’m trying to do the same but using p18f4520. do you have any idea how to program that?

  27. Dee says:

    you seen like you know your programming. I really need some help with mine. I need to simulate a speedometer using MPLAB. Processor is 18f4520. I will use a matrix multimedia board to show its work. do you think you can help?

  28. Tommy says:

    sry sir…i wanna ask y when i built the program…they say that can find the include system.h file???

  29. PeterT says:

    Jeff, if I wanted to make a 5 digit speedo, with a floating decimal point between LED 3 & 4, how would I attach the other 2 LED’s?

    Many thanx
    PeterT

  30. Jerry says:

    Hi Jeff,
    I stumbled on your speedometer project page searching net for just what I was looking for.

    I must say, the circuit is very easy and the code looks very straight forward and well commented. Even for a noobie like my self.
    Couple comments, have you ever thought of expanding the circuit to add bar type display to go along with the digital numbers. I realize that its redundant and maybe over done.
    Second and probably more in line of sugestion, is how about adding odometer and maybe trip counters to the code. Naturaly this would evolve exapnding display digits especially for the odometer function.

  31. PeterT says:

    Jeff,

    A GPS only measures ground speed, not actual speed, so if you are going up/down a steepish hill the GPS will only record how fast you are going across the ground, and not give a true speed up/down the hill.

    How does one program the DP for the speedo to read XXX.x, as I now have a 4 digit spedo readout?

  32. PeterT says:

    Jeff, What value is the resisitor in the reed switch VCC box?

  33. PeterT says:

    oooo,

    Could you please share a link ( or three) of the enhancements of making the tacho & odo
    Thanx PeterT

  34. PeterT says:

    Jeff can you please send me your email address, as i have some questions to ask you about programming PIC chips, that don’t apply to this topic

    Thanx PeterT

  35. karlo says:

    Hi Jeff. I’m from the Philippines and I’m interested in making a digital speedometer. I want to ask if you can send me a step by step procedure on how to do it. I will put it on my 96 model mitsubishi lancer. thanks and I will appreciate your help.

  36. Hemantha says:

    Thanks jeff,
    My speedometer works great.
    some SSD pin connections are wrong . i correct that.

  37. Soren says:

    Hi Jeff
    I see you havent been commenting fore a while, however i hope you see this message.
    First of all thanks for the great project description, I have one question though: Does the chip know the time? I seen other projects where they add a clock(crystal) to have a time indikation, but you don’t have one! You need a time indicator to get KPH/MPH etc., how does that work???

    Brgds.
    Søren

  38. Warren says:

    Soren,

    Yes, the PIC16F648A has internal hardware timers, so you don’t require an external quartz crystal.

    If anyone is having trouble with programming the microcontroller, do a google search as there is plenty of resources on the web about all types of microcontrollers.

    Jeff, thanks for the help on diy digital speedos. I’m going to set one up for my motorcycle, will let you know how I go. I may make a seperate gear indicator that learns from the speed and current RPM.

    Cheers
    Warren

  39. Tanvir says:

    Thanks Jeff for a wonderful DIY project. Today I ‘test-drove’ my DIY digital speedometer. It works great except for jitters in the display. During acceleration or deceleration, as the speed is varying continuously, there is no jitter. While driving at a uniform speed minor variations cause the display to oscillate between two values causing jitters.
    I don’t know much about working or programming of this speedo but I think instead of calculating delta t between every pair of pulses and updating the display it might be more reasonable to sample/count pulses for 100 or 300 milisec and update the display every 0.1 or 0.3 sec. I feel it may provide more stable display. Maybe someone out there with good programming experience try this out.
    I used 16F628A PIC instead of 648a and there was no problem. I had to REM out a line in the speedo.c file before Sourceboost would compile it. Similarly I needed to ‘set’ the configuration words in the programmer before burning the .hex file to PIC. I wish there was a PCB for this project as making it on a strip board was a pain in the neck. I also changed the schematic a little bit and inserted an LDR based portion to automatically dim the display in darkness. Also I added an opto-coupler in the input section to smooth out the pulses. As mentioned in an earlier comment the pin connections shown will give a weird display and the sequence given in that comment worked fine.
    Thanks again to Jeff and all the persons whose comments really helped me a lot. It is a nice project which leaves one with many new ideas to try and play with.

  40. meguitarist says:

    Hello Jeff,

    Wonderful project! I’m thinking of putting this project on my bicycle, how can I getting the C source code compiled in mickroE for pic & program?

  41. mike says:

    hello
    I have try to compile the code if SourceBoost but the compiled code does not work. and now i dont know if is the code or the circuit that is wrong, can some one help me and others that may have the same problem as me, and share a compiled file .hex ready to program in the pic. I will appreciate.

    regards

  42. Peter says:

    Hi Jeff, I found your speedo. Great Work….. I’m looking for something like this for a long time. The only problem i have is compile the C-File. Tried Sourceboost but always get errors. Could you please send me the Hex-File or ASM?
    How do i get into calibration mode? Is the callibration still driving 50?? I would like to build it into my good old Volvo 740. Thanks a lot………… :-))

  43. Tanvir says:

    Hi Meguitarist, Mike and Peter, I have not seen any response from Jeff (I don’t know if he may have replied off-list) but here are some points to help you…

    Meguitarist: The free version of Sourceboost compiles it very well except that I had to rem out the line#38 which says ‘#define _DEBUG’ so my line looked like this ‘//#define _DEBUG’ and compilation was successful. Sorry I have no idea about mickroE.

    Mike & Peter: see my reply above regarding removing a line before compiling.

    Peter: you keep the button pressed and display shows ‘drag’ push once and display will show ‘CAL’ now while driving steadily at 50 keep the button pressed and it will start calibration. After few seconds the display will become normal showing current speed. If not successful then try again – it will work.

    I hope it helps. If still you want then I can send my compiled .hex file. Contact me at ‘tanvir734[at]gmail.com.

    Regards

  44. chuck says:

    can i copy your program?
    we use it for our project..
    tnx…

  45. carlos says:

    please send file . hex DIY digital speedometer using PIC microcontroller

  46. Steve.S says:

    carlos if you need the hex i can send it. Send me a mail to steveimpact@hotmail.com
    by the way if some one can help me to convert this code to a 4 digit tachometer i will appreciate.
    and tanks to Jeff Hiner to share this great project.

  47. Darren says:

    I realise this is along shot after such a long time, but I am attempting to build this for use on my scooter.
    The circuit shouldn’t be too much of a problem but I’m a complete novice when it comes to program code.
    The trouble is I want this to display MPH but am not sure where to change the code or how to adjust for different number of pulses or wheel sizes!
    I realise there are few answers on this subject now but if someone could help I would be extremely grateful.
    Also the addition of a dimmer circuit and odometer as discussed would be great,

  48. Tanvir says:

    Hi Darren, the calibration process requires driving at constant speed of 50. So whether these are km/hr or mph does not matter and you don’t need to worry about source code, number of pulses or wheel diameter. It means if you calibrate it while driving at 50 mph, the speed display afterwards will be in mph. I hope it helps

Trackbacks /
Pingbacks

Leave a Reply

This work by Jeff Hiner is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported.