What Does Code P1587 Mean?
The OBD-II diagnostic trouble code P1587 signifies a Throttle Control Unit Modulated Command Malfunction. This code is specifically related to the electronic throttle control (ETC) system, often referred to as “drive-by-wire.” In this system, the Engine Control Module (ECM) or Powertrain Control Module (PCM) does not directly manipulate the throttle plate via a cable. Instead, it sends an electrical signal to a Throttle Actuator Control (TAC) module, which is typically integrated into the electronic throttle body (ETB) assembly. This TAC module then operates an electric motor to position the throttle plate.
The term “modulated command” refers to the specific type of electrical signal the ECM/PCM uses to communicate the desired throttle plate position to the TAC module. This is commonly a Pulse Width Modulation (PWM) signal, where the duty cycle or frequency of the signal dictates the commanded throttle angle. Code P1587 is triggered when the ECM/PCM detects an abnormality in its own outgoing modulated command signal. This could mean the signal itself is electrically out of specification (e.g., incorrect voltage level, improper duty cycle, or an open/short circuit on the command line), or that the internal driver circuit within the ECM/PCM responsible for generating this command is malfunctioning. Essentially, the ECM/PCM is unable to reliably or correctly send the instruction to the throttle body actuator to position the throttle plate.
Common Symptoms
- Illuminated Malfunction Indicator Lamp (MIL) on the dashboard.
- Reduced engine power or “limp mode” activation.
- Hesitation or surge during acceleration.
- Erratic or fluctuating idle speed.
- Engine stalling, particularly at idle or low speeds.
- Unresponsive or delayed throttle pedal input.
- Inability to accelerate past a certain RPM or vehicle speed.
What Causes the Code P1587?
- Faulty Electronic Throttle Body (ETB) Assembly: While P1587 focuses on the ECM’s command, an internal fault within the ETB’s integrated TAC module that affects its ability to receive or acknowledge the command can sometimes indirectly trigger this code if the ECM detects an abnormal load or response from the command circuit.
- Wiring Harness Issues: Opens, shorts to ground or power, excessive resistance, or damaged insulation in the wiring harness connecting the ECM/PCM to the electronic throttle body.
- Corroded or Loose Electrical Connectors: Poor contact at the multi-pin connectors for either the electronic throttle body or the ECM/PCM.
- Faulty Engine Control Module (ECM/PCM): A rare but possible cause where the internal driver circuit responsible for generating the modulated command signal has failed.
- Voltage Supply Issues: Insufficient or unstable voltage supply to the electronic throttle body actuator circuit, potentially due to a blown fuse, faulty relay, or compromised power supply wiring.
How to Diagnose and Troubleshoot
A systematic diagnostic approach is crucial for P1587:
- Retrieve and Document Freeze Frame Data: Connect an OBD-II scanner and record all freeze frame data associated with P1587. This provides critical information about engine conditions (RPM, load, vehicle speed, etc.) at the moment the code was set, which can help replicate the fault. Check for any other related codes, especially those pertaining to the Accelerator Pedal Position (APP) sensor or Throttle Position (TP) sensor, as they can indirectly affect throttle control.
- Visual Inspection: Perform a thorough visual inspection of the electronic throttle body assembly, its wiring harness, and connectors. Look for signs of physical damage, fraying, cuts, pinch points, or heat damage on the wires. Inspect connectors for corrosion, bent pins, or loose terminals.
- Check for Technical Service Bulletins (TSBs): Consult manufacturer-specific service information for any known issues, common failures, or updated diagnostic procedures related to code P1587 for the specific vehicle make and model.
- Live Data Analysis with OBD-II Scanner: Monitor the following PIDs (Parameter IDs) in live data:
- Desired Throttle Angle: The angle the ECM/PCM is commanding.
- Actual Throttle Angle (TP Sensor 1 and 2): The actual position reported by the throttle position sensors.
- Accelerator Pedal Position (APP Sensor 1 and 2): The driver’s input.
- Throttle Actuator Motor Command/Duty Cycle (if available): Some advanced scanners may show the actual command signal parameters.
Look for discrepancies between desired and actual throttle angles, or if the “Desired Throttle Angle” PID shows erratic behavior even when APP input is steady.
- Digital Multimeter (DMM) Testing:
- Power and Ground Supply to ETB: With the ignition ON (engine OFF), use a DMM to verify stable 12V power and a solid ground at the electronic throttle body connector. Refer to the specific wiring diagram for pin assignments.
- Continuity and Resistance of Command Wires: Disconnect both the ECM/PCM and ETB connectors. Using the wiring diagram, identify the specific command signal wires (usually two for PWM or data lines). Check for continuity between corresponding pins at both connectors. Test each command wire for shorts to ground and shorts to power. Measure resistance of each wire; excessive resistance (more than a few ohms) indicates a problem.
- Signal Integrity (Advanced): While a DMM can verify the presence of a voltage on the command line, precisely evaluating a modulated signal (like PWM) often requires an oscilloscope. An oscilloscope would allow you to check the waveform’s duty cycle, frequency, and voltage levels to ensure they match manufacturer specifications. If an oscilloscope is unavailable, look for any voltage fluctuation on the command line as the throttle is commanded by the scanner’s active test (if available) or by manually operating the accelerator pedal (if safe to do so with the engine off/key on).
- Active Test (Bi-Directional Scanner): If the scanner supports it, perform an active test to command the electronic throttle body to various positions. Observe if the throttle plate responds smoothly and if the actual TP sensor readings correlate with the commanded positions. Listen for any unusual noises from the throttle motor.
Recommended Repairs and Solutions
Based on the diagnostic findings, the following repairs are typically recommended:
- Repair or Replace Wiring Harness: If damaged or corroded wiring or connectors are found between the ECM/PCM and the electronic throttle body, repair them using appropriate automotive-grade connectors and wiring techniques, or replace the affected section of the harness. Ensure all connections are clean, tight, and free of corrosion.
- Replace Electronic Throttle Body Assembly: If power and ground to the ETB are confirmed good, wiring integrity is verified, and the ECM’s command signal appears correct (especially if an oscilloscope was used), but the throttle body does not respond correctly to commands or exhibits internal faults, replacement of the complete electronic throttle body assembly is usually necessary. This is a common component failure, as the internal motor and TAC module are integrated.
- ECM/PCM Reprogramming or Replacement: This is a last resort after all other possibilities have been thoroughly exhausted. If all wiring, power supplies, and the throttle body itself test good, and an oscilloscope confirms the ECM’s command signal is truly absent or incorrectly generated, then the ECM/PCM may be faulty. Always consider factory reprogramming as a first step before replacing the unit.
- Perform Throttle Body Relearn/Adaptation: After replacing the electronic throttle body or performing certain repairs on the ETC system, a throttle body relearn or adaptation procedure may be required. This procedure, typically performed with a capable diagnostic scanner, allows the ECM/PCM to learn the new throttle body’s idle position and operational parameters. Failure to do so can result in poor idle quality or further driveability issues.
- Clear Codes and Retest: After any repair, clear the diagnostic trouble codes and perform a thorough test drive to confirm the repair has resolved the issue and the P1587 code does not return.

