First off I want to say thank you for everyone that's posted before since this a treasure trove of information! I'm 26 and got my Fiero in August and have slowly been picking away at the issues. It's my first project car so it's been a great learning experience so far, however one of the last things I haven't been able to figure out however is this idle surge.
Occasionally when the vehicle is idling it will spike from about 1,300-1,400 rpm to between 2,500-3,500 rpm without any notice (at least from what I can tell). I've replaced the plugs, checked the spark plug wires, replaced the fuel filter, the spray seems consistent without any visible large droplets, I have checked the vacuum hoses visually and although they're old I haven't seen anything, I've held an unlit propane torch along the hoses to see if it would spike and it seems fine, I replaced the EGR gasket and tested the EGR and it slides fine, I replaced the IAC valve, the TPS seems to be working fine, and I have a new MAP sensor, so at this point I'm more or less out of ideas, unless it's the ECU.
When it idles normally it runs fine (albeit loud due to the exhaust leak), and is able to drive 60+ miles at a time seemingly without issues. It sounds like other people have run into this issue but a combination of the things I've already done have been their solution.
Any help/suggestions would be appreciated. Thanks!
Just as a quick update: I haven't had much time or daylight to work on it but I did clean the terminals, wire brushed the ends, undid the negative terminal and cleaned the grimy copper. I haven't yet replaced the negative cable entirely but it didn't surge when I had it idle for a few minutes, so it might be promising..
So I figured I would mess around with some things just to see what would happen, and included a bunch of pictures. As it stands it normally idles at about 3000 rpm.
Here's the broad engine bay right now:
The throttle adjustment screw was messed with previously but I believe I have it set more or less correctly. It's only sticking out just a small amount and the throttle valve is pretty closed.
I had unplugged the vacuum line from the MAP sensor and the idle had decreased to approx. 2000 rpm. Every time I reattached the vacuum line it immediately shot back up to 3000 rpm, and when I unplugged the MAP sensor all together the engine died.
Also with the vacuum line from the MAP sensor unplugged I also unplugged the vacuum line from the EGR valve, which made no difference. I had previously replaced the gasket and checked to see if it moved under vacuum and it did.
I also played with the TPS, and idling if I presses the sensor arm in it idled more roughly. I know the connection to the TPS is sketchy but it seems to work for the time being. When it's completely unplugged it doesn't do anything, whereas when it's plugged in it seems to be working properly.
I also took out the IAC Valve entirely and it didn't seem to make much of a difference. While it was running I unplugged the IAC Valve and re-plugged it in and could feel it slightly vibrate, but the end didn't particularly shoot out or retract.
I also checked the vacuum lines for any obvious leaks, which they seemed okay. I also checked the line from the break booster and that was fine too.
So the only thing that's actually decreased the idle for me is to unplug the vacuum line from the MAP sensor, which clearly isn't the correct thing to do. Maybe someone with more experienced eyes can spot something that I wouldn't think to look at or pay attention to.
So I replaced the TPS and set a multimeter to it, and it's reading 0.5V and increases when the throttle increases as it should, and I also replaced all the vacuum lines to the throttle body. I also put a pressure gauge on the fuel line just for the heck of it and it's reading about 12 psi consistently whether under load or not. Sometimes from a cold start it idles at about 1,500 rpm for a minute and then decreases to 1,000 rpm, which it should be doing, and runs fine for a good 10 or 15 minutes, but then other times it idles fine and then just surges seemingly without any input. Still have no idea what's causing it so seemingly randomly surge.
The last time the idle was fine at 1,000 rpm I disconnected the temperature sensor sender wire to the ECU and it ran rougher, not stalling but just a bit more rough, which makes sense to be doing to me, bu the last time the idle surged I disconnected the wire and it didn't make any difference. I'm not sure if that's a good thing or a bad thing.
This may sound odd but have you verified you have the correct ECM in the car? When I got my 84 it had strange issues that didn't make sense. It drove fine but on startup or coming to a stop the idle was 2800-3000 rpm before it would go back down to 1k. Turned out the previous owner put an 85 automatic ECM in my 84 manual Fiero.
Those battery wires and clamps should be cleaned or replaced with proper side-post wires. Those connectors with the exposed clamps always cause trouble.
So first thing today was to replace the TPS connector.
And for the hell of it I turned the car on and let it run for a bit, it cold started and idled at approx. 1,500 rpm, then decreased to about 900-1,000 rpm for maybe 2 minutes, then without pressing the gas pedal or messing with anything the idle increased to about 2,200 rpm and wanted to stay there.
I took off the center console to check the ECM. From what I saw the ECM number is 7-6156, calibration code 0301HJ, which from what I can tell doesn't correlate to any of the Fiero ECM numbers. I noticed the paper being ripped at the top and saw the PROM, and it looks like from the serial number inside that this is a remanufactured ECM but from searching the internet I can't seem to figure out if this is right for the car.
I haven't replaced the temp sensor with the wiring to the ECM but I had previously taken it out and wiped it clean on the end. Also last time I was messing with it when the car was idling correctly I had unplugged it, and the car ran slightly more rough, and when the idle was high I also unplugged it and it didn't seem to make a difference in the idle. I'll likely end up replacing it anyways just to know that it's new.
And that's the latest and greatest. Here's the engine bay as it stands now, a slight amount cleaner but not great.
That temperature sensor looks to be ancient. I don't even know if you can get them with that connector anymore. Without using a scanner to see what the ECM is reading(like Patrick suggested) the only option is to just replace it. Note that the 84 has three coolant sensors: the one in the water neck is for the ECM, the one further back on top of the head is the gauge and temperature light, and the last is on the back of the head near the exhaust is for the radiator fan. The other two wouldn't cause the idle issue. You'd want to replace both the sensor and the connector with one like ACDELCO 21352 or a cheaper version.
Also if you have any knowledge of electronics you can build your own 'scanner' cable for a couple dollars.
I replaced the temp sensor to ECM, spark plug wires, and distributor cap. I wasn't able to double check timing since my timing gun was in my other car and I took my work truck home today, but after starting and idling at about 1,500 rpm initially for 30 sec. or so, once it got a bit warmer it went down to about 800 rpm and stayed down. I shut the car off and started it again about a minute after and immediately after starting it, it crept up to about 2,300 rpm and stayed there.
I mean I'd rather it be idling high and be able to use it but it's still irritating knowing it's not right.
So I went through and tried to clean most of the electrical connections of any gunk that was in them, and cleaned the engine grounds and the starter connections. Overall they weren't too bad looking but it sounded like a good idea.
I started the car and after reaching temp it was idling at about 900 rpm, and I checked the timing and it was low, I can't remember what number but it was like 4 or 6 degrees or something like that. I noticed as I advanced the timing even just the slightest amount it caused the idle to spike to about 2,300 rpm. It seemed like just the slightest amount of movement from the distributor cap caused it to spike, but I'm not sure why. Eventually it calmed down and idled back at around 900 rpm again but I didn't particularly do much to cause it to go down, it just seemingly went back on its own.