Nov 06, 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.
The alOBD MPG 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 eBay. You must have this adapter for the application to perform its functions. It will not work with adapters for any other communication protocol.
An important information to note that alOBD MPG App uses vehicle’s MAF sensor to estimate the fuel consumption. If your vehicle does not support MAF sensor PID, the app will not work.
In today’s busy life just about everyone gets in the car in the morning and drives to their daily routine destinations - drop off/pick up kids, soccer practice, work, movies. We make these trips faithfully almost every day, sometimes in small economical vehicles, sometimes in big SUVs. It always so happens that there is more than one route that could be taken to arrive at a destination. The routes differ in their distance, number of traffic lights, number of cars on the roads, elevation changes and turns. Some routes may be more economical from the stand point of fuel consumption, some are faster. Which one to take? How long exactly does it take to get there? How much fuel will be burnt getting there? Which car to take?
alOBD MPG app is designed to answer all of the above questions. In addition to displaying instant MPG, GPH and fuel consumed, it keeps track of average numbers for trip, session (like shopping session) and lifetime for each vehicle you own. In addition, it uses GPS and tracks fuel consumption per route, identifying trips and places. It records all that information in an internal database, so it can be analyzed to figure out which route to take to get there faster, and to burn less fuel.
Understandably, it is a hassle to start the app, to connect to the vehicle and tell it to record information each time when getting in the car. To remove the hassle, the app is designed to automatically capture data without having to take the phone out of your pocket/purse. With properly set options, the app will wake up, and attempt to connect to known ELM Bluetooth adapters. If connected, it would automatically start averaging MPG, GPH. When you exit the car and the app can no longer communicate with the vehicle, it will recognize the route (if one has already been saved), attribute it to a trip and save the average figures for collected information, associating it with a car.
The app also provides full access to all saved data with ability to “data-mine” it. It provides filters, cross-references, sorting, mapping and all the tools necessary to analyze saved data to be able select the appropriate route.
When app starts, the main (or real-time screen) starts up while connection is being established with the Bluetooth adapter and the vehicle. Once connected, a background task is started and immediately starts collecting data and displaying it on the screen. The data collection continues until connection is interrupted or an activity is stopped and “check in background” option is not checked. If the option is checked, the app will continue to attempt to connect to the last connected Bluetooth address every 30 seconds. Note that background mode may cause the battery to run out faster.
The main screen of the app in its portrait orientation is depicted below. It provides real-time information of fuel consumption as a function of time and speed; it displays Long Term Fuel Trim and MAF instant measurements. It shows time elapsed since the screen was started, and intake air temperature of the vehicle. Several selectors allow display of various units (SI vs SAE), averages like Tank, Trip, Lifetime, and Session. In addition, using control buttons, a trip could be started and stopped. When a trip is started, the name/address of the departure point is shown and the trip distance display becomes active. The vehicle (if recognized from the OBD2 information) is shown in the title bar of the app.
When successfully connected, the app asks for VIN and Calibration ID of the vehicle. It combines the two to create a unique identifier for the vehicle to be able to attribute data to it. It saves the vehicle into the database assigning it an identification number (displayed in parenthesis). Below the title, on the main screen, there is a time elapsed on this trip (or activity session of the trip has not been started). To the right, the instant vehicle intake air temperature is displayed. Keep in mind, that vehicle’s intake temperate may differ from atmospheric temperature depending on the conditions when it is measured and the configuration of the intake.
At cruising speeds with partially opened throttle, the displayed temperature would maximally approach the ambient air temperature.
The round gauges provide information about the instant consumption as a unit of time (left most gauge), as a unit of speed (center, large gauge), and vehicle parameters (right, combined gauge) such as Long Term Fuel Trip (upper portion) and Mass Air Flow sensor reading (lower portion of the gauge).
Below the gauges, there are indicators on the left side that provide ability to switch between different units and various sets of averages displayed in the center of the screen.
Tapping on the SAE indicator toggles between American (SAE) and European (Systeme Internationale) units of measurement. In SAE consumption is displayed in miles per gallon (MPG), gallons per hour (GPH), and gallons. In SI, the units are litters for 100 km (L/Km), liters per hour LPH, and Liters correspondingly.
Below the SAE/SI toggle, there are indicators of which set of averages is being displayed. Tapping on any of the indicators switches to that display. Long-clicking any of the indicators will reset the currently displayed average to all zeros (to start over). These various indicators are useful for tracking MPG for certain conditions - long trip, shopping session, the life of the car, consumption before and after repair or a change. These averages make sense only when the app is configured to collect data in background.
The large LCD numbers in the center display average data for consumption - per unit of speed, per unit of time and total fuel consumed for the current collection period. The displays are provided in the currently selected units as displayed on the right side of the screen.
NOTE: even though the SI unit display for consumption reads L/km, the actual number is displayed in L per 100 km which is a commonly accepted unit of measurements.
When the Start Trip button is tapped, the app will determine current location. If this location is in the database (has previously been part of a trip), it will display it’s assigned name (e.g. Home, Work), otherwise it will attempt to determine an address and display it as a departure point. A trip distance indicator will be activated and start displaying distance traveled so far in the trip. NOTE: the distance is measured as a sum of distances between individual GPS locations and will differ (be less) from the actual distance. When trip is started, the button turns into Cancel Trip, giving the opportunity to stop recording the route data. When Stop Trip button is activated, the arrival point will be determined, the route and trip will be determined and route data (average consumption, time traveled, distance traveled, date and time) will be saved in the internal database. The summary information will be displayed between the start and the stop buttons.
Status bar provides status information as the app is running. Most useful is the connection information and the time it took to collect data samples from the vehicle.
The App calculates MPG based on the MAF reading and an estimation of the commanded stochiometric ratio as determined by the long term fuel trim PID. In order for this method to be accurate, the vehicle has to perform very close to its optimal. As vehicle ages, the engine’s operation deviates from nominal. In order to compensate for such condition, the user-specified correction factor can be specified for each vehicle. It is accessible from Menu->Cars list. Selecting Edit... from a context menu will allow specifying the custom correction factor value.
Determining the correction factor value.
The actual consumption (MPG Actual) can be calculated by taking the amount of miles traveled (as read from vehicle’s odometer) and dividing it by the number of gallons in the tank as observed at the pump. The correction factor can be calculated by dividing the MPG shown by the app by the MPG Actual. This number is entered as a correction factor for that vehicle.
As soon as the app connects to a vehicle, and is able to uniquely identify the car, a Car Stats (statistics) entry is created. The app begins to collect average data for the vehicle. The data can be accessed by tapping the appropriate caption on the main screen or from Menu->Data->Car Stats...
If the automatic trip recording option is checked, a trip will be started as soon as the connection is established, and a place is recorded if not already in the list. During the drive, GPS points will be recorded and attributed to this route and trip. The collected information for the trip, route and route data will be saved to a persistent storage (database) when either a “Stop Trip” button is tapped or a connection with the Bluetooth is interrupted. If the option for automatic recording is not selected, taping on the Start Trip button will begin recording the trip and route, taping Stop Button will attempt to detect if the route just taken has been recorded before. If this route is “familiar”, only average fuel consumption figures will be recorded in a newly created Route Data item. Otherwise, a new route will be created, the collected GPS points that define this route will be saved along with the corresponding new Route Data item.
The app allows to collect various fuel consumption data based on trip, route, per vehicle per driver. GPS coordinates are used to sort data per trip and route. Vehicle’s VIN and Calibration ID are used to attach geographical user consumption data to a particular vehicle. The user can assign a default driver for each vehicle as well as edit the driver for a particular route data. The main reason for such granularity is to determine the best route for a particular trip, and best vehicle to take it in. For example, one could take multiple routes to go to work, by collecting and analyzing the GPS-stamped fuel consumption data, this app will allow the most economical or the fastest route to work based on average data - average fuel consumed and/or average travel time.
App can collect data automatically if settings are set in such a way or manually, where a user chooses to save or discard the data. However, the average statistics for each car are collected and saved always as soon as the app determines that it has connected to a unique vehicle.
The main purpose of this app is to figure out the most economical route for trips you take daily - to work, to school, to store, etc. Provided enough data is collected, to figure out the statistically best route select Menu->Data->Trips...
A list of all trips collected by the application will be shown. Select a trip (for instance “To Work”), long-click on it and select Show On Map... A list of choices will be presented. For most economical route (combines the best MPG, GPH and the least fuel burnt) select Best Overall Route. The map depicting the route will be displayed.
All that data the app collects is accessible via Menu->Data menu. The following provides details for each type of data, this menu provides access to.
Long-clicking on any list entry brings up context menu, allowing deletion, editing, viewing details, and viewing the entry information on Google map. For instance, selecting Details... for Cars data table will allow viewing trips, routes, route data, drivers and statistics for the vehicle. Selecting Edit... will allow editing any of the information for the selected vehicle.
This menu item contains the following selections:
This menu provides access to view, edit, remove all the saved data. The following selections are available:
To activate list context menu - long-click on an item in the list.
For relevant data, app uses Google Maps to display geographical locations.
The selections in this menu provide capability of resetting average statistics for the currently connected vehicle.
WARNING: When checked, an elevated Android device battery consumption may be observed.
When checked, the app will create a background service which will attempt to connect to the last Bluetooth adapter every 30sec. If connected it will begin collecting all statistics (Tank, Trip 1, 2, Session 1,2 and Lifetime 1,2) for that vehicle, stopping when connection is broken (driver left the vehicle).
When checked, the app will automatically start recording a trip when a connection with vehicle is established. The trip will be automatically stopped and recorded when connection is broken. This is useful for automated data collection. If “Check for Connection in Background” is checked, all you have to do is to drive the vehicle each day. The app will automatically connect, collect data for the trip and the route and save it for further analysis.
If this box is checked, when a connection is established with the ELM in the background, the main activity will be started to display real-time data.
NOTE: This check box is displayed when the “Check for Connection in Background” option is not checked.
When checked, the main application screen will display American units of measurement (F, MPG, GPH, Gallons) each time the app is started. Unchecking this box, causes the display to initially come up in metric units (Systeme Internationale: C,liters, liters per hours, liters per 100 km).
NOTE: this settings only applies to the main (real-time) screen. All data, however, is saved in SAE units and will be displayed as such in all data screens.
When checked, the app will attempt to connect to all ELM adapters that this app ever been connected before. Unchecked option indicates that the app will only connect to the last connected ELM adapter. This mode is useful in a situation where each vehicle (in a family or fleed) is equipped with its own ELM Bluetooth adapter. Then when getting in a particular vehicle, the app will automatically collect data for that vehicle.
When this checkbox is checked, upon connection, the app will reset ELM and set protocol detections to ‘automatic’. This is useful when switching to another vehicle of a different manufacturer or year.
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 MPG 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.
The alOBD MPG 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
Place - a geographical location that serves as a departure or an arrival point of a trip.
Trip - a travel originating in a departure place (Place A) and ending at the arrival place (Place B)
Route - A path chooses to travel on a particular trip. E.g. going to work using a highway, vs. going to work using “surface streets” only - represent two different routes of one trip.
Route Data - averaged fuel consumption related data that has been collected during a trip on a particular route. Route Data contains such parameters as fuel consumption (in MPG and in GPH), distance, fuel consumed (in Gallons), time it took to travel, etc.
Route Points - a set of geographical coordinates that a route is comprised of.
GPS - Global Positioning System
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
SAE - Society of Automotive Engineers - here, describes the units of American measurement system.
SI - Systeme Internationale - here, refers to the metric system of unit measurements.
VIN - Vehicle Identification Number.
MPG - Miles Per Gallon
GPH - Gallons Per Hour