2003 Toyota Tacoma Rough Idle and Surging

I’ve had difficultly starting my truck over 3-4 months about 2-3 times of the 350 or so starts. It’s very rough starting and requires heavy gas pedal pumping. It then runs fine, the check engine light comes on, then goes off after about 2-3 hours.

Recently it died as I was decelerating, then took 5-8 very hard attempts at starting involving hard gas pedal pumping. Now the engine “surges” at about 3,500 rpm in idle. It’s more of an oscillation. It does that at 30 mph on a flat surface too.

I was thinking possible MAF gunk build-up, maybe spark-plugs? Clogged fuel filter?

Any help or advice would be much appreciated. As a kid my dad and I listened to the show on Saturday mornings, and I secretly wanted something to go wrong with the family car so we could call in. Now I’m not so enthusiastic about my troubles, but would love a pointer.

Thanks so much,

Miles Gornto (“Gorn-toe”)

Washington, DC

Ideally you want to go find out what trouble codes that computer stored - next time the engine light is on go to an auto parts chain (such as Autozone) and have them scan it for error codes. Write down the exact code (like P1234). Even if the light is not on they might have a scanner that will pull code history.

Without a code it is shooting in the dark.

That said, also do any overdue maintenance - spark plugs, wires, fuel & air filters at the very least. Cleaning the MAF certainly won’t hurt and is easy to do with a little MAF cleaner.

So I took it to AutoZone and got these error codes:
P0113 Intake air temperature (IAT) circuit fault - high
P0102 Mass air flow circuit fault - low input
P0341 Camshaft position sensor (CMP) “A” circuit performance - bank 1

I also bought some MAF sensor cleaner and cleaned off the heating element that was a little gunky on one side. Looks really clean on both sides now. Still have the P0102 error though. Possibly didn’t get a great seal when I re-installed it, but it was tightened down pretty good.

Does this give a general course of action, or just present a jumble of stuff potentially wrong?