alOBD Scanner™ Series for Android

alOBD(tm) Smog PreCheck User’s Manual.

Rev. A.1

May 2, 2011

© Copyright 2011, Alexandre Beloussov. All rights reserved.

Important: Traffic Laws (Vehicle Code) in some states prohibit the use of cell phones and/or entertainment screens that are visible to the driver while operating a motor vehicle. You must ensure that you follow all the applicable laws and regulations while operating a motor vehicle.

The author of this application, the distributor, reseller or any representative thereof is not responsible and cannot be held liable for any damages, whether direct or indirect, caused by or associated with this software product. This product is provided for reference only. Advice/Diagnostic of a professional technician is highly recommended before making repair/replacement decisions.

Hardware Pre-Requisites

The alOBD Smog PreCheck app only works with an ELM Bluetooth Adapter that connects to the vehicle’s OBDII Data Link Connector (DLC). An ELM adapter could be purchased from companies such as PLX devices as well as on E-Bay. You must have this adapter for the application to perform its functions. It will not work with adapters for any other communication protocol.

Smog PreCheck

This app aids in assessing readiness of your vehicle for a state emissions inspection (Smog Check). It is important to understand that many states and countries have many different rules for smog inspection and this app does not claim to implement them all. However, using OBDII standards, it will try to check the status of all supported on-board monitors, DTC, CEL  (MIL), as well as the status of the internal emissions equipment tests and attempt to estimate the performance of the oxygen sensors on a running engine. During the pre-check, as information being collected, it will be displayed using color-coded messages. Messages in white text are informational values of various on-board tests and sensors. Messages in green color indicate progress of the check as well as information that is considered good. Messages in red indicate problems - a failing test or a check engine light. Messages in dark orange indicate a potential problem, where even though there is no DTC or CEL, the vehicle’s computer has detected a problem in that area. Messages in yellow are to draw attention to a bit of information, but usually do not affect the outcome of the pre-check.

After collecting all the information, the app will provide one of three possible outcomes:

PASS: this result is supplied along with a percentage of confidence. It indicates that your vehicle will pass smog inspection with the probability provided. NOTE: even with a passing result, there is no guarantee that the vehicle would pass the official state inspection. Your vehicle might fail due to visual inspection or other external factors that are not “known” to the app.

FAIL: the app determined that your vehicle is not ready for state emission inspection and will fail. When this result is displayed, a reason for failure is provided. The probability of not passing state emissions check is very close to a 100% in this case.

INCONCLUSIVE: the app found one or more of the on-board diagnostic test values to be out of range (as displayed in dark orange color), but neither DTC is set nor the CEL is illuminated. This condition is inconclusive and may worsen to a “FAIL” or continue to be in this state without affecting inspection readiness status, thus may pass the inspection. A professional diagnosis is recommended.

Please remember, this app is for reference only and the authors/distributors/resellers are not responsible for direct or indirect expenses/charges/damages incurred as the result of using this application.

The “out-of-the-box” app purchase allows to pre-check up to 5 different vehicles any number of times. This is designed for a large family having many cars. As it often happens, family vehicles are traded, replaced and/or sold. The Smog PreCheck allows to “trade” up to 3 vehicles per year. If there is a need to check more vehicles, additional “slots’ may be purchased using the “In App Store”, provided by the Android Market.

Running Smog PreCheck for a vehicle.

Prior to running the alOBD Smog PreCheck, please ensure that your ELM Bluetooth adapter is plugged in to the DLC port of the car, is operational and is paired with your Android device. Ensure the Bluetooth connectivity is enabled on your device. Connect the ELM using Menu->Bluetooth->Scan and Connect. You are now ready to start Smog PreCheck.

alOBD Smog PreChek is capable of running two types of checks. First, with engine off, the app will only check data stored in the vehicle’s computer. It will seek out problems with DTCs, On-board monitors and the select Mode $06 parameters (if supported) to assess the state of the emissions system.

Second type of check is performed when the engine is running (e.g. engine RPM is greater than 0). The app will collect the requested number of samples from all of the vehicle’s oxygen sensors at two engine speeds (idle and 1500RPM). It will analyze the samples to assess immediate efficiency of the catalytic converters, thus making an educated guess about pollution content of the tailpipe emissions.

Smog PreCheck with Engine Off (KOEO)

To start the KOEO pre-check, turn the ignition key into “Ignition ON” position without starting the engine. Select the “Begin Smog PreCheck Test” button. The app will attempt to figure out your vehicle’s make and year to select the appropriate command set. If it is unable to detect car’s information, it will present a dialog asking for it. In the dialog, there will be a list of previously checked vehicles as well as text inputs for make and year of the vehicle being checked. Once the vehicle is identified and a command set is selected, the test will check for everything the app is programmed to check for that vehicle. The result will be posted as described earlier.

Smog PreCheck with Engine On (KOER)

To start KOER check, start the engine. Ensure the ELM Bluetooth adapter is still communicating with your Android device before starting the check. (NOTE: some cars turn off power to all accessories when the starter is in operation, thus removing power from the DLC port. It is recommended to start the engine first and then start alOBD Smog PreCheck app, so that it would connect while the engine is running).

Tap the “Begin Smog PreCheck Test” button. The app will initially run through the test steps exactly as described above. It will, then, check if the engine RPM is greater than 0 and if so, will enter the KOER portion of the test. It will ensure the engine operating temperature is within range, the fuel system is operating in the closed loop and engine RPM is within IDLE range. While waiting for the correct conditions, a dialog showing required vs actual values will be presented. When the conditions match the required, the app will begin to collect oxygen sensor voltage samples. At this point, the conditions are not checked, so it is recommended to attempt to hold RPM at a constant value as close as possible until the test is completed. The progress bar will indicate number of samples remaining to be collected.

Once the IDLE check is completed, the test will be repeated for 1500 RPM. When 1500RPM test completes, the results will be presented on the screen.

Oxygen sensor samples will be analyzed to assess the efficiency of the catalytic converter(s). Please note that this is a rough, high order estimate to verify that front and back sensors exhibit behaviour that is consistent with oxygen content of the exhaust gases. In no case this replaces the tail pipe emission tests with independent sensors measuring concentration of pollutants. The results of these tests are just for reference to indicate a possible problem with either oxygen sensors and/or the catalytic converter(s). A professional diagnosis is recommended to confirm and address the problem.

The result of the oxygen sensor sample analysis for each of the oxygen sensors will be displayed as one of the following:

OK - sensors are showing data that is consistent with normal operation;

FAIL for front sensors, indicates that they do not function properly and do not detect changes in oxygen content for the running engine;

FAIL for rear sensors, indicates that they detect excessive changes of oxygen content possibly pointing to a catalytic converter problem. (NOTE: excessive switches of the rear O2 sensors sometimes are the normal result of the vehicle computer testing the functionality of the rear sensors - re-run the test several times to obtain consistent results);

LAZY for front sensors, indicates that a particular sensor does not switch enough times (as a percentage of total samples taken) in response to oxygen content changes, which may point an early sign of the sensor failure.

Viewing Saved PreCheck Results

Once a pre-check runs to completion, all data observed on the screen is automatically saved to SD Card (if equipped). If a smog pre-check test is canceled using the “Stop Smog PreCheck Test” button or during live oxygen sensor performance check, the test data is discarded.

The results are saved in HTML format and can be viewed in any browser. To view results from the app, select Menu->File->View Test Results. A table of all saved results will be presented. Select a result to view by tapping on it. The app will invoke standard HTML Viewing activity (which is not part of the app itself) to view the HTML file.

Use the device’s back button to return to the app’s main screen.

File Manager

If your Android device has a file manager installed (e.g. ES File Explorer) you can manage results files. Managing capabilities is limited by the features of a particular file manager. To return to the main screen of the application, use the device’s back button.

As an example, ES File Explorer provides ability to delete, move, copy, share individual as well as multiple files.

Application Settings

Number of Oxygen Sensor Samples.

Accessible via Menu->File->Settings... command.

Number of samples collected for each of the oxygen sensors during the KOER tests, can be specified using this setting. Consideration must be exercised in selecting this value. Too small of a number will result in a faster test, however, may not represent statistically significant number resulting in a false-inconclusive check. Larger number of samples, although representing good statistical sample may take a long time. Keeping the vehicle at 1500RPM for the duration of a test with large number of samples may be challenging.

The default initial value has been empirically selected. If you have inconclusive results, change this setting and analyze results. If the same oxygen sensor keeps failing independently of the number of samples, it is a good indication of an actual failure.

Application Store

Built into the original purchase are unlimited checks for 5 distinct vehicles. The app, using Mode $09 attempts to read the VIN and the Calibration ID of the vehicle, thus creating unique identifier for it. This identifier is saved in the device’s memory. Up to 5 identifiers are available at first. Each time pre-check is re-run, the unique identifier is checked against the list of the saved ones. If no match is found and no new slots are available, the pre-check is disabled and the app opens the In-App Store. This app store is also accessible via Menu->Item Store.

The In-App Store provides information of all saved vehicle IDs as well as any available slots. Using Android Market’s in-app purchase mechanism, the store allows to purchase more slots or obtain an unlimited number of checks for unlimited number of vehicles, the “Unlimited package” In order to initiate a purchase, have your credit card ready and tap the corresponding button.

The unlimited option is provided mostly for professionals/businesses. Dealers can run rapid pre-purchase inspection; repair shops may be able to assess vehicle’s OBDII state prior to starting professional diagnosis.

Long-tap on a item in the vehicle list will bring a menu that would allow to view details of or forget a car that was tapped.

Making more slots available.

The ability to “forget” up to 3 vehicles per year is provided with the idea that a family may trade cars or purchase new ones. To forget a car, long-tap on it in the vehicle list. A confirmation dialog will appear. If you’re sure, confirm the intent to forget the car. When operation succeeds, “Available Slot” will appear in the list.

NOTE: For those who purchased the “Unlimited package”, there are no limitations of the number of cars to be removed.

Pairing ELM Bluetooth Adapter with your device

It is recommended that the pairing of the ELM Bluetooth adapter and your device to be done using the device’s main Settings menu as it provides powerful pairing and discovery features as well as a better problem reporting.

The app, however, comes with rudimentary capability to pair with a compatible Bluetooth equipment. This section describes simple steps of pairing within the alOBD Smog PreCheck app.

Prior to attempting to pair, ensure the ELM Adapter (the Adapter hereafter) is powered by the vehicle’s DLC port. In most cases a power light will indicate the “power on” status.

If your Android device’s Bluetooth connectivity is not enabled, select Menu->Bluetooth->Enable. Following the system’s security protocols, you must confirm the command to enable Bluetooth. After confirming, the app will attempt to enable the circuits. If successful, the Menu->Bluetooth->Scan and Connect menu option will be highlighted. At this point, ensure your vehicle is in KOEO state as the program will attempt to communicate with the vehicle’s computer to assess protocol type and VIN.

Select Menu->Bluetooth->Scan and Connect menu item.

When selected, a dialog will appear with the list of previously paired devices. If the Adapter is in the list, select it. NOTE: for most ELM adapters the name of the Adapter is CBT and it may appear as many instances in the list. Select the first instance of the Adapter to connect to it. For the exact name of the Adapter, please consult manufacturer’s datasheet, user manual or contact them.

If the Adapter is not in the list, select the Discover Devices button. After some time, the Adapter should appear in the list. Connect to it by selecting it from the list. As a part of security protocols, Android device will ask for a PIN code of the Bluetooth device. The pin code is specified in the Bluetooth’s device manual. Try 1234 if unsure, as it is most common pin for ELM.

The app will post a status message as to success of this operation. When connected, the app and the Adapter are ready to be used.

If any of the steps above fail, attempt to pair using the Settings->Wireless and Networks->Bluetooth Settings in the Android  operating system. Consult your Android device’s and/or the Adapter’s User’s Guide for correct pairing procedure.

Application Licencing

To prevent an unauthorized use and distribution, this app employs an on-line application licence verification provided by Android Market. In order to use this app, an Internet connection with an adequate data plan must be present. The app makes all possible efforts to minimize licence check intrusion in its operation, however in the absence of a confirmed licence ,the app will eventually stop functioning until a valid licence is confirmed. Please keep in mind that each licence check will transfer encrypted data to/from the licence server which may incur data charges depending on your data plan.


The alOBD Smog PreCheck app will never automatically transmit anywhere outside of your Android device any personally identifiable information nor any data from your vehicle, nor results of the pre-check tests.

Results of all completed pre-check tests are stored on SD Card (if equipped). As such, any file stored on SD Card is not protected.


Data Link Connector - a D-sub connector normally located on driver’s side in the foot well of the vehicle. It provides connection to the vehicle main Engine Control Computer.

Parameter Identification - Hexadecimal code identifying a parameter that the main engine control computer can provide when requested

On Board Diagnostic - Government-mandated Standard that is designed to aid in emission checks of vehicles in California. OBD is now in second generation commonly referred to as OBDII or OBD2 and is widely used around the world.

Diagnostic Trouble Code - A special error code that is set in vehicle’s computer non-volatile memory as a result of a failure of a sensor and/or component that is affecting vehicle emission compliance.


PID - Parameter Identification

DTC - Diagnostic Trouble Code

CEL - Check Engine Light

OBD - On-Bard Diagnostic, OBDII is second generation standard of the on-board diagnostics.

DLC - Data Link Connector

ECU - Engine Control Unit

MIL - Malfunction Indicator Light

PCM - Powertrain Control Module

DME - Digital Motor Electronics

KOER - Key On Engine Running

KOEO - Key On Engine Off

TTS - Text to Speech

OS - Operating System

O2 - Oxygen Sensor

© 2010,2011 Alexandre Beloussov. All rights reserved.
Site prepared by Patrik Novikov