"When a man dies, his good deeds come to an end except three: ongoing charity, beneficial knowledge and righteous offspring who will pray for him." [Sahih Muslim: 3084]

Monday, June 3, 2013

On-board Diagnostic Between Mitsubishi ECU Using Arduino - Part 1

Introduction 
This project is about an On-board diagnostic tool for ECU car made by Mitsubishi around years (90-96). I'm using Arduino as the main devices for the medium of communication. The main focus of this project is to display all the data received on the dashboard of the car by using the LCD display. Beside that, i also have a plan to display it using a mobile phone or tablet.
 

Protocol 
Honestly, It took me a long time to get a proper information regarding communication / protocol between the ECU. This is caused by several factors including the information sought is limited, the lack of equipment and in addition there are also some people do not tend to share information due to commercial factors.

Before the analysis described below is done, I have provided some devices to get more detail on how MMCd Logger communicate with the ECU. Later on, all the information will use as input to develop a logger with Arduino. The devices are:
 
  • ALDL to RS232 adapter as communication tool between ECU and Palm. Download full schematic diagram here. An ALDL voltage describe by Wikipedia as "The signaling of ALDL is very similar to the RS-232 serial data standard; differing in the voltages used to denote logical one (usually 0VDC) and logical zero (either +5VDC or +12VDC), and that unlike RS232, both transmit and receive functions are on the same conductor.
  • Palm IIIc
  • 8 Channel Logic Analyzer
  • MMCd Logger version 1.8
  • Logic Analyzer Software
For a note, MMCd Logger is PalmOS automotive diagnostic and data logging tool compatible with many pre-OBDII (1990-1994) Mitsubishi vehicles and it was very popular among Mitsubishi users including DSM cars.

Based on logical analysis software, I found that the communication between the ECU and MMCD Logger is based on; for each 1 byte command was sent, the ECU will respond with 2 bytes 1 byte of data. Here are the results of analysts that has been made:
  • Serial communications rate is 1920 baud, 8 bits, 1 stop bit, no parity, TTL. (On MMCd web site stated it communicate at 1953 baud rate but both have replies.)
  • Communication signal is "Inverted"
  • Communication referral as 1 byte sent and 2 bytes 1 bytes receive 
Here is some sample of signal wave received from the ECU. For record, the signal generated below was taken from my 4g91 ECU.



Table of Mitsubishi ECU Command
 
Notes:
Steve from dsmtuners.com have made a correction on me about the protocol with the ecu. The 2 bytes data that i have mention before is actually an echo of the signal because of using a multiplexed data line.  

Reference

2 comments:

  1. Tumpang tanya Tuan, waja lama (bukan campro) guna obd1 atau obd2 ?

    ReplyDelete

  2. hi dear its very first-class and very helpful submit for those who are new and thinking to begin a weblog site.Your posts are very helpful and creative mitsubishi

    ReplyDelete