When an OBD1 Honda or Acura detects a problem with the engine management system, the ECU can store a trouble code and illuminate the Check Engine Light (CEL).
Unlike OBD2 vehicles, you normally don't need a scan tool to retrieve these codes. OBD1 Hondas can display the stored code directly through the Check Engine Light.
This guide covers the common Honda and Acura OBD1 ECU codes, how to read them, and the separate transmission codes used on many automatic applications.
How to Read OBD1 Honda CEL Codes
Locate the 2-pin service check connector and jump the two terminals together.
The connector location varies by chassis, but on many OBD1 Hondas it can be found under the passenger side of the dashboard.
With the ignition OFF:
-
Jump the two terminals of the service connector.
-
Turn the ignition to ON without starting the engine.
-
Watch the Check Engine Light.
-
Count the long and short flashes.
A long flash = 10.
A short flash = 1.
For example:
Code 22
will display as:
2 long flashes + 2 short flashes
If more than one code is stored, the ECU will display each code and then repeat the sequence.
Count the flashes more than once to make sure you have the correct code.
Honda & Acura OBD1 CEL Code List
Code 0 — ECU / ROM
ECU or ECU calibration fault.
On a chipped ECU, a solid Check Engine Light can also be caused by problems such as:
-
Chip installed incorrectly
-
Chip installed backwards
-
Chip not fully seated
-
Incorrect or corrupted calibration
-
Poor ECU socketing
-
Damaged ECU board
-
ROM or chip communication problem
If a chipped ECU produces a solid CEL immediately after installation, the ECU and chip should be inspected before diagnosing sensors on the engine.
Code 1 — Primary Oxygen Sensor
Problem with the primary O2 sensor or its circuit.
Code 2 — Secondary Oxygen Sensor
Secondary O2 sensor circuit on applications equipped with one.
Code 3 — MAP Sensor
Manifold Absolute Pressure sensor circuit.
Code 4 — CKP Sensor
Crankshaft Position sensor signal.
On many OBD1 Honda distributors, the CKP sensor is located inside the distributor.
Code 5 — MAP Sensor
MAP sensor signal or circuit fault.
Code 6 — ECT Sensor
Engine Coolant Temperature sensor.
This is the sensor the ECU uses to determine engine temperature. It should not be confused with the separate temperature sender used for the gauge cluster.
Code 7 — TPS
Throttle Position Sensor.
Check TPS adjustment, wiring, connector condition, and sensor voltage.
Code 8 — TDC Sensor
Top Dead Center position sensor.
On many OBD1 Honda applications, this sensor is located inside the distributor.
Code 9 — CYP Sensor
Cylinder Position sensor.
Also commonly located inside the distributor on OBD1 Honda applications.
Code 10 — IAT Sensor
Intake Air Temperature sensor.
Usually located in the intake manifold or intake tract depending on the application.
Code 11 — Overheat Protection on Some Modified ECUs
Code 11 is not normally used as an engine-overheating code by a stock Honda OBD1 ECU.
Some aftermarket tuning software uses this otherwise unused code for engine over-temperature protection.
If you have a chipped ECU and receive Code 11, check the calibration and actual coolant temperature before assuming there is an ECU failure.
Code 12 — EGR
Exhaust Gas Recirculation system.
Only applies to vehicles and ECUs equipped with EGR control.
Code 13 — BARO Sensor
Barometric or atmospheric pressure sensor.
Code 14 — IACV
Idle Air Control Valve, also referred to on some Honda documentation as the EACV.
Possible causes include:
-
Disconnected IACV
-
Incorrect wiring
-
Damaged IACV
-
Wiring problem
-
ECU driver problem
A Code 14 is expected if the IACV is purposely disconnected while performing a base-idle adjustment.
Code 15 — Ignition Output Signal
Ignition output or ignition control signal fault.
Code 16 — Fuel Injector
Fuel injector circuit fault.
Check injector wiring, injector resistance, resistor box configuration where applicable, and ECU injector drivers.
Code 17 — VSS
Vehicle Speed Sensor.
This code is especially important on tuned vehicles because the ECU uses vehicle speed for several functions.
A missing VSS signal can also affect features such as:
-
Launch control
-
Full-throttle shift
-
Speed-based functions
-
Some idle and deceleration strategies
If the speedometer is not working and Code 17 is present, diagnose the VSS circuit before assuming there is a tuning issue.
Code 19 — Automatic Transmission Lock-Up Control
Lock-up control solenoid or related automatic transmission circuit.
Application dependent.
Code 20 — ELD
Electrical Load Detector.
The ELD allows the ECU to monitor electrical load on the vehicle.
Code 21 — VTEC Solenoid
VTEC spool solenoid valve circuit.
Check:
-
VTEC solenoid
-
Wiring
-
Connector
-
ECU output
-
VTEC configuration
Code 22 — VTEC Pressure Switch
VTEC oil pressure switch circuit.
A Code 22 does not automatically mean the VTEC solenoid itself is bad.
Check the pressure switch, wiring, oil pressure, oil level, and VTEC system operation.
Code 23 — Knock Sensor
Knock sensor circuit.
Not every OBD1 Honda engine or ECU uses a knock sensor.
Code 30 — Automatic Transmission Signal A
Automatic transmission / ECU communication signal.
Code 31 — Automatic Transmission Signal B
Automatic transmission / ECU communication signal.
Code 36 — Traction Control
Found on certain JDM ECU applications equipped with traction control.
This is not used on most common USDM OBD1 Honda ECUs.
Code 38 — Secondary VTEC Solenoid
Found on certain JDM 3-stage VTEC applications, including some P2J ECU configurations.
Code 41 — O2 Sensor Heater
Primary heated oxygen sensor heater circuit.
Check the O2 sensor heater, wiring, power supply, and ECU circuit.
Code 43 — Fuel Supply System
Fuel supply or fuel control problem.
Code 43 does not automatically mean the fuel pump is bad.
The ECU has detected that fuel control is outside of the expected range.
Possible causes can include:
-
Fuel pressure problems
-
Fuel pump issues
-
Fuel pressure regulator
-
Injectors
-
O2 sensor problems
-
Vacuum leaks
-
Wiring problems
-
Incorrect fuel system configuration
Diagnose the system before replacing parts.
Some Codes Depend on the ECU and Vehicle
Not every Honda OBD1 ECU supports every code listed above.
The available diagnostic functions depend on the ECU, vehicle, engine, transmission, and market.
This is especially important with swapped vehicles.
For example, you may have a 1995 Civic chassis running an engine and ECU originally intended for a completely different Honda or Acura.
In that situation, troubleshoot the code based on the ECU and engine configuration, not simply the chassis year.
Modified ECU software can also add, disable, or repurpose certain diagnostic functions.
Don't Mix OBD1 and OBD2 Code Lists
There are a lot of Honda CEL lists online that combine OBD0, OBD1, and OBD2 codes into one chart.
That can cause unnecessary confusion.
Codes commonly listed in the higher ranges, including many misfire, catalytic converter, EVAP, secondary O2, and crank fluctuation codes, generally belong to later OBD2 systems or specific applications.
A typical chipped P06, P28, P30, P72, or P75 OBD1 ECU should be diagnosed using the appropriate OBD1 code list and ECU configuration.
OBD1 Automatic Transmission TCU Codes
Automatic Honda and Acura vehicles may also store trouble codes in the Transmission Control Unit, or TCU.
Depending on the vehicle, transmission trouble codes are displayed through the D4 or S indicator rather than the Check Engine Light.
The same basic flash system is used:
Long flash = 10
Short flash = 1
OBD1 TCU Code List
Code 1 — Lock-Up Solenoid A
Circuit open or shorted.
Code 2 — Lock-Up Solenoid B
Circuit open or shorted.
Code 3 — Throttle Position Sensor
TPS circuit open or shorted.
Code 4 — Vehicle Speed Sensor
VSS circuit open, shorted, or no speed signal.
Code 5 — Shift Lever Position Switch
Circuit shorted.
Code 6 — Shift Lever Position Switch
Circuit open.
Code 7 — Shift Solenoid A
Circuit open or shorted.
Code 8 — Shift Solenoid B
Circuit open or shorted.
Code 9 — Countershaft Speed Sensor
Transmission speed pulse generator circuit open or shorted.
Code 10 — Coolant Temperature Sensor
ECT circuit open or shorted.
Code 11 — Engine RPM Signal
Ignition coil / engine speed signal open or shorted.
Code 12 — Not Used
Code 13 — Mainshaft Speed Sensor
Mainshaft speed pulse generator circuit open or shorted.
Code 14 — Linear Solenoid
Line-pressure control solenoid circuit open or shorted.
Code 15 — Kickdown Switch
Kickdown switch circuit shorted.
CEL Code vs TCU Code
Don't confuse an engine ECU code with an automatic transmission TCU code.
For example:
ECU Code 14 = IACV
while:
TCU Code 14 = transmission linear solenoid
They are completely different faults.
Always pay attention to which warning light is displaying the code.
-
Check Engine Light = engine ECU
-
D4/S light = automatic transmission control system
How to Clear OBD1 ECU Codes
Once the problem has been repaired, the stored ECU codes can be cleared by resetting ECU memory.
On many OBD1 Hondas this can be done by removing the BACK UP / ECU fuse from the under-hood fuse box for approximately 10 seconds.
The exact fuse can vary by chassis.
Disconnecting battery power can also reset ECU memory, but may erase radio presets and other stored settings.
After clearing the code, restart the vehicle and verify whether the CEL returns.
If it immediately returns, the fault is still present.
A Trouble Code Tells You Where to Look — Not Which Part to Replace
This is probably the most important thing to understand about Honda CEL codes.
A trouble code does not necessarily mean the component named in the code is bad.
For example:
Code 14 — IACV
does not automatically mean:
Replace the IACV.
It means the ECU detected a problem with the IACV circuit or operation.
The actual cause could be the valve, connector, wiring, ECU, incorrect conversion, or another problem.
The same applies to MAP, TPS, VTEC, injector, O2 sensor, and other codes.
Use the CEL code as the starting point for diagnosis instead of immediately replacing parts.
Have a CEL After Installing a Chipped ECU?
If a Check Engine Light appears after installing a chipped ECU or completing an engine swap, write down the exact code before resetting the ECU.
Also verify:
-
ECU part number
-
Engine being used
-
Engine harness
-
OBD1/OBD2 conversion harness if applicable
-
Sensors connected to the engine
-
Any sensors intentionally disabled in the calibration
-
Whether the ECU was originally manual or automatic
This information makes diagnosing the issue much easier.
DGTune specializes in Honda and Acura OBD1 ECU tuning, chipped ECUs, ECU socketing, and remote tuning.