Front wheel speed sensor retrofit ideas?

To my knowledge the Pico does not need any kind of startup/shutdown, though I haven't actually used one yet. It's basically the Raspberry version of an Arduino Nano, and Arduino actually even makes a board that uses the new Raspberry chip, so you can have both in a way. My speedo code is just a python script I made that I have load as a service when the Pi boots up, and the Pico runs micro python, which I'm guessing would work just fine with as simple of a script as I have.

And yeah, I actually had that speedo setup without the spring for a while, lol. I have three different gauges sitting around my house I've modified in different ways trying to get things to work. My original design actually just took the guts out of a speedo from a Dodge Stealth I got from a buddy who had a spare cluster. It uses what's known as an "air core gauge", which is similar to a stepper in a way, but simpler and more complex at the same time. It's basically just two coils at 90 degrees to each other and the current you pass through each coil determines the rotation of the needle. You could almost think of it like an electronic compass in a way. I fought and fought with it trying to get it to work, but I could never get the inputs to the Stealth board figured out. I tried buying a standalone air core driver chip so I could start a circuit from scratch, but I could never figure out how to make it work with the Stealth gauge itself. I built the example circuit that came with the chip, but never had any luck. The speedo did have a stepper motor that drove the stock Stealth odometer though. I originally pulled that one out and glued it into a stock gauge and the gear on it perfectly meshed up with the odometer drum on the Dart gauge. It worked for a while, but I think my voltage regular gave out on the board I made to run it and I scrapped that idea.

I had several motors salvaged from various electronics that I messed with initially. Stuff like motors from printers and the like that seemed like they could be a good fit. I tried building various motor controllers of sorts that were just simple voltage control initially, but that didn't work very well because they didn't have the start up torque needed to get the needle moving at super low rpms being so small. I tried using a 555 timer to make a PWM style controller that would give it full voltage at lower rpm (sort of), and had a little more success, but it was just tough to control with no real feedback. I had to just hope that X amount of PWM was always going to give me the same speed. For a while I just didn't have an odometer and ran a micro servo for the speedo. That was super simple since it was just commanding a servo position based on speed, but I wanted the odometer so I could track stuff like oil changes and fuel economy. I finally bought a motor with a gearbox to get the torque I wanted. The problem with tiny motors is they want to spin 10,000 RPM or something like that, and the speedo maxes out around 2000. The gearbox let me use much more of the motor rpm range and came with the bonus of supporting feedback when I finally bought the encoder for it. That also let me keep the factory odometer instead of needing a separate motor to drive it.

After I got everything working with my latest setup I thought about using a stepper motor. It would be easier to code in a way because it would be a direct translation between pulses from a sensor and steps taken by the motor. All you would really have to do would be figure out the ratio of pulses to steps needed. I think it would actually be more accurate than my motor and encoder setup now, and possibly be even cheaper. A stepper driver is only a few bucks compared to a motor controller, though I'm not sure how the motor cost itself would compare. Something small like what's used on a 3d printer would be just fine I'd think, though you'd probably have to mount it remotely with a cable because most of them are the NEMA square form factor and might be too big to hang directly off the back. I'm still tempted to try the idea one of these days with one of my spare gauges, just to see how it works. I like the idea because it more directly mimics how the factory cable works, and it would work better at low speeds. It's basically like an "electronic" cable between the speed sensor and the speedo instead of a mechanical one. You wouldn't be using it like a position control like I think you are thinking. You'd leave the stock speedo guts alone and just use the stepper as a regular motor. The magnets and spring inside the gauge would still control the needle, the stepper would just rotate at the appropriate rate based on pulses from the sensor, so you're using it like a constant rotation motor at that point, just controlled by pulses.