speedo was doing badly, herky jerky and basically useless. i took it apart very carefully and greased the gears and cleaned it out and reassembled. no more herky jerky but 10 miles over up to 40mph and up to 20 miles over at 60mph. i reckon i could try to tension the spring inside or replace it but i built a GPS speedo instead. i thought i would post pictures. i used a small ESP32 chip, a GPS module, a voltage down converter (12v to 5v) and i think there is a temp/humidity sensor in there if i had more display room. right now it shows number of satellites, mph, and battery voltage. i was going to have it say ambient temp and humidity but wanted to ride more than i wanted to work it out.
3d printed a case for it. i have ideas for a better case (prettier) and a space at the bottom for an LCD display which would be more readable in sunlight.