My speedometer breaks angle drives after 5 miles, so I haven't had one in a long time. I plan on doing a custom digital dash, and had bought a Porsche 930 VSS ring and a 55505 Hall sensor as FABombjoy had done in another thread, and finally got around to doing something with it.

I used an Arduino to count the time between teeth, and output that to an Adafruit seven segment display in a 3D printed case clipped to the binnacle. This works quite well, or does now, once I added a filter function, switched to a shielded cable from the hall sensor, and got an accurate tire size. It updates every 1/8th of a second and does so with pretty good precision (as compared to my phone's GPS speedometer app) and doesn't jump around much at all.

I've detailed everything on my website, and provided the Arduino code and STL files for the case, and links to the relevant parts, in case anyone else wants to see what I did. I could have driven the manual speedometer with a motor instead, but I'll be removing the speedometer when I do my digital dash, and I had the display lying around so I decided to do this. It is an intentionally somewhat crude build, since it's only intended to be temporary (I mean, the Arduino is sitting in its cardboard box under the passenger seat for now). I kind of like it, though, so once I might keep it around even after I finish the digital dash.

-- Joe