ELM323
AT Commands
Several parameters within the ELM323 can be
command, so the user knows that it has been
executed.
adjusted in order to modify its behaviour. These do not
normally have to be changed before attempting to talk
to the vehicle, but occasionally the user may wish to
customize the settings; for example by turning the
character echo off, adjusting a timeout value, or
changing the header bytes. In order to do this, internal
‘AT’ commands must be issued.
Those familiar with PC modems will immediately
recognize AT commands as a standard way in which
modems are internally configured. The ELM323 uses
essentially the same method, always watching the
data sent by the PC, looking for messages that begin
with the character ‘A’ followed by the character ‘T’. If
found, the next characters will be interpreted as
internal configuration or ‘AT’ commands, and will be
executed upon receipt of a terminating carriage return
character. The ELM323 will usually reply with the
characters ‘OK’ on the successful completion of a
Some of the following commands allow passing
numbers as arguments in order to set the internal
values. These will always be hexadecimal numbers
which must be provided in pairs. The hexadecimal
conversion chart in the OBD Commands section may
prove useful if you wish to interpret the values. Also,
one should be aware that for the on/off types of
commands, the second character is a number (1 or 0),
the universal terms for on and off respectively.
The following is a summary of all of the AT
commands that are recognized by the current version
of the ELM323, listed alphabetically. Users of previous
versions of this product (v1.x) should note that their
ICs will not support all of the functions shown.
AR
[ Automatically set the Receive address ]
received on the OBD connection. This command
shows the entire OBD buffer contents as a length byte
followed by 11 data bytes. Since not all of the data
bytes are likely to be relevant, be sure to check the
value contained in the length byte before interpreting
the data. The format of the data returned by this
command will follow the data mode in effect at the time
(Packed Data or Formatted Data) so you may want to
adjust that before viewing the data.
Responses from the vehicle will be acknowledged
and displayed by the ELM323, if its internally stored
receive address matches the address that the
message is being sent to. With the Auto Receive mode
in effect, the value used for the receive address will be
chosen based on the current header bytes, and will
automatically be updated whenever the header bytes
are changed.
The value that is used for the receive address is
determined based on several factors. If the IC is
connected to a KWP2000 (ISO14230) system, the
third byte of the header will always be used as the
receive address. If the IC is connected to an ISO9141
system, the receive address will depend on the
contents of the first header byte. If the first byte shows
that the message uses physical addressing, the third
byte of the header will be used for the address,
otherwise (for functional addressing) the second
header byte, increased in value by 1, will be used.
Auto Receive is turned on by default.
D
[ set all to Defaults ]
This command is used to set all of the options to
their default or ‘factory’ settings, as listed in these
pages. This lets you experiment with different settings,
but be able to quickly restore them all to the original
settings using only one command.
To summarize the changes, E will be on, H will be
off, and L will be set according to the level at pin 4.
The Auto Receive mode (AR) will be selected, data will
be transmitted in the standard formatted way (as if
chosen by FD), and both the ‘NO DATA’ timeout and
the period between bus idle (wakeup) messages will
be reset to their default values. As well, the header
bytes will be set to the prescribed values for OBDII
operation, and the receive address will be adjusted
accordingly. If the bus had been initiated, it will remain
active.
BD
[ OBD receive Buffer Dump ]
There may be times when a bus initialization is not
successful, or perhaps the OBDRx LED flickers but
nothing is sent on the RS232 connection. In these
cases, it may be an advantage to see just what was
ELM323DSC
Elm Electronics – Circuits for the Hobbyist
< http://www.elmelectronics.com/ >
5 of 19