Speedometer limiting itself to 40mph
In early April, I decided to do a tune-up on it because I couldn't remember the last time the spark plugs were replaced and I would occasionally get a Cylinder 4 Misfire code.
My brother and I took an afternoon to do the air filter, oil, spark plugs, and new ignition coils. This is when things started to get worse.
Once we got the new coils and plugs in, the Expedition would idle roughly and occasionally pop. Code check resulted in my Oxygen Sensors needing to be replaced (two O2 sensors said I was running rich while the other 2 sensors said it was lean).
Got all 4 sensors replaced and it was still idling a bit rough but now only two O2 sensors were sending a lean code, so my brother started going over a few more things under the hood.
It turns out the entire length of my positive battery cable from the battery down to the starter was corroded, so we spent an afternoon replacing both the positive and negative battery cables.
Now we're at the point where it can be driven, with codes only showing for two O2 sensors reporting lean, but when I go about town and try to get to 40mph or higher, my speedometer is stopping at around 38mph.
As I'm driving, I know I'm going faster than 40mph, especially in relation to other vehicles, but my speedometer still will not go higher.
From 0-40mph, the speedometer functions fine. It's just 38-40mph seems to be the magic sticking point.
We're already looking at replacing the IAC to hopefully fix the rough idle and O2-lean codes, but I'm a bit more concerned about the speedometer right now.
Thoughts and suggestions?
The speedometer is still stopping at about 38mph, even when I had my brother's code reader showing me at 50mph using the live data setting. No codes would show up, either. The speedometer just wants to stick.



