A code P0121 may mean that one or more of the following has happened:
* TPS has intermittent open or short internally
* Harness is rubbing and causing an open or short in the wiring
* Bad connection at the TPS
* Bad PCM (less likely)
* Water or corrosion in connector or sensor
Possible Solutions
1. If you have access to a scan tool, see what the idle and WOT (wide open throttle) readings are for the TPS. Check if they're close to the specifications mentioned above. If not, then replace the TPS and re-check.
2. Check for an intermittent open or short in the TPS signal. To do that, you can't use a scan tool. You'll need an oscilliscope. The reason is because scan tools take samplings of many different readings over just one or two data lines and can miss an intermittent drop out. Hook up your oscilliscope and watch the signal. It should sweep up and down smoothly with no drop outs or spikes.
3. If no problems were noticed, perform a wiggle test. Do this by wiggling the connector and harness while watching the pattern. Does it drop out? If so, replace TPS and re-check.
4. If you have no TPS signal, check for 5 Volt reference at the connector. If it's present, check the ground circuit for open or shorts.
5. Make sure the signal circuit isn't 12V. It should never have battery voltage. If it does, trace circuit for short to voltage and repair.
6. Look for any water in the connector and replace TPS as necessary.