ELM327 Commands to Scan Volvo 850 and SVC70

This page contains two lists composed of a) ELM327 commands, b) OBDII emission diagnostics commands, and c) Volvo specific keyword D3 B0 protocol (KWPD3B0) commands. The OBDII and KWPD3B0 commands are both formatted for ELM327 processing -- ie, they don't contain the ISO9141-2 header or checksum, since the ELM327 will add the header and checksum when transforming the commands into requests which the Volvo can understand.

The two lists are:

Uses AExx, B9xx, and A0:
Both lists contain the AExx, B9xx, and A0 commands, without any 00-padding, since that works for both the '96-'97 850 and the '97-'98 S70/V70/XC70, and it also works for a few ECUs on other years/models.  Also, both lists include the "ATSR 13" command to ensure immediate responses.

If you are interested in the 1996-1997 850 specific commands that do involve 00-padding for AExx00, B9xx00, and A00000, see ELM327 Commands to Scan a Volvo 850, but keep in mind that the 00-padded commands listed on that page only work for the 850.
ATTA 13 and ATRA 13 have been replaced with the single ATSR 13 command:     << NEW <<
On 2018-03-22, this page was changed to use ATSR 13 instead of ATRA 13, since ATSR 13 applies to a larger set of ELM327 chips.  At the same time, the ATTA 13 command was eliminated.

Many thanks to Adam Goldman for explaining in detail why "ATTA 13" is **not** needed, and showing how "ATSR 13" can replace the "ATTA 13" / "ATRA 13" duo !!!

[If you want to see this page's earlier version on which ATTA 13 and ATRA 13 were still used together, click earlier version 2017-05-26 page snapshot (taken 2017-07-30).]

elm327_volvo_850_svc70_scan_all.txt

The following elm327_volvo_850_svc70_scan_all.txt list contains the commands to perform a fairly complete scan of your 1996-1998 Volvo 850/S70/V70/C70/XC70.

If you copy from:
         -- Begin elm327_volvo_850_svc70_scan_all.txt.
to:
         -- End elm327_volvo_850_svc70_scan_all.txt.
then save that into a text file on your local machine, it can serve at the very minimum as a useful "cheat sheet" of commands.

Hint:
The elm327_volvo_850_svc70_scan_all.txt file -- or some version similar to it -- has already been saved for you and is provided in the latest volvo850diag.zip distribution.

You can manually issue the commands/requests to the ELM327 using STNterm, Hyperterminal, Realterm, Tera Term, ZTerm, PuTTY, ptelnet, ckermit, several different Android-based ELM327 terminal emulators, etc.  Or you could experiment with one of the terminal emulator's Send File mechanism to try and get the scan at least somewhat automated, assuming:

So far I've experimented with Realterm and have discovered several different ways to communicate with the Volvo 850/S70 via Realterm and the ELM327. The most useful are:

The following was originally useful, but is no longer recommended, due primarily to the a) STOPPED message, and b) connection problems mentioned below:

Hints:
  1. Do not  type the comments which are included in (parentheses) on the right side of the lines with ELM327 commands or data.

  2. You do not need to type the comments that begin the line with hyphens (----) unless you absolutely want to. Otherwise, they'll generate unsightly question marks in your log. Only include the comments if you need them for explanation, or if they are getting automatically sent when the PutString or "Send File" mechanism is being used.

  3. The ATSI and following ATBD and ATKW commands are optional.

  4. To make it easier on yourself, checkout volvo850diag (online docs).  That page describes, volvo850diag, in which an HTML GUI, displayed by Internet Explorer and driven by Javascript (which has a timer mechanism), is controlled by you, using the volvo850diag buttons, to make Realterm send groups of ELM327 AT commands, OBDII emission diagnostic commands, and KWPD3B0 commands in a reliably throttled, well-timed manner, so that the Volvo 850 / S70 / V70 / C70 / XC70 and ELM327 have enough time to finish responding.

    volvo850diag uses Realterm's PutString mechanism very heavily, preloads the most likely commands that might be used by Realterm's "Send ASCII" mechanism to send individual commands, is very compatible with interspersing interactive input in Realterm yet eliminates (almost all) of the need to type interactively, and still allows use of Realterm's "Send File" button [though the latter's use is not recommended].

    volvo850diag runs on a Windows (eg, WinXP/Win7/Win10) system.

    volvo850diag is free and open source. It uses a Javascript file that can be customized by Volvo owners to add, delete, or rearrange commands, even if they have no prior Javascript programming experience.

    volvo850diag should be considered if you want to avoid all the interactive typing of commands, or if you want to see examples of programming automated scans of the Volvo 850/S70/V70/C70/XC70 with various combinations of ELM327 AT, OBDII, and KWPD3B0 commands, along with the delays necessary so it all flows well.

    Click volvo850diag.zip to download the latest distribution. It gives you a thorough introduction to volvo850diag and explains how to install and configure volvo850diag, Realterm, IE, and any ELM327 drivers which might be necessary.

Or the best Hint of all:
  1. Use xiaotec "850 OBD-II" Android app to entirely avoid using either this page or volvo850diag.

    Read my evaluation of the "850 OBD-II" Android app.
    Acquire an Android phone, tablet, etc; else setup an Android emulator.
    Download xiaotec "850 OBD-II" app from Google Play.
    Perform a little setup to get your ELM327 tool talking with "850 OBD-II" app.
    Short and sweet.


-------------------------------------------------------------------------------
--
-- Begin elm327_volvo_850_svc70_scan_all.txt.
--
-- Scan (most) all Volvo 850/S70/V70/C70/XC70 COMBI, SRS, ABS, AW 50-42, 
-- Power Seats, Motronic 4.4, MSA 15.7, Immobilizer, '98 ECC, '98 VGLA, and
-- '98 Add Heater 912-D data that I know how to access via KWPD3B0
-- *and* which is presently interpreted by kwpd3b0_interpreter.html
-- (or which might be interpreted sometime in the future).
--
-- Then scan the essential Volvo 850/SVC70 OBDII emission diagnostics data.
--
-------------------------------------------------------------------------------
---- Initial one-time setup for an ELM327 to establish the ISO9141-2 protocol.
-------------------------------------------------------------------------------
---- This first section only needs to be done if it never once has been done
---- for your ELM327 device, or if the protocol has been changed from 
---- "ISO 9141-2" while working with other vehicles or while attempting to 
---- connect with an ECU which does not exist on your vehicle.
----
---- A protocol change might have been forced by you or some software which 
---- you are running, or the protocol might have been automatically switched
---- by the ELM327 device itself after either a successful or a failed 
---- connection.  
----
---- Some of you will be able to successfully substitute ATSP 3A for the 
---- ATSP 3.  That's especially the case if your vehicle contains *all* the
---- ECUs whose connection is attempted.  However, many of you must use the
---- more restrictive ATSP 3 command which tries only "ISO 9141-2" connections.
----
---- Hint: I strongly suggest using ATSP 3 the very first time you use your 
----       ELM327 device with your Volvo 850/S70/V70/C70/XC70.  That will 
----       eliminate some unpredictable variables.  Later, you can experiment
----       with trying ATSP 3A (to allow for greater flexibility when working
----       with additional vehicles).
-------------------------------------------------------------------------------
ATZ
ATL1        (if LF not inserted by the terminal emulator)
ATE1
ATI
AT@1
ATSP 3      (force "ISO 9141-2" as protocol)
ATDP
ATPPS
-------------------------------------------------------------------------------
---- Simple test to verify emission diagnostics are working somewhat
---- and to read the emission diagnostic DTCs and pending DTCs.
-------------------------------------------------------------------------------
ATZ
ATL1        (if LF not inserted by the terminal emulator)
ATE1        (if not the default; some terminal emulators require ATE0)
ATI         (optional, if you already know it)
AT@1        (optional, if you already know it)
ATSP 3      (optional, if you already know protocol is "ISO 9141-2")
ATDP        (optional, if you already know protocol is "ISO 9141-2")
ATPPS       (optional, if no ATPP changes made recently)
ATIGN       (optional, in case needed to understand PP 0E, etc)
ATSW CC     (optional -- changes Keepalive timer to ~4 seconds)
ATS1        (if not the default -- ELM327 separates hex values with a space)
0100
0101
03
07
---- Check the battery voltage.  Two ATRVs are required after powering up
---- some ELM327 clones.  First one says 28.3 V.  Second one is real voltage.
ATRV
ATRV
-------------------------------------------------------------------------------
---- ATPC init sequence for ECUs 51/58/01/6E/2E/2F/7A/11/41/29/2D/18.
----
---- Must be done at least once before beginning to talk to this ECU group
---- (but *after* the above ATZ init sequence to reestablish defaults, then
---- perform ATSP 3 and ATSW CC).
-------------------------------------------------------------------------------
ATPC
ATH1
ATAL
ATKW0
ATSR 13     (**very** important to ensure immediate responses)
-------------------------------------------------------------------------------
---- Read COMBI data (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
ATIIA 51
ATWM 82 51 13 A1
---- Slow Init ECU 51.
ATSI        (optional)
ATBD        (optional)
ATKW        (optional)
---- Read ECU 51 DTC data.
ATSH 83 51 13
AE01        (DTCs)
AE02        (DTC inactivity counters)
AE05        (seems to be a list of some previous COMBI DTCs, ordered by DTC #)
---- Read ECU 51 B9 stored data.
B9F0
B9F1        (optional, seen on some SVC70)
B901
B902        (optional, seen on some SVC70)
B903
B904
B905
B906
B907
B908
B909
B90A
B90B
B90C
B90D
B90E        (not available on some early 850)
B90F        (optional, seen on some SVC70)
B910        (optional, seen on some SVC70)
B912        (optional, seen on some SVC70)
B913        (optional, seen on some SVC70)
B914        (optional, seen on some SVC70)
B915        (optional, seen on some SVC70)
---- Read ECU 51 A5 live data.
ATSH 84 51 13
A50101
A50201
A50301
A50401
A50501
A50601
A50701
A50801
A50901
A50A01      (optional, seen on some SVC70)
A50B01      (optional, seen on some SVC70)
A50C01      (optional, seen on some SVC70)
---- Read ECU 51 AD freeze frame data (one for each DTC listed via AE01).
AD0100      (optional, use if DTC 01 is present)
AD0200      (optional, use if DTC 02 is present)
AD0300      (optional, use if DTC 03 is present)
AD0400      (optional, use if DTC 04 is present)
AD0500      (optional, use if DTC 05 is present)
AD0600      (optional, use if DTC 06 is present)
AD0700      (optional, use if DTC 07 is present)
AD0800      (optional, use if DTC 08 is present)
AD0900      (optional, use if DTC 09 is present)
AD0A00      (optional, use if DTC 0A is present)
AD0B00      (optional, use if DTC 0B is present)
AD0C00      (optional, use if DTC 0C is present)
AD0D00      (optional, use if DTC 0D is present)
AD0E00      (optional, use if DTC 0E is present)
AD0F00      (optional, use if DTC 0F is present) (probably for SVC70 only)
AD1000      (optional, use if DTC 10 is present)
AD1100      (optional, this seems to never manifest as a DTC)
ADxx00      (where xx = DTC #, ie, 01-11, 14-17, 20)
-------------------------------------------------------------------------------
---- Read SRS data (assuming ATH1 thru ATSR 13 already done for another ECU).
-------------------------------------------------------------------------------
ATPC
ATIIA 58
ATWM 82 58 13 A1
---- Slow Init ECU 58.
ATSI        (optional)
ATBD        (optional)
ATKW        (optional)
---- Read ECU 58 DTCs.
ATSH 83 58 13
AE01
---- Read ECU 58 B9 stored data.
B9F0
B9F1
---- Read ECU 58 A5 live data.
ATSH 84 58 13
A50101
A50201
A50301
A50401
A5xx01      (where xx = 00, 81-FF produce error 80, so might be allowed sometime)
---- Read ECU 58 AD freeze frame data (one for each DTC listed via AE01).
AD0200      (optional, use if DTC 02 is present)
AD0300      (optional, use if DTC 03 is present)
AD0400      (optional, use if DTC 04 is present)
AD0700      (optional, use if DTC 07 is present)
AD0B00      (optional, use if DTC 0B is present)
AD0E00      (optional, use if DTC 0E is present)
AD0F00      (optional, use if DTC 0F is present)
AD5200      (optional, use if DTC 52 is present)
ADxx00      (where xx = any DTC which is present and xx = 01-17 or 41-57)
-------------------------------------------------------------------------------
---- Read ABS data (assuming ATH1 thru ATSR 13 already done for another ECU).
-------------------------------------------------------------------------------
ATPC
ATIIA 01
ATWM 82 01 13 A1
---- Slow Init ECU 01.
ATSI        (optional)
ATBD        (optional)
ATKW        (optional)
---- Read ECU 01 DTC data.
ATSH 83 01 13
AE01
AE02
AE03
---- Read ECU 01 B9 stored data.
B9F0
B90F
B9xx        (where xx = 0D, 70, 72 produce error 80, so might be allowed sometime)
---- Read ECU 01 A5 live data.
ATSH 84 01 13
A50101
A50701
A50901
A51001
A5F001
---- Read ECU 01 AD freeze frame data (one for each DTC listed via AE01).
AD1000      (optional, use if DTC 10 is present)
AD1100      (optional, use if DTC 11 is present)
AD1300      (optional, use if DTC 13 is present)
AD2000      (optional, use if DTC 20 is present)
AD2100      (optional, use if DTC 21 is present)
AD2300      (optional, use if DTC 23 is present)
AD3000      (optional, use if DTC 30 is present)
AD3100      (optional, use if DTC 31 is present)
AD3300      (optional, use if DTC 33 is present)
AD4000      (optional, use if DTC 40 is present)
AD4100      (optional, use if DTC 41 is present)
AD4300      (optional, use if DTC 43 is present)
AD6400      (optional, use if DTC 64 is present)
AD6500      (optional, use if DTC 65 is present)
AD6600      (optional, use if DTC 66 is present)
AD6700      (optional, use if DTC 67 is present)
AD7000      (optional, use if DTC 70 is present)
AD7200      (optional, use if DTC 72 is present)
AD7500      (optional, use if DTC 75 is present)
AD8000      (optional, use if DTC 80 is present)
ADxx00      (where xx = any DTC which is present)
--------------------------------------------------------------------------------
---- Read AW 50-42 data (assuming ATH1 thru ATSR 13 already done for other ECU).
--------------------------------------------------------------------------------
ATPC
ATIIA 6E
ATWM 82 6E 13 A1
---- Slow Init ECU 6E.
ATSI        (optional)
ATBD        (optional)
ATKW        (optional)
---- Read ECU 6E DTC data.
ATSH 83 6E 13
AE01
AE02
---- Read ECU 6E B9 stored data.
B9F0
B900
B9C0
B9C1
B9C2
B9C3
---- Read ECU 6E A5 live data.
ATSH 84 6E 13
A50001
A50101      (Gear Shift Position and its Sensors)
A50201      (Brakes Status)
A50301      (Engine RPM [derived from ECM's load signal])
A50401
A50501      (ECONOMY vs. SPORT vs. WINTER)
A50601
A50701
A50801
A50901
A50A01
A50B01      (Battery Voltage)
A50C01      (ATF Temp)
A50D01
A50E01      ("Throttle position voltage" in xiaotec "850 OBD-II" app)
A50F01      ("Torque signal" in xiaotec "850 OBD-II" app)
A51001      (Transmission Input RPM [after torque converter])
A51201
A54001      (Dash "arrow" warning light status [from jonesrh analysis])
A54101      (Dash "arrow" warning light status [in xiaotec "850 OBD-II" app])
A54201
A54301
A54401
A54501
A54601
A54701
A54801      (Throttle Position %)
A57001
A57101
A57201      (N/P vs. R)
---- Read ECU 6E AD freeze frame data (one for each DTC listed via AE01).
AD0800      (optional, use if DTC 08 is present)
AD1300      (optional, use if DTC 13 is present)
AD1700      (optional, use if DTC 17 is present)
AD1800      (optional, use if DTC 18 is present)
AD1C00      (optional, use if DTC 1C is present)
AD2F00      (optional, use if DTC 2F is present)
AD3500      (optional, use if DTC 35 is present)
AD3600      (optional, use if DTC 36 is present)
AD3900      (optional, use if DTC 39 is present)
AD3F00      (optional, use if DTC 3F is present)
AD5000      (optional, use if DTC 50 is present)
ADxx00      (where xx = any DTC which is present)
-------------------------------------------------------------------------------
---- Read Power Seat Left data (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
--ATIIA 2E
ATIIA AE
ATWM 82 2E 13 A1
---- Slow Init ECU 2E.
ATSI        (optional)
ATBD        (optional)
ATKW        (optional)
---- Read ECU 2E DTC data.
ATSH 83 2E 13
AE01
AE02
---- Read ECU 2E B9 stored data.
B9F0
B9xx        (where xx = 01-03 and 14-1C, is optional; little reason to scan,
             since will never be interpreted by kwpd3b0_interpreter.html)
B9xx        (where xx = 04-13 produce error 80, so might be allowed sometime)
---- Read ECU 2E A5 live data.
ATSH 84 2E 13
A5xx01      (where xx = 01-0C, is optional; little reason to scan,
             since will never be interpreted by kwpd3b0_interpreter.html)
---- Read ECU 2E AD freeze frame data (one for each DTC listed via AE01).
ATSH 84 2E 13
ADxx00      (where xx = any DTC which is present; little reason to scan,
             since will never be interpreted by kwpd3b0_interpreter.html)
-------------------------------------------------------------------------------
---- Read Power Seat Right data (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
ATIIA 2F
ATWM 82 2F 13 A1
---- Slow Init ECU 2F.
ATSI        (optional)
ATBD        (optional)
ATKW        (optional)
---- Read ECU 2F DTC data.
ATSH 83 2F 13
AE01
AE02
---- Read ECU 2F B9 stored data.
B9F0
B9xx        (where xx = 01-03 and 14-1C, is optional; little reason to scan,
             since will never be interpreted by kwpd3b0_interpreter.html)
B9xx        (where xx = 04-13 produce error 80, so might be allowed sometime)
---- Read ECU 2F A5 live data.
ATSH 84 2F 13
A5xx01      (where xx = 01-0C, is optional; little reason to scan,
             since will never be interpreted by kwpd3b0_interpreter.html)
---- Read ECU 2F AD freeze frame data (one for each DTC listed via AE01).
ATSH 84 2F 13
ADxx00      (where xx = any DTC which is present; little reason to scan,
             since will never be interpreted by kwpd3b0_interpreter.html)
-------------------------------------------------------------------------------
---- Read Motronic 4.4 (KWPD3B0) data (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
ATIIA 7A
ATWM 82 7A 13 A1
---- Slow Init ECU 7A.
ATSI        (optional)
ATBD        (optional)
ATKW        (optional)
---- Read ECU 7A DTCs.
ATSH 83 7A 13
AE01
---- Read ECU 7A B9 stored data.
B9F0
B901
B902
B903
B904
B905
B906
---- Read ECU 7A AD freeze frame data (one for each DTC listed via AE01).
ATSH 84 7A 13
AD0C00      (optional, use if DTC 0C is present; EFI-153 -- HO2S sensor signal, rear [P0136 (faulty), P0137 (low), or P0138 (high)])
AD0E00      (optional, use if DTC 0E is present; EFI-522 -- Rear HO2S, preheating malfunction [P0141])
AD0F00      (optional, use if DTC 0F is present; EFI-435 -- Front HO2S slow response [P0133])
AD1000      (optional, use if DTC 10 is present; EFI-436 -- Rear HO2S compensation [P0133])
AD1A00      (optional, use if DTC 1A is present; EFI-231 -- Long term fuel trim, part load [P0171 or P0172])
AD1B00      (optional, use if DTC 1B is present; EFI-232 -- Long term fuel trim, idling [P0172 or P0171])
AD1D00      (optional, use if DTC 1D is present; EFI-666 -- DTC in transmission CM)
AD3E00      (optional, use if DTC 3E is present; EFI-543 -- Misfire exhaust value of at least one cylinder [P1310])
AD5E00      (optional, use if DTC 5E is present; EFI-611 -- Fuel Tank system, large leakage [P0455])
AD6100      (optional, use if DTC 61 is present; EFI-612 -- Fuel Tank system, small leakage [P0442])
AD7300      (optional, use if DTC 73 is present; EFI-121 -- Mass Air Flow (MAF) sensor signal [P0102, P0103])
AD7B00      (optional, use if DTC 7B is present; EFI-123 -- Engine Coolant Temperature (ECT) sensor [P0116 (faulty), P0117 (low), or P0118 (high)])
AD7C00      (optional, use if DTC 7C is present; EFI-251 -- Ambient Temperature sensor signal [P0111 (sporadic), P0112 (low), or P0113 (high)])
ADFD00      (optional, use if DTC FD is present; EFI-514 -- Engine coolant fan, low speed)
ADxx00      (where xx = any DTC which is present)
---- Read ECU 7A A5 live data.
ATSH 84 7A 13
A50101      (Engine RPM)
A50201      (ECT, ie, Engine Coolant Temp)
A50301      (Battery Voltage)
A50401      (Throttle Position)
A50501      (Vehicle Speed)
A50701
A50801
A50901      (Ignition Timing Advance)
A50A01      (M44 A50A Status)
              (slot 1 = CEL, CEL request by TCM, Warmup Cycle, Trip Cycle, Driving Cycle)
              (slot 2 = Fuel Pump Relay, Engine on/off, Active Fault, Fuel Cut-off, Throttle Position)
A50B01      (M44 A50B Status)
              (slot 1 = EVAP Canister Shut-off Valve, SAS Pump, Engine Cooling Fan)
              (slot 2 = Turbo/non-Turbo, Gear (P-N vs. others), TCM Requested Ignition Retard)
A50C01      (Intake Air Temp and Ambient Air Temp)
              (slot 1 = Ambient Air to M44 (instantaneous) = purported Intake Air Temp)
              (slot 2 = Ambient Air to M44 (damped, or default) 
                        [Ambient Air to M44 (damped) is oftentimes closer to actual
                        Ambient than Ambient Air to COMBI displayed in Dash])
A50D01      (Atmospheric Pressure)
A51001      (MAF, ie, Mass Air Flow)
A51201      (Internal Load Signal)
A51401      (Front O2 Sensor Output Voltage)
A51501
A51601      (Rear O2 Sensor Output Voltage)
A51701
A51801      (Short Term Fuel Trim)
A51901
A51A01      (Long Term Fuel Trim, Partial Load)
A51C01
A53801
A54001
A54101
A55001
A56001      (M44 ECM Temp)
A56801
A58101
A58201
A58301      (M44 A583 live combo: Engine RPM, Internal Load Signal, Battery Voltage, Vehicle Speed, Coolant Temp, M44 Ambient Temp, Atmospheric Pressure, several not-yet-fully-understood Temps, etc)
A58401
A58501
A58601
A58701
A58801
A58901
A58A01
A5xx01      (for more M44 live data details, search volvo850diag.zip's .js file for: "159506", "M44-scaling", and "rkam")
---- Read ECU 7A A7 data.
ATSH 87 7A 13
A700 F8DF 0101   (A/C approved)
A700 0020 0101   (A/C compressor status)
A700 002D 0101   (A/C relay status)
A700 FB4D 0101   (Flywheel adaption)
A700 FABD 0101   (Fuel trim status)
A700 FAA1 0101   (Ignition retard by knock)
A700 006E 0102   (Injection time)
A700 FAD9 0101   (SAS valve)
A700 FFC4 0101   (Turbo duty cycle)
A700 FA9F 0101
A700 FA84 0101
A700 F871 0101
A700 FB4C 0101
A700 FCE4 0101
-------------------------------------------------------------------------------
---- Read MSA 15.7 (KWPD3B0) data (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
--ATIIA 11
ATIIA 91
ATWM 82 11 13 A1
---- Slow Init ECU 11.
ATSI        (optional)
ATBD        (optional)
ATKW        (optional)
---- Read ECU 11 DTC data.
ATSH 83 11 13
AE01
AE02
---- Read ECU 11 B9 stored data.
B9F0
B9F2
B9F1
B9F3
B901
B903
B904
B905
B906
B907
B908
B909
B90A
B90B
B90C
---- Read ECU 11 A5 live data.
ATSH 84 11 13
A50101
A50201
A50301
A50401
A50501
A50601
A50701
A50801
A50901
A5xx01      (for MSA 15.7 live data details, search volvo850diag.zip's .js file for: "MSA 15.7")
---- Read ECU 11 AD freeze frame data (one for each DTC listed via AE01).
ATSH 84 11 13
AD2000      (optional, use if DTC 20 is present; EFI-714 -- Fuel Shut-off Valve signal)
AD2B00      (optional, use if DTC 2B is present; EFI-715 -- Fuel Regulation)
AD2E00      (optional, use if DTC 2E is present; EFI-716 -- Fuel Quantity Actuator signal)
AD3400      (optional, use if DTC 34 is present; EFI-717 -- Fuel Quantity Regulator Position sensor signal)
AD3600      (optional, use if DTC 36 is present; EFI-732 -- Accelerator pedal position sensor signal)
ADxx00      (where xx = any DTC which is present)
-------------------------------------------------------------------------------
---- Read Immobilizer 2/3 data (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
--ATIIA 41
ATIIA C1
ATWM 82 41 13 A1
---- Slow Init ECU 41.
ATSI        (optional)
ATBD        (optional)
ATKW        (optional)
---- Read ECU 41 DTC data.
ATSH 83 41 13
AE01
AE02
---- Read ECU 41 B9 stored data.
B9F0
B9xx        (unknown what other B9xx values are available)
---- Read ECU 41 A5 live data.
ATSH 84 41 13
A5xx01      (unknown what A5xx values are available)
---- Read ECU 41 AD freeze frame data (one for each DTC listed via AE01).
ATSH 84 41 13
ADxx00      (where xx = any DTC which is present)
-------------------------------------------------------------------------------
---- Read '98 S70/V70/XC70 ECC data (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
ATIIA 29
ATWM 82 29 13 A1
---- Slow Init ECU 29.
ATSI        (optional)
ATBD        (optional)
ATKW        (optional)
---- Read ECU 29 DTC data.
ATSH 83 29 13
AE01
AE02
AE04
AE06
---- Read ECU 29 B9 stored data.
B9F0
B9F1
B9F2        (longest KWPD3B0 response ever seen; uses a 4-byte header)
B901
B902
B903
B904
B905
B906
B907
B908
B909
B90A
B90B
B90C
B90D
B90E
B911
B912
B913
B9E0
B9E1
B9xx        (unknown how to interpret most of that ECC B9xx stored data)
---- Read ECU 29 A5 live data.
ATSH 84 29 13
A50101
A50201
A50301
A50501
A50701
A50801
A50901
A50A01
A50C01
A50D01
A50F01
A51201
A51301
A51401
A51501
A51601
A51701
A51801
A51901
A52101
A52201
A52301
A52401
A52601
A52701
A52801
A54001
A54201
A55001
A55201
A55301
A55501
A55601
A55701
A55801
A55901
A55A01
A55B01
A55C01
A55D01
A55E01
A56001
A56101
A56201
A56301
A56401
A56501
A56601
A56701
A56801
A56901
A56A01
A56B01
A56C01
A56D01
A56E01
A57201
A57301
A57401
A57501
A57601
A57701
A57801
A57901
A57C01
A57D01
A57E01
A57F01
A58401
A58501
A58601
A58701
A58801
A58901
A58B01
A58C01
A58D01
A59001
A59101
A59201
A59301
A59401
A59501
A59601
A59701
A59801
A59901
A59A01
A59B01
A59C01
A59D01
A59F01
A5A001
A5A101
A5A201
A5A301
A5A401
A5A901
A5AA01
A5AB01
A5AC01
A5AD01
A5AE01
A5AF01
A5B001
A5B101
A5B201
A5B301
A5B401
A5B701
A5B801
A5B901
A5BA01
A5BB01
A5BC01
A5BF01
A5C001
A5C301
A5C501
A5C701
A5C901
A5E801
A5E901      (2nd longest KWPD3B0 response ever seen; uses a 4-byte header)
A5xx01      (unknown how to interpret any of that ECC live data)
---- Read ECU 29 AD freeze frame data (one for each DTC listed via AE01).
ATSH 84 29 13
AD3700
ADxx00      (where xx = any DTC which is present)
-------------------------------------------------------------------------------
---- Read '98 S70/V70/XC70 VGLA data (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
--ATIIA 2D
ATIIA AD
ATWM 82 2D 13 A1
---- Slow Init ECU 2D.
ATSI        (optional)
ATBD        (optional)
ATKW        (optional)
---- Read ECU 2D DTC data.
ATSH 83 2D 13
AE01
AE02
AE05
---- Read ECU 2D B9 stored data.
B9F0
B9F1
B9F2
B924
B925
B926
B928
B929
B92A
B92B
B9xx        (unknown how to interpret most of that VGLA B9xx stored data)
---- Read ECU 2D A5 live data.
ATSH 84 2D 13
A57001
A57101
A57201
A57601
A5xx01      (unknown how to interpret any of that VGLA live data)
---- Read ECU 2D AD freeze frame data (one for each DTC listed via AE01).
ATSH 84 2D 13
ADxx00      (where xx = any DTC which is present)
-------------------------------------------------------------------------------
---- Read '98 S70/V70/XC70 Add Heater 912-D data (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
--ATIIA 18
ATIIA 98
ATWM 82 18 13 A1
---- Slow Init ECU 18.
ATSI        (optional)
ATBD        (optional)
ATKW        (optional)
---- Read ECU 18 DTC data.
ATSH 83 18 13
AE01
AE02
---- Read ECU 18 B9 stored data.
B9F0
B9xx        (unknown what other B9xx values are available)
---- Read ECU 18 A5 live data.
ATSH 84 18 13
A5xx01      (unknown what A5xx values are available)
---- Read ECU 18 AD freeze frame data (one for each DTC listed via AE01).
ATSH 84 18 13
ADxx00      (where xx = any DTC which is present)
-------------------------------------------------------------------------------
---- Read all 850/SVC70 OBDII emission diagnostic data (that I know of).
-------------------------------------------------------------------------------
ATZ
ATL1        (if LF not inserted by the terminal emulator)
ATE1        (if not the default; some terminal emulators require ATE0)
ATI         (optional)
AT@1        (optional)
ATSP 3      (optional, if you already know protocol is "ISO 9141-2")
ATDP        (optional, if you already know protocol is "ISO 9141-2")
ATH1        (alternatively, can use ATH0, like EasyObdII requires)
----
---- For details of OBDII emission diagnostic data, conversion formats, etc,
---- see question "How do I interpret all my Volvo 850's emission diagnostics
---- values obtained via manually issued commands to the ELM327?" in
---- https://jonesrh.info/volvo850/volvo_850_obdii_faq.rtf.
----
0100
0101
03
07
ATKW
0103
0104
0105
0106
0107
010C
010D
010E
010F        (have seen on Motronic 4.4 on '96-'97 850 and '98 S70/V70/XC70)
0110
0111
0112        (if your vehicle has a Secondary Air system)
0113
0114
0115        (have seen on Motronic 4.4 on '96-'97 850 and '98 S70/V70/XC70)
011C        (have seen on Motronic 4.4 on '96-'97 850 and '98 S70/V70/XC70)
011D        (have seen on Motronic 4.4 on '96-'97 850 and '98 S70/V70/XC70)
011E        (have seen on Motronic 4.4 on '96-'97 850 and '98 S70/V70/XC70)
0120        (have seen on Motronic 4.4 on '96-'97 850 and '98 S70/V70/XC70)
0140        (optional check just to be sure no more PIDs)
020200
020000
020300
020400
020500
020600
020700
020C00
020D00
----
---- These show NO DATA on every Volvo 850/SVC70 that I've seen scan them.
---- You can safely bypass these and jump to the "Final checks".
----
0108        (fails with NO DATA)
0109        (fails with NO DATA)
010A        (fails with NO DATA)
010B        (fails with NO DATA)
0116        (fails with NO DATA)
0117        (fails with NO DATA)
0118        (fails with NO DATA)
0119        (fails with NO DATA)
011A        (fails with NO DATA)
011B        (fails with NO DATA)
011F        (fails with NO DATA)
0900        (fails with NO DATA)
0902        (fails with NO DATA)
----
---- These have only been seen on a USA 1995 850 NA w/ M43.
---- * See https://www.matthewsvolvosite.com/forums/viewtopic.php?f=1&t=85982&start=90#p482412 for details.
----
0160        (PIDs used in 61-80 range)
0168        (Intake air temperature sensor)
016E        (Injection pressure control system)
016F        (Turbocharger compressor inlet pressure)
0170        (Boost pressure control)
0171        (Variable Geometry turbo (VGT) control)
0172        (Wastegate control)
0173        (Exhaust pressure)
0176        (Turbocharger temperature)
0178        (Exhaust Gas temperature (EGT) Bank 1)
0180        (PIDs used in 81-A0 range)
-------------------------------------------------------------------------------
-- Final checks for any important changes.
-------------------------------------------------------------------------------
ATZ
ATL1
0100
0101
03
07
ATPC
ATH1
ATAL
ATKW0
ATSR 13
ATIIA 51
ATWM 82 51 13 A1
ATSH 84 51 13
A50701
ATPC
ATRV
-------------------------------------------------------------------------------
--
-- End elm327_volvo_850_svc70_scan_all.txt.
--
-------------------------------------------------------------------------------

elm327_volvo_850_svc70_scan_combi_and_all_dtcs.txt

The following elm327_volvo_850_svc70_scan_combi_and_all_dtcs.txt list is essentially a "quick summary scan" of a 1996-1998 Volvo 850/S70/V70/C70/XC70.  It's focus is: a) the most essential COMBI data, and b) all the DTCs of all the known ECUs.  This is the one to use when you want to save some time -- when you just want to know if there's any DTCs and also want to check some of the COMBI data.

If you copy from:
         -- Begin elm327_volvo_850_svc70_scan_combi_and_all_dtcs.txt.
to:
         -- End elm327_volvo_850_svc70_scan_combi_and_all_dtcs.txt.
then save that into a text file on your local machine, it can serve as your "quick summary scan cheat sheet".

Hint:
The elm327_volvo_850_svc70_scan_combi_and_all_dtcs.txt file -- or some version similar to it -- has already been saved for you and is provided in the latest volvo850diag.zip distribution.

You can manually issue the commands/requests to the ELM327 using a terminal emulator.  Or you could experiment with the terminal emulator's Send File mechanism to try and get the summary scan somewhat automated.

Hints:
  1. Do not  type the comments which are included in (parentheses) on the right side of the lines with ELM327 commands or data.

  2. You do not need to type the comments that begin the line with hyphens (----) unless you absolutely want to.

  3. The commands have been drastically minimized in this "quick scan" in expectation that you proceed strictly sequentially thru this file, and might very well be doing so by interactively typing the commands.  All ATSI, ATBD, and ATKW commands have been removed.

  4. As mentioned previously in a "...make it easier on yourself, checkout volvo850diag..." hint, download the latest volvo850diag.zip.  It'll save you lots of time if you're able to use it with Internet Explorer on a machine running Microsoft Windows.

  5. On an Android device, the easiest way to accomplish the essentials of the following scan is to just download xiaotec "850 OBD-II" app from Google Play, then use its "Scan" function, and review its resultant Summary page.

-------------------------------------------------------------------------------
--
-- Begin elm327_volvo_850_svc70_scan_combi_and_all_dtcs.txt.
--
-- Scan all OBDII emission diagnostic DTCs and pending DTCs.
-- Scan most essential Volvo 850 COMBI B9 (stored) and A5 (live) data.
-- Scan all DTCs for all ECUs (whose physical address is known) and 
--   which use the special Volvo keyword D3 B0 protocol: 
--   COMBI, SRS, ABS, AW 50-42, Power Seats, Motronic 4.4, MSA 15.7,
--   Immobilizer, '98 ECC, '98 VGLA, '98 Add Heater 912-D.
--
-------------------------------------------------------------------------------
---- Initial one-time setup for an ELM327 to establish the ISO9141-2 protocol.
-------------------------------------------------------------------------------
---- This first section only needs to be done if it never once has been done
---- for your ELM327 device, or if the protocol has been changed from 
---- "ISO 9141-2" while working with other vehicles or while attempting to 
---- connect with an ECU which does not exist on your vehicle.
----
---- A protocol change might have been forced by you or some software which 
---- you are running, or the protocol might have been automatically switched
---- by the ELM327 device itself after either a successful or a failed 
---- connection.  
----
---- Some of you will be able to successfully substitute ATSP 3A for the 
---- ATSP 3.  That's especially the case if your vehicle contains *all* the
---- ECUs whose connection is attempted.  However, many of you must use the
---- more restrictive ATSP 3 command which tries only "ISO 9141-2" connections.
----
---- Hint: I strongly suggest using ATSP 3 the very first time you use your 
----       ELM327 device with your Volvo 850/S70/V70/C70/XC70.  That will 
----       eliminate some unpredictable variables.  Later, you can experiment
----       with trying ATSP 3A (to allow for greater flexibility when working
----       with additional vehicles).
-------------------------------------------------------------------------------
ATZ
ATL1        (if LF not inserted by the terminal emulator)
ATE1
ATI
AT@1
ATSP 3      (force "ISO 9141-2" as protocol)
ATDP
ATPPS
-------------------------------------------------------------------------------
---- Simple test to verify emission diagnostics are working somewhat
---- and to read the emission diagnostic DTCs and pending DTCs.
-------------------------------------------------------------------------------
ATZ
ATL1        (if LF not inserted by the terminal emulator)
ATE1        (if not the default)
ATI         (optional, if you already know it)
AT@1        (optional, if you already know it)
ATSP 3      (optional, if you already know protocol is "ISO 9141-2")
ATDP        (optional, if you already know protocol is "ISO 9141-2")
ATPPS       (optional, if no ATPP changes made recently)
ATSW CC     (optional -- changes Keepalive timer to ~4 seconds)
ATS1        (if not the default -- ELM327 separates hex values with a space)
0100
0101
03
07
---- Check the battery voltage.  Two ATRVs are required after powering up
---- some ELM327 clones.  First one says 28.3 V.  Second one is real voltage.
ATRV
ATRV
-------------------------------------------------------------------------------
---- ATPC init sequence for ECUs 51/58/01/6E/2E/2F/7A/11/41/29/2D/18.
----
---- Must be done at least once before beginning to talk to this ECU group
---- (but *after* the above ATZ init sequence to reestablish defaults, then
---- perform ATSP 3 and ATSW CC).
-------------------------------------------------------------------------------
ATPC
ATH1
ATAL
ATKW0
ATSR 13     (**very** important to ensure immediate responses)
-------------------------------------------------------------------------------
---- Read most essential COMBI data (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
ATIIA 51
ATWM 82 51 13 A1
---- Read ECU 51 DTCs.
ATSH 83 51 13
AE01
---- Read most essential ECU 51 B9 stored data.
B9F0
B901
B903
B904
B905
B906
B907
B908
B909
B90A
B90B
B90C
B90D
B90E        (not available on some early 850)
---- Read most essential ECU 51 A5 live data.
ATSH 84 51 13
A50701
A50901
-------------------------------------------------------------------------------
---- Read SRS DTCs (assuming ATH1 thru ATSR 13 already done for another ECU).
-------------------------------------------------------------------------------
ATPC
ATIIA 58
ATWM 82 58 13 A1
ATSH 83 58 13
AE01
-------------------------------------------------------------------------------
---- Read ABS DTCs (assuming ATH1 thru ATSR 13 already done for another ECU).
-------------------------------------------------------------------------------
ATPC
ATIIA 01
ATWM 82 01 13 A1
ATSH 83 01 13
AE01
AE03
-------------------------------------------------------------------------------
---- Read AW 50-42 DTCs (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
ATIIA 6E
ATWM 82 6E 13 A1
ATSH 83 6E 13
AE01
-------------------------------------------------------------------------------
---- Read Power Seat Left DTCs (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
--ATIIA 2E
ATIIA AE
ATWM 82 2E 13 A1
ATSH 83 2E 13
AE01
-------------------------------------------------------------------------------
---- Read Power Seat Right DTCs (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
ATIIA 2F
ATWM 82 2F 13 A1
ATSH 83 2F 13
AE01
-------------------------------------------------------------------------------
---- Read Motronic 4.4 (KWPD3B0) DTCs (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
ATIIA 7A
ATWM 82 7A 13 A1
ATSH 83 7A 13
AE01
-------------------------------------------------------------------------------
---- Read MSA 15.7 (KWPD3B0) DTCs (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
--ATIIA 11
ATIIA 91
ATWM 82 11 13 A1
ATSH 83 11 13
AE01
-------------------------------------------------------------------------------
---- Read Immobilizer 2/3 DTCs (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
--ATIIA 41
ATIIA C1
ATWM 82 41 13 A1
ATSH 83 41 13
AE01
-------------------------------------------------------------------------------
---- Read '98 S70/V70/XC70 ECC DTCs (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
ATIIA 29
ATWM 82 29 13 A1
ATSH 83 29 13
AE01
-------------------------------------------------------------------------------
---- Read '98 S70/V70/XC70 VGLA DTCs (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
--ATIIA 2D
ATIIA AD
ATWM 82 2D 13 A1
ATSH 83 2D 13
AE01
-------------------------------------------------------------------------------
---- Read '98 S70/V70/XC70 Add Heater 912-D DTCs (assuming ATH1 thru ATSR 13 already done).
-------------------------------------------------------------------------------
ATPC
--ATIIA 18
ATIIA 98
ATWM 82 18 13 A1
ATSH 83 18 13
AE01
-------------------------------------------------------------------------------
-- Final checks.
-------------------------------------------------------------------------------
ATPC
ATRV
-------------------------------------------------------------------------------
--
-- End elm327_volvo_850_svc70_scan_combi_and_all_dtcs.txt.
--
-------------------------------------------------------------------------------

The "quick summary scan" is ~51-109 commands, depending on # of ECUs scanned, etc.

"full blown" scan           "quick summary" scan          

This page was forked in 2014 by Richard H. Jones from the original "1996-1997 850-specific" elm327_volvo_850_scan.html.  This forked page, generalized to also handle the 1998 S70/V70/C70/XC70, was released into the public domain on 2014-03-24 using the Creative Commons CC0 1.0 Universal (CC0 1.0) Public Domain Dedication.

Page's last update was on 2021-06-08.