JONO GARAZAS
AUTODIAGNOSTIKA | About Page | Photo Page | What's New Page | Contact Page | Favorite Links | Slide Show | Catalog Page | Custom Page | FOTO 2 Page | FOTO3 Page | Guest Book Page | Photo2 Page | FOTO4 page | Photo3 Page | FOTO  | PHOTO 5 Page | FOTO suo Maksas | Shopping Page Page | Guest Book Page
ELEKRONIKA

LABAS

AUDI-BMW-FORD-OPEL-VW-TOYOTA-MERSEDES

Getting Started with ElmScan and OBD-II

Introduction

This page is for software developers and people who would like to learn more about the technical side of OBD communications. To the best of our knowledge, the information presented on this page is accurate. However, please remember that ScanTool.net does not accept responsibility for its accuracy or usefulness for your particular purpose.

Communication between PC and ElmScan

Open your favorite terminal (if you don't have a favorite terminal software, use HyperTerminal - it comes with every copy of Windows). Configure it to use 9600, 8, N, 1, and no flow control. Also, make sure your program adds line feeds to line ends, otherwise you may see the received data overwriting itself. If you're unsure how to do these things, check out our page on configuring the Hyperterminal.
Once connected and powered up, ElmScan will display the welcome message:
The "greater than" sign is called the "prompt character", and is similar in a way to the DOS prompt. Here you can type commands, which are divided into two categories: AT commands and OBD commands.
 
AT commands are used for configuring the ELM32x IC.  ElmScan recognizes a number of such commands, five of which are listed below:
ATE0 - Turn echo off. Characters sent to ElmScan are not retransmitted back to the host computer.
ATE1 - Turn echo on. This is the default state, characters are echoed back to the host computer.
ATH0 - Turn headers off. This is the default state, header information and CRC byte are omitted.
ATH1 - Turn headers on. Header information and CRC byte are displayed.
ATZ - Causes the chip to reset itself, as if the power was cycled off and then on again.
Refer to the ELM32x datasheets for more information on AT commands and their usage.
 
If a command does not start with characters 'A' and 'T', it is considered an OBD request, and is processed as such. There are nine modes described in the official OBDII standard:
01 : show current data
02 : show freeze frame data
03 : show stored trouble codes
04 : clear trouble codes and stored values
05 : test results, oxygen sensors
06 : test results, non-continuosly monitored
07 : show pending trouble codes
08 : special control mode
09 : request vehicle information
However, all of these modes are not required to be supported by every vehicle, and the manufacturer is allowed to implement "custom" modes above mode 09.
Below are examples of some of the more commonly used requests:
 
Mode
PID
Description
Min
Max
Formula
01
00
PID's supported
Bit encoded*
01
01
Number of trouble codes and I/M information
Data A**, bit 7: MIL commanded on by the module. Bits 6-0: number of trouble codes stored in the module.
01
04
Calculated load value
0%
100% =(X*100/255)%
01
05
Engine coolant temperature
0°F
255°F =((X - 40)*9/5 + 32) °F
01
0C
Engine RPM (2 bytes)
0 rpm
16,383.75 rpm =(X*1/4) rpm
01
0D
Vehicle speed
0 mph
255 mph = (X/1.609) mph
01
0E
Ignition timing advance
-64°
63.5° = (X/2 - 64)°
01
0F
Intake air temperature
0°F
255°F = ((X - 40)*9/5 + 32) °F
01
11
Absolute throttle position sensor
0%
100% =(X*100/255)%
01
1C
OBD standard the vehicle conforms to
01h : OBD II (California ARB)
02h : OBD (Federal EPA)
03h : OBD and OBD II
04h : OBD I
05h : not intended to meet any requirements
06h : EOBD (Europe)
07h : EOBD and OBD II
08h : EOBD and OBD
09h : EOBD, OBD and OBD II
0Ah : JOBD
0Bh : JOBD and OBD II
0Ch : JOBD and EOBD
0Dh : JOBD, EOBD, and OBD II
0Eh-FFh : Reserved by SAE J1979
03   Report stored DTCs  
04   Clear all trouble codes, freeze frame data, oxygen sensor data, and reset status of system monitoring tests
07   Report pending DTCs  
09 01 VIN Message Count  
09 02 VIN  

* For example, if you receive 41 00 BE 3E B8 10, you would take the data bytes (BE 3E B8 10), and convert them to binary. You will get 1011 1110 0011 1110 1011 1000 0001 0000, with 1's indicating supported modes. In this example, the vehicle supports PID's 01, 03, 04, 05, 06, 07, 11, 12, ...
** Data A is the 3rd byte in the returned message (excluding the header):

 
  Data Bytes (Hex)
#1
#2
#3
#4
#5
#6
#7
Request Powertrain Diagnostic Data
01
PID





Report Powertrain Diagnostic Data
41
PID
data A
data B
data C
(opt)
data D
(opt)

 


startas NR 981

BULIU KAUTYNES JONISKYJE