Front wheel speed sensor retrofit ideas?

-
Yeah, hall is all I really want to use and much easier to interface with the Megasquirt as the protection circuit is super simple. What diameter is the sensor you have in that picture? I have one other old one from kart racing sitting in my basement that's smaller diameter than the tab style one I was planning to use, but also a fair deal longer I think, so might not fit as well. It might actually be a VR sensor too, I'm not sure. I think it had to read off a magnet though, so it might even be more like a hall reed switch.

I think the other interesting thing to know on the Megasquirt is how exactly it measures speed. My college cruise control project back in the day was extra simple because the processor I was using couldn't do interrupts and had limited math capabilities due to number size variable restrictions. To measure a speed I had to count pulses for a fixed amount of time and then do the math to convert that to a speed, so resolution became much more important because the difference of one pulse in the short period I was measuring was the difference of one full tire rotation on my original design. A system that just counts the time between pulses and extrapolates that to a speed is probably going to be less sensitive to tooth count, but still a bit less accurate at very low speeds. Again, maybe not enough to matter anyway, and any speed sensor on the front is going to be better than no speed sensor, so I'll likely just have to take what I can get.
 
5/16s thst threads into my rear end housing 3rd member. its a spare i have if the other ever fails.
 
Thanks for the shoutout @DionR!
My front spindle/brakes consist of a stock F,M,J spindle with the brake surface turned off of a 11" rotor to create a hub. The rotor is a 13.75" rear rotor off an SRT challenger and it has a Gen 1 Viper Brembo caliper. While reading the ribs on the back of the hub seems like a super easy solution, mine weren't evenly spaced. I don't know how much that would have freaked out the MS3. Secondly, there's no way I could have fit the sensor in there since my rotors overhang the hub quite a bit. I'm reading off the back of the studs. While I don't have it up and running yet, I'm sure it will be fine. I've seen a youtube video of a guy having 1 pulse for speed input. While I'm sure it works, the resolution has to be pretty crappy.
Dion was correct in stating the bracket I made attaches to the dust shield bolt holes in the spindle. I could have easily used a ball joint bolt hole if those weren't there.
You are lucky to have a trans speed signal. I have one of the older TKO500s and it doesn't have the provisions for an electronic speed sensor. Of course I could put one in the speedometer location, but I have a speedometer and want to keep it. I'll be making a bracket to mount the same sensor on the back wheel studs also. I've been waiting on Deutsch connectors to come in so I can get it all done in a day.
I also recently purchased an accelerometer for assistance in tuning the traction control. I also think it will be fun to make some autocross videos with overlay showing this data. If you don't want to spend $300 on a Holley or Fuel Tech accelerometer and don't have a problem "engineering' some things, Digikey has an accelerometer for $16. It's just a tiny circuit board (3/4" x 3/4"). You will need to come up with a little box and a way to mount it firmly in the car.

View attachment 1715836737 View attachment 1715836738 View attachment 1715836739

I don't suppose you'd have any more pictures of just the bracket for the speed sensor itself would you? I went out to the car and took some measurements and have an idea built up in CAD that I'm thinking is more or less what you did, but I'd be curious to double check it against your bracket since I know what you have works and clears stuff. It's looking like I may be able to squeeze this into the stock rotor setup I already have as well, but it's really tight. I think I'm going to try 3D printing a sample bracket to do a test fit and double check everything clears, then if it works out I'd remake it in metal so it's nice and solid.
 
Well, I ended up going a slightly different way in the end. I was looking at my original design that mimicked RacerJoe's, but I realized the way I was building it I wouldn't actually be able to put the sensor in or take it out. I was trying to tweak the design and cut material away to give clearance for the sensor, but then I had the thought about a bolt on plate sitting on spacers. At that point I realized I didn't even need a base plate at all anymore, I could just bolt straight to the spindle, so I came up with this "banana" bracket. I can even keep the stock dust shield with just a slight mod to some of the holes on the back side for the wire to go through. I think if I would have positioned the sensor a little better I probably wouldn't have even needed that, but I didn't really mind grinding a little material away for more cable clearance. I do have to de-pin the connector to install or remove the sensor, but I'm hoping this isn't something I'm going to be replacing often. Haven't actually hooked it up to the computer yet to see if it works. but tuned up the spacing with some washers to make sure everything cleared and am hoping to get the wiring to the computer done today.

I started out with a 3D printed piece in plastic to check fitment, then copied the shape and hole positions over to a piece of 1/8" scrap metal I had. Seems like it should be stout enough, and it's really not under any stress to begin with, so not too worried. The "worst" part about the whole setup is just that it's going to be in a really high heat area, but this is just a street cruiser, not a track machine, so I don't think the brakes are going to get worked that hard.

IMAG4010.jpg
IMAG4011.jpg
 
Well, I ended up going a slightly different way in the end. I was looking at my original design that mimicked RacerJoe's, but I realized the way I was building it I wouldn't actually be able to put the sensor in or take it out. I was trying to tweak the design and cut material away to give clearance for the sensor, but then I had the thought about a bolt on plate sitting on spacers. At that point I realized I didn't even need a base plate at all anymore, I could just bolt straight to the spindle, so I came up with this "banana" bracket. I can even keep the stock dust shield with just a slight mod to some of the holes on the back side for the wire to go through. I think if I would have positioned the sensor a little better I probably wouldn't have even needed that, but I didn't really mind grinding a little material away for more cable clearance. I do have to de-pin the connector to install or remove the sensor, but I'm hoping this isn't something I'm going to be replacing often. Haven't actually hooked it up to the computer yet to see if it works. but tuned up the spacing with some washers to make sure everything cleared and am hoping to get the wiring to the computer done today.

I started out with a 3D printed piece in plastic to check fitment, then copied the shape and hole positions over to a piece of 1/8" scrap metal I had. Seems like it should be stout enough, and it's really not under any stress to begin with, so not too worried. The "worst" part about the whole setup is just that it's going to be in a really high heat area, but this is just a street cruiser, not a track machine, so I don't think the brakes are going to get worked that hard.

View attachment 1715865780 View attachment 1715865781


Looks good to me!
 
Took it for the first drive today and everything seems to work well. Logged it against the rear sensor and they are pretty much dead on. Super low speeds under 3 mph or so they might be a tad different, but not by much. Saw one or two hiccups in the log over a 20+ minute drive, but not that worried about it. Now I just need to light the rear tires up and see how the system handles it, lol.
 
I haven't really had a chance to try to light up the tires, but everything still seems to be working okay. I have a set of MT ET Radials on the car (street slicks) ever since I found out I somehow bent a rim and cracked the lip on one of my wheels. Normally I'd swap on street tires and keep the MTs handy for drag strip stuff, but my rims have been discontinued and I just haven't gotten around to dealing with it all. Honestly I need a full set of new tires on it anyway, and with one bad spare rim I'm down to 5 total, which means I could finally keep a spare in the car, but I would need two new rims for the race tires. Add to that that I finally modified my front fenders to run the same size tires as the rear and I can have a full set of 5 matching tires on the car.

All of that is to say that the MTs are a little hard to light up just driving around town. Something just also feels off in my tune to me. It runs really nicely and cruises great now, but it just doesn't push me the way I feel like it should. I guess I'm not really pushing crazy power though, so maybe I just have my expectations off. I feel like it used to shove harder in the low end before my computer upgrade, so I think I probably could add some more timing, but I was hoping to get my knock sensors wired in before going too crazy with pushing the envelope. It does seem to put on speed quickly enough though, so maybe it's just all in my head. I probably only have 400hp if I'm lucky, and I'm not sure I've ever driven with the new computer on street tires, so maybe not the best apples to apples comparison. Still need to get it to the strip one of these days to see how it runs. I did run it once before on the old computer setup, so I would have something to compare to there if I can find the slips somewhere.
 
Any updates?

Thinking of using the same setup to feed a Speedbox to drive my speedometer if I swap a Challenger TR6060 into my car.

The Easiest Speedometer Conversion: SPEEDBOX™ | GPS, Transmission & CAN-Bus | SPEEDHUT®

I'm guessing that means the 6060 doesn't have a speed sensor? I waffled on buying one of those way back when when I swapped the T56 into my car since the T56 had a sensor. The main problem I had was that I wanted to keep the stock speedo and $300+ for one of those boxes just seemed like way too much to me. I'm a tinkerer by nature, so I figured I could build one myself way cheaper. It only took me probably 5+ years and maybe 7 different designs, but I finally got one that is working well that I'm happy enough with and was pretty cheap. It's basically just a tiny motor, an encoder, and a motor controller. I run it off the Raspberry Pi I have in the car that I use like an infotainment system, but you could run it off of a new Pi Pico just as easily if that's all you needed it for. Pretty much right at $100 all told. Motor is ~$25, $8 for the encoder, controller is $60, and a Pi Pico is $4. I think it was another couple of bucks for a cable between them. The motor is small enough it plugs right into the back of the speedo with a 3d printed mount I made. I feed my speed signals to my Megasquirt though and use an output from it to signal the Raspberry. I originally had the Pi reading the signal directly from the sensor before I upgraded my Megasquirt though. All that said, a nice clean box like that is certainly a good solution. I probably spent enough over the years trying to make things work that I could have just bought one to begin with and been done with it.
 
I'm guessing that means the 6060 doesn't have a speed sensor? I waffled on buying one of those way back when when I swapped the T56 into my car since the T56 had a sensor. The main problem I had was that I wanted to keep the stock speedo and $300+ for one of those boxes just seemed like way too much to me. I'm a tinkerer by nature, so I figured I could build one myself way cheaper. It only took me probably 5+ years and maybe 7 different designs, but I finally got one that is working well that I'm happy enough with and was pretty cheap. It's basically just a tiny motor, an encoder, and a motor controller. I run it off the Raspberry Pi I have in the car that I use like an infotainment system, but you could run it off of a new Pi Pico just as easily if that's all you needed it for. Pretty much right at $100 all told. Motor is ~$25, $8 for the encoder, controller is $60, and a Pi Pico is $4. I think it was another couple of bucks for a cable between them. The motor is small enough it plugs right into the back of the speedo with a 3d printed mount I made. I feed my speed signals to my Megasquirt though and use an output from it to signal the Raspberry. I originally had the Pi reading the signal directly from the sensor before I upgraded my Megasquirt though. All that said, a nice clean box like that is certainly a good solution. I probably spent enough over the years trying to make things work that I could have just bought one to begin with and been done with it.

Sweet!

Correct, the TR6060 does not have a speed sensor. After I asked the question I found that the TR6060 doesn't work with an A-Body anyway unless you either A) convert it to an LS input and midplate so you can use a DS starter, or B) swap to an aftermarket front suspension. Still kind of thinking about a TR6060 with the LS parts but not sure.

What about knocking the spring out of the spededometer and using a stepper motor? Would that make it better? I like the current setup though.

I am planning to run an OEM controller on my 5.7 and have looked at using the built in cruise control logic. Prelim research suggests that the clock spring in the steering column converts the button inputs into messages on the canbus network, so I am thinking about setting up an Arduino chip to convert the inputs from my stock CC buttons on the turn signal into the same messages. I would also use this chip to read the speed sensor (wherever it ends up being) and putting that on the canbus network at the same time. The only other inputs the PCM needs is brake and clutch. After that (in theory), the PCM would control the speed just like it does in the Challenger and much simplify the underhood appearance as no CC canister would be needed.

My other idea had been to also feed the speed signal to either a canbus speedometer or maybe to the Speedbox I linked above. But I like your setup lots more, and not just because it might be cheaper.

Does the Pi Pico need a power down sequence? I was leaning towards Arduino just because there isn't a bootup/shutdown sequence required, as far as I understand.
 
What about knocking the spring out of the spededometer and using a stepper motor?

Just realized that a stepper motor wouldn't work with the odometer/trip meter. Those need the constant rotation to work.
 
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.
 
The one thing that is potentially a drawback with my Raspberry setup is the really low signaling voltage. I'm not sure if the Pico has the same limits, though it does have some built in analog I/O, so I'm a bit more optimistic. The standard Pis only tolerate 3.3v for I/O, which is really pretty low for the electrically noisy environment of a vehicle. A lot of sensors don't even like to read or output that low, though the Honeywell 1GT sensor is open collector I believe, so I think it can basically run on whatever you want to feed it. You can get around that some with level shifters and whatnot, but the Arduino does at least bump that up to 5v I believe, which is more common.

The epiphany I finally had with the stepper motor idea was realizing how the stock cable drive works. The cable directly connects the odometer to the tailshaft and the speedo is magnetically coupled from there. In the case of the speedos I have at least, 1000 rotations of a cable translates to 1 mile traveled. So the only thing I need to do is make sure that whatever is connected to the speedo rotates 1000 revolutions every time I travel a mile. A stepper motor makes that really easy. Say it takes 128 steps for a full rotation of the motor. I just have to make sure the motor takes 128,000 steps in a mile. If my wheel speed sensor is 5 pulses per mile and my tires are something like 700 revs per mile, that's 3500 pulses per mile, or roughly 36.5 steps per pulse of the speed sensor. The main concern I would have at that point though is how jumpy or jittery it might be. It would be like turning the shaft 1/4 turn at a time, so it could be less than smooth. I'd still be interested to try it though.

The speedometer is actually adjustable as well. The coil spring on the needle is attached to a small lever that can be rotated to increase or decrease spring preload. I tuned my speedo by telling my motor to run 1000 rpm and then adjusting that spring until the speedo read 60 mph.

I have been thinking about trying in implement cruise control on my car as well. I have a carb style manifold and throttle body though, so it would be a different setup. Sounds like you're running the stock drive by wire if you're using the stock controller? That would probably makes things easier in a way, assuming you can get the messages figured out. I actually built a cruise control system for my 71 Vette years ago as a college project. It was highly simplified and just read a magnet attached to one of the rear half shafts, but it was a novel proof of concept. I had a high torque servo mounted under the hood connected to the carb linkage with a beaded chain (like a pull chain for a lamp). That let me operate the throttle normally and the chain would just go slack when the system wasn't engaged. It was pretty crude code the just monitored the speed and either added or removed throttle one step at a time. It was horrible about lagging behind and overshooting speed when it tried to catch up, but that was because it was a super simplified control system with no real feedback control. Once it settled though it was actually pretty good at holding speed.

If I did it again I think I could keep the same servo setup to drive things (though it's maybe questionable whether the servo is rated for the temp/environment), but the control system would need an overhaul. I think the biggest missing piece I have right now is monitoring throttle position. It's annoying because it's sort of right there since the tuning software reads it from the Megasquirt, but the problem is that I don't know how to get the value out of that software and into any other program. The two options I was looking at right now were either broadcasting it over CAN and setting up the Pi to read CAN, or just putting a duplicate (or maybe tee off the existing) TPS sensor for just cruise. The problem with that is the Pi has no analog I/O capability out of the box.

My design intent would be having a chart that maps the servo position to a matching throttle position, then when the cruise is first engaged it would be able to "pull up the slack" in the chain based on the current throttle position. That was the problem with my original Vette system. When you let off the throttle after setting a speed it would fully close, then the cruise would only open it a few steps at a time, but the whole time you're slowing down while it's doing that. The alternative would be designing a PID style control system that watches the change in speed and adjusts throttle in larger or smaller steps based on how quickly you are accelerating/decelerating, but I would have to do some reading on that one and tuning. Takes less input to get there, but I'd still prefer having actual throttle position monitoring as I think that can offer more utility to the system.
 
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.

Yep, that was exactly my assumption; that it would move to a positions as the speed changed, not rotate. But your description makes sense.

The one thing that is potentially a drawback with my Raspberry setup is the really low signaling voltage. I'm not sure if the Pico has the same limits, though it does have some built in analog I/O, so I'm a bit more optimistic. The standard Pis only tolerate 3.3v for I/O, which is really pretty low for the electrically noisy environment of a vehicle. A lot of sensors don't even like to read or output that low, though the Honeywell 1GT sensor is open collector I believe, so I think it can basically run on whatever you want to feed it. You can get around that some with level shifters and whatnot, but the Arduino does at least bump that up to 5v I believe, which is more common.

In theory I would only have a couple of inputs besides the wheel sensor and those should just be either a voltage sense or (if I simplified the wiring and used resistors) check for variable voltages on one wire. The wheel sensor will be the unknown though.

I thought I saw a 5v output on the pin outs for the Pico , but it wasn't anything I was looking for so I could be wrong.

The epiphany I finally had with the stepper motor idea was realizing how the stock cable drive works. The cable directly connects the odometer to the tailshaft and the speedo is magnetically coupled from there. In the case of the speedos I have at least, 1000 rotations of a cable translates to 1 mile traveled. So the only thing I need to do is make sure that whatever is connected to the speedo rotates 1000 revolutions every time I travel a mile. A stepper motor makes that really easy. Say it takes 128 steps for a full rotation of the motor. I just have to make sure the motor takes 128,000 steps in a mile. If my wheel speed sensor is 5 pulses per mile and my tires are something like 700 revs per mile, that's 3500 pulses per mile, or roughly 36.5 steps per pulse of the speed sensor. The main concern I would have at that point though is how jumpy or jittery it might be. It would be like turning the shaft 1/4 turn at a time, so it could be less than smooth. I'd still be interested to try it though.

Make sure you get it tested before I get to that point so I don't have to.

:rofl:

Sounds like you're running the stock drive by wire if you're using the stock controller?

Yes, planning to run a 2009 PCM from a Challenger. Everything has it's drawbacks and the stock PCM won't allow me to build a DIY traction control setup like you have, but it does come with things like CC logic built in. And since I am cutting down harnesses myself, should be cheaper, too.

For CC, just seems like it would be clean and simple since the stock logic should take care of things like wheel spin and how it takes control and lets go as well. My Dakota has CC and when I turn it off the throttle just slams shut and is very rough. I would assume the stock CC logic in the NGC controller would be much smoother.

That would probably makes things easier in a way, assuming you can get the messages figured out.

As far as the messages, the output from the CC stalk should be simple enough. I plan to source a stalk, clock spring and SCCM and use whatever chip I need to sniff the CANBus messages as I push the buttons.

The one I am worried about getting is the speed message header and format. Just hoping that won't be too difficult when I get to that point.
 
Just a short follow up.

Bought an Arduino Uno and a CANBus shield. Picked up a steering column so I can try and sniff the CC codes.

Also pulling the trigger on a T56 Magnum kit next week. Wish the trans had a hall effect VSS instead of the VR sensor. The Arduino needs the signal to be conditioned so either I buy/build another board or I find a way to change the sensor. Another option is an inline hall sensor in the speedometer cable.

Nice thing about the T56 Magnum is I don't have to worry about how to run my speedometer.
 
How about fiber optics to carry the signals. Electrical to optical an d back again on the other end, low signal levels not an issue?

Just thinking outside the box.
 
-
Back
Top