An arduino code that reads Honda OBD Protocol via the 3 pin DLC connector.
Please refer to the screenshots below.
- Datalogging
- Diagnostics
- Trip Computer
- Custom Cluster
- Etc
- Honda ECU's before 2002
- ArduinoHondaUNI - top level code.
- app - implements Honda OBD protocol
- eeprom - implements storage
- display - implements display
- elm - implements the translation to elm protocol (serial)
- button - implements single button
Honda 3 Pin DLC Arduino Nano
Gnd --------------------- Gnd
+12 --------------------- Vin
K-line ------------------ Pin12
Tact Switch Arduino Nano
(+) --------------------- Pin17 (A3)
(-) --------------------- Gnd
Piezo Buzzer Arduino Nano
(+) --------------------- Pin13
(-) --------------------- Gnd
HC-05 Bluetooth Arduino Nano
Rx ---------------------- Pin11
Tx ---------------------- Pin10
LCD 16x2 Arduino Nano
Sda --------------------- Pin18 (A4)
Scl --------------------- Pin19 (A5)
Vcc --------------------- 5v
Gnd --------------------- Gnd
LCD 128x64 Arduino Nano
D4 ---------------------- Pin7
D5 ---------------------- Pin6
D6 ---------------------- Pin5
LCD 16x2 Arduino Uno
RS ---------------------- Pin9
Enable ------------------ Pin8
D4 ---------------------- Pin7
D5 ---------------------- Pin6
D6 ---------------------- Pin5
D7 ---------------------- Pin4
VO ---------------------- 10k Potentiometer (+5V to Gnd)
Voltage Divider Arduino Nano
+12V divider circuit ---- Pin14 (A0)
(680k ohms and 220k ohms)
- Button
- Short press to change page
- Hold 3 seconds to change mode (obd1/obd2)
- Hold 5 seconds to reset the ecu
- Display
- ELM Bluethoth
- using an app (Torque or similar) connect via bluetooth (mode obd2)
- direct honda PID access
- 1 byte access pid "21AA" where: 2 = custom header, 1 = 1 byte, AA = address
- 2 bytes access pid "22AA" where: 2 = custom header, 2 = 2 bytes, AA = address
- 4 byte access pid "24AA" where: 2 = custom header, 4 = 4 bytes, AA = address
- Unit Measurement
- rpm
- kph
- km
- kpa
- millivolt
- degree
- Tested on P2T ODB2 stock and P30 ODB1 chipped