How does the speedometer on my dash actually work?

So pretty much everyone knows what a speedometer is, the thing on your dash that tells you how fast you are going, whether or not you're speeding, and what speed you have the cruise control set to (assuming you have that feature)!

Whilst driving on a long motorway journey with my satnav over the summer I noticed that the speed I was getting on the satnav was not the same speed that I was getting on the speedometer. They were close, but not the same. I know that the satnav uses the fact that `speed = distance/time`. Given that it knows how far you have traveled (according to multiple GPS signals) in a specified time period (I think it updates every 0.5 seconds or so), it can use the information to calculate my current speed. I have always assumed that this is more accurate than the speedometer because I can't see that there would be hardly any error in its method.

The speedometer in the car on the other hand - I noticed that there was a tag for the wheel speed sensor, but that is about it!

How does the speedometer on the dash board actually calculate the speed of the car and why?

Which (of either the speedo of the satnav) is actually a more reliable estimate of the speed of the car?

• GPS receivers may also calculate speed by measuring doppler shift of the actual GPS carrier signal. You can get much better accuracy that way, although I haven't seen that in normal consumer hardware yet. – Joey Dec 25 '16 at 18:22

Manufacturers deliberately calibrate their speedos incorrectly. They make sure the speedo always reads higher than the actual road speed, and there is a very good legal reason for this.

Speedometers must never read lower than the actual speed (European law (ECE-R39) says speedometers cannot show speeds less than the actual speed. Other countries have similar) - as then a driver could legitimately argue the case for speeding unknowingly, so in an ideal world speedos would read the exact speed.

However, tyre pressure variations and other effects mean there is a small degree of uncertainty, so in order to make sure the displayed speed is never lower than actual, manufacturers build in a certain amount of leeway.

The amount varies between manufacturers (and models, sometimes) and also depending on what speed. As I mentioned in another answer, at 30 my speedo only reads a couple of mph over actual, but at 90 there is quite a large difference, and then up at 140 the error margin reduces again.

• Lol. It stays flat out to at least 180. Haven't checked past that – Rory Alsop Jan 30 '16 at 15:07
• Oh! Well done sir! – cdunn Jan 30 '16 at 15:09
• I feel that this doesn't answer everything in the question. Specifically, it omits the details of how the speedometer actually works, answering only why speedometer and GPS give different results. – juhist Feb 3 '17 at 15:29

Most speedos in the dash for modern electronic based cars, have a sensor in the output shaft of the transmission. It is a simple reluctor wheel and Hall effect sensor, or a gear driven motor which can then produce a signal for the PCM to interpret. Cars can also use the same method off of the anti-lock wheel sensor to get a "speed" indication. The more ticks from the sensor, the faster the speedo registers. In this method, the signal is sent to the PCM, which interprets the speed and sends a signal to the speedo. Inside the speedo, there is a motor which spins the needle over to the correct position to indicate the speed.

Before electronic gizmos were all the rage, a long piece of spring wire was attached between a gear on the output shaft of the transmission and ran all the way up to the speedometer. This spun a pair of magnets which were close enough at a calibrated distance to move the needle in the speedo. The faster you went, the farther the needle swung over due to the magnet attracting faster and faster.

As for which is more accurate, the speedo or satnav, the elusive it depends answer comes into play. Ultimately the satnav has the greater ability to be more accurate, but it depends on the number of satellites it is receiving from. The more satellites, the better the accuracy. (NOTE: I'm not finding what the accuracy is based on this, but know triangulation works better the more triangles the receiver can make.) I believe that a lot of satnavs will give you the accuracy of their reading if you look into the side menus. The app I use on my Android device (Android-Speedometer) does. Accuracy is also going to be based on which system the satnav system you are using is receiving from. The US launched GPS system is available throughout most of the world (notable exceptions are far Northern and Southern latitudes). It is supposedly good down to 9 meters in the civilian realm, with military usage being better.

A couple of things regarding the accuracy of an automobile have to do with whether the size of the tires are the size which the manufacturer put on the car in the first place. If the tires are smaller in diameter, the reading on the speedometer is going to be higher than it should; larger diameter = lower reading. This is of course affecting the accuracy.