ELM327
AT Command Descriptions (continued)
specific range of IDs, you may need to assign a mask
and filter.
To reverse the changes made by the CRA
command, simply send AT CRA or AT AR.
to read the actual input voltage, then use the CV
command to change the internal calibration (scaling)
factor. For example, if the ELM327 shows the voltage
as 12.2V while you measure 11.99 volts, then send
AT CV 1199 and the ELM327 will recalibrate itself for
that voltage (it will actually read 12.0V due to digit
roundoff). See page 28 for some more information on
how to read voltages and perform the calibration.
CRA hhhhhhhh [set the CAN Rx Addr to hhhhhhhh]
This command is identical to the previous one,
except that it is used with 29 bit CAN IDs. Sending
either AT CRA or AT AR will also reverse any changes
made by this command.
CV 0000
[ restore the factory Calibration Value ]
If you are experimenting with the CV dddd
command but do not have an accurate voltmeter as a
reference, you may soon get into trouble. If this
happens, you can always send AT CV 0000 to restore
the ELM327 to the original calibration value.
CS
[ show the CAN Status counts ]
The CAN protocol requires that statistics be kept
regarding the number of transmit and receive errors
detected. If there should be a significant number of
errors (due to a hardware or software problem), the
device will go off-line in order to not affect other data
on the bus. The AT CS command lets you see both
the transmitter (Tx) and the receiver (Rx) error counts,
in hexadecimal. If the transmitter should be off (count
>FF), you will see ‘OFF’ rather than a specific count.
D
[ set all to Defaults ]
This command is used to set the options to their
default (or factory) settings, as when power is first
applied. The last stored protocol will be retrieved from
memory, and will become the current setting (possibly
closing other protocols that are active). Any settings
that the user had made for custom headers, filters, or
masks will be restored to their default values, and all
timer settings will also be restored to their defaults.
CSM0 and CSM1 [ CAN Silent Monitoring off or on ]
The ELM327 was designed to be completely silent
while monitoring a CAN bus. Because of this, it is able
to report exactly what it sees, without colouring the
information in any way. Occasionally (when bench
testing, or when connecting to a dedicated CAN port),
it may be preferred that the ELM327 does not operate
silently (ie generates ACK bits, etc.), and this is what
the CSM command is for. CSM1 turns it on, CSM0
turns it off, and the default value is determined by
PP 21. Be careful when experimenting with this. If you
should choose the wrong baud rate then monitor the
CAN bus with the silent monitoring off, you will disturb
the flow of data. Always keep the silent monitoring on
until you are certain that you have chosen the correct
baud rate.
D0 and D1
[ display of DLC off or on ]
Standard CAN (ISO 15765-4) OBD requires that
all messages have 8 data bytes, so displaying the
number of data bytes (the DLC) is not normally very
useful. When experimenting with other protocols,
however, it may be useful to be able to see what the
data lengths are. The D0 and D1 commands control
the display of the DLC digit (the headers must also be
on in order to see this digit). When displayed, the
single DLC digit will appear between the ID (header)
bytes and the data bytes. The default setting is
determined by PP 29.
CV dddd
[ Calibrate the Voltage to dd.dd volts ]
DM1
[ monitor for DM1s ]
The voltage reading that the ELM327 shows for an
AT RV request can be calibrated with this command.
The argument (‘dddd’) must always be provided as 4
digits, with no decimal point (it assumes that the
decimal place is between the second and the third
digits).
The SAE J1939 Protocol broadcasts trouble codes
periodically, by way of Diagnostic Mode 1 (DM1)
messages. This command sets the ELM327 to
continually monitor for this type of message for you,
following multi-segment transport protocols as
required. Note that a combination of masks and filters
could be set to provide a similar output, but they would
To use this feature, simply use an accurate meter
ELM327DSI
Elm Electronics – Circuits for the Hobbyist
www.elmelectronics.com
15 of 82