ELM327
AT Command Descriptions (continued)
JTM5
[ J1939 Timer Multiplier to 5 ]
terminal program, but off if using a custom computer
interface (as the extra characters transmitted will only
serve to slow the communications down). The default
setting is determined by the voltage at pin 7 during
power on (or reset). If the level is high, then linefeeds
are on by default; otherwise they will be off.
When using a J1939 protocol, it is occasionally
useful to be able to set the AT ST time to values
longer than one second. The JTM5 command will
multiply the AT ST setting by a factor of 5, in order to
provide longer times for the J1939 protocols (only). By
default, this multiplier is off.
LP
[ go to the Low Power mode ]
KW
[ display the Key Words ]
This command causes the ELM327 to shut off all
but ‘essential services’ in order to reduce the power
consumption to a minimum. The ELM327 will respond
with an ‘OK’ (but no carriage return) and then, one
second later, will change the state of the PwrCtrl
output (pin 16) and will enter the low power (standby)
mode. The IC can be brought back to normal operation
through a character received at the RS232 input or a
rising edge at the IgnMon (pin 15) input, in addition to
the usual methods of resetting the IC (power off then
on, a low on pin 1, or a brownout). See the Power
Control section (page 66) for more information.
When the ISO 9141-2 and ISO 14230-4 protocols
are initialized, two special bytes (key words) are
passed to the ELM327 (the values are used internally
to determine whether a particular protocol variation
can be supported by the ELM327). If you wish to see
what the value of these bytes were, simply send the
AT KW command.
KW0 and KW1
[ Key Word checks off or on ]
The ELM327 looks for specific bytes (called key
words) to be sent to it during the ISO 9141-2 and
ISO14230-4 initiation sequences. If the bytes are not
found, the initiation is said to have failed (you might
see ‘UNABLE TO CONNECT’ or perhaps ‘BUS INIT:
...ERROR’). This might occur if you are trying to
connect to a non-OBD compliant ECU, or perhaps to
an older one.
If you wish to experiment with non-standard
systems, you may have to tell the ELM327 to perform
the initiation sequence, but ignore the contents of the
bytes that are sent and received. To do this, send:
M0 and M1
[ Memory off or on ]
The ELM327 has internal ‘non-volatile’ memory
that is capable of remembering the last protocol used,
even after the power is turned off. This can be
convenient if the IC is often used for one particular
protocol, as that will be the first one attempted when
next powered on. To enable this memory function, it is
necessary to either use an AT command to select the
M1 option, or to have chosen ‘memory on’ as the
default power on mode (by connecting pin 5 of the
ELM327 to a high logic level).
>AT KW0
When the memory function is enabled, each time
that the ELM327 finds a valid OBD protocol, that
protocol will be memorized (stored) and will become
the new default. If the memory function is not enabled,
After turning keyword checking off, the ELM327
will still require the two key word bytes in the
response, but will not look at the actual values of the
bytes. It will also send an acknowledgement to the
ECU, and will wait for the final response from it (but
will not stop and report an error if none is received).
This may allow you to make a connection in an
otherwise ‘impossible’ situation. Normal behaviour can
be returned with AT KW1, which is the default setting.
protocols found during
a
session will not be
memorized, and the ELM327 will always start at power
up using the same (last saved) protocol.
If the ELM327 is to be used in an environment
where the protocol is constantly changing, it would
likely be best to turn the memory function off, and
issue an AT SP 0 command once. The SP 0 command
tells the ELM327 to start in an 'Automatic' protocol
search mode, which is the most useful for an unknown
environment. ICs come from the factory set to this
mode. If, however, you have only one vehicle that you
regularly connect to, storing that vehicle’s protocol as
the default would make the most sense.
L0 and L1
[ Linefeeds off or on ]
This option controls the sending of linefeed
characters after each carriage return character. For
AT L1, linefeeds will be generated after every carriage
return character, and for AT L0, they will be off. Users
will generally wish to have this option on if using a
ELM327DSI
Elm Electronics – Circuits for the Hobbyist
www.elmelectronics.com
19 of 82