Windmill Software Ltd
Data Acquisition Intelligence

June 2007

The Newsletter for PC-Based Data Acquisition and Control
Issue 107          June 2007
--------------------ISSN 1472-0221----------------------

Thank you for subscribing to Monitor.  In this issue we 
discuss how to continually log and display your vehicle's 
emissions, location, speed, fuel consumption and other 
values on your PC. By interfacing your laptop to the 
vehicle's on-board diagnostic system you can show live 
data, store it to disk, replay it later and map it.  

I hope you enjoy the newsletter but should you wish to 
cancel your subscription you can do so at

* Windmill News: Displaying Real-Time Fuel Consumption
* Logging data from a vehicle to a PC
* Excel Corner
* DAQ News Roundup

Windmill News: Displaying Real-Time Fuel Consumption

Robert Kwiatkowski wanted to see his fuel consumption 
whilst driving. He therefore connected a laptop to his 
Ford truck and used Windmill software to collect data 
from the on-board diagnostics system.

In most countries, new vehicles have to have an on-
board diagnostics system. This monitors conditions 
and components that are related to vehicle emissions. 
Kwiatkowski used Windmill to collect Mass Air Flow and 
Vehicle Speed readings. He set Windmill to 
automatically send the data to Excel where the fuel 
consumption was calculated.

Modern vehicles use data from oxygen sensors to control 
the air to fuel ratio. This ratio is set at the 
chemically ideal value of 14.7 grams of air to every gram 
of gasoline. The Mass Air Flow is the mass of air 
consumed in grams per second. Kwiatkowski used this 
information to convert the Mass Air Flow to gallons per 
hour and then calculate miles per gallon. He set Windmill 
to route the readings to Excel which performed the 
necessary calculations and showed the current 

Although the system is designed to show real-time fuel 
consumption, all the data can be logged and reviewed 
later. Windmill can also record GPS co-ordinates 
alongside the vehicle data. Other data could be recorded, 
such as emissions. This means that the system could be 
adapted to show emission maps of journeys through 
specific areas.

Further Reading

Robert Kwiatkowski has produced a step-by-step guide to 
replicating his system which he has kindly made available 

For an overview of using Windmill with OBD systems see

Logging Data from a Vehicle to a PC

All modern cars have an on-board diagnostics system. This 
is known as OBD-II, EOBD or JOBD depending on whether the 
car uses the American, European or Japanese system. All 
these systems work in a similar manner.

In today's engines sensors monitor the operation of 
specific components whilst actuators maintain optimal 
engine control. An on-board computer, sometimes known as 
a "powertrain control module" (PCM) or an "engine control 
module" (ECM), controls these systems. The sensors and 
actuators, along with the diagnostic software in the 
on-board computer, make up the OBD system.  The on-board 
diagnostics make their data available to you through a 
16-pin port.

The OBD is primarily an emissions control system. However, 
as you can access all the sensor readings you can use it 
for many applications. Our opening story told of how it 
could be used to display fuel-consumption in real-time on 
a PC.  There may be as many as 300 readings available 
from your vehicle: including engine rpm, vehicle speed, 
emitted oxygen, intake air temperature and ignition 
timing. Add a GPS receiver and you could log the 
location of each reading.  


How to Get the OBD Data into your Laptop

1. You need an interface to connect the vehicle's 
   on-board computer to your laptop. Although the 
   on-board diagnostics are standard across cars, the 
   interface isn't. You need to buy one that matches your 
   vehicle. Connect the interface between the vehicle's 
   16-pin diagnostic port and one of the laptop's ports.

2. You need some software, like Windmill, to request data 
   from the OBD, read the response and log, display and 
   distribute the data. The free Windmill 4.3 software 
   reads ASCII data from the PC's COM port. So if you 
	 plan to use Windmill make sure your interface can be 
	 plugged into the COM (RS232) port and transmit ASCII 
	 data.  With Windmill you can read any of the OBD 
	 information: the standard stuff and any extras 
	 provided by your vehicle manufacturer.

3. You will need to perform some calculations on the data 
   so a spreadsheet like Excel would be useful.


The Structure of the OBD Data

To obtain data send a request then wait for a response.

Commands to Request Data...

A command to request data is usually two or three bytes 
long, but the OBD standard allows for up to seven. The 
requests are sent in hexadecimal. 

The first byte sent is the Mode byte. There are nine 
modes of operation in the OBD standard. For regularly 
logging data you will generally use Mode 1: Show Current 
Data. So start all your requests for data with "01".

The next byte describes the information wanted.  You 
specify this with a "PID" code. PID stands for parameter 
identification number and is a hexadecimal number. Here 
are some of the PIDs you might use. For a full table 
download and see 
Appendix C. 

PID 	Description (Number of bytes returned)
05  	Engine Coolant Temperature (1 byte)
0A  	Fuel Pressure (1 byte)
0B  	Intake Manifold Pressure (1 byte)
0C  	Engine RPM (2 bytes)
0D  	Vehicle speed (1 byte)
0F  	Intake air temperature (1 byte)
10  	MAF air flow rate (2 bytes)
1F  	Run time since engine start (2 bytes)
2F  	Fuel Level Input (1 byte)
31  	Distance traveled since codes cleared (2 bytes)
33  	Barometric pressure (1 byte)
46  	Ambient air temperature (1 byte)

To request a vehicle speed reading, therefore, you would 
send 010D. 

Finally you may need to tell your interface that you have 
finished the request message. The character to do this 
depends on your interface: in ELM interfaces it is a 
carriage return. Some interfaces require you to send a 
fixed number of bytes so no ending character is required.

Once configured Windmill Software regularly sends this 
command to the OBD interface and stores the reading 

How to Interpret the Data Received...

In our above speed reading, the message returned would be 
in this format:
41 0D 37

41 - shows a response (4) from a Mode 1 request
0D - the PID of the measurement, speed in our case
37 - the data value in hexadecimal

With Windmill we would extract the data value from the 
rest of the message. So we might tell it to ignore six 
characters then extract two.

For speed just one hexadecimal number is returned. Other 
types of data may return 2 or 3 hexadecimal numbers 
(bytes). See the table above for details.

We now need to convert the hexadecimal value to decimal. 
If using Windmill we could send the data to Excel (or 
another analysis program) and perform the conversion 
there using the HEX2DEC command.

Finally, you may need to apply a scale and an offet 
to the results. You can get the Windmill software 
to do this before it presents the results, or you 
could do so after data collection in Excel. 


Further Reading

A guide to configuring Windmill for OBD systems

Getting Data from Windmill into Excel

Excel Corner

We've updated our Excel pages on the Windmill web site to 
reference all the tips and tricks we have been giving you 
in these newsletters over the last 6 years. For tips on 
using Excel charts see and for help using 
Excel for data acquisition and analysis see

If you have a question about using Excel for data 
acquisition then fill our form at

DAQ News Roundup

Welcome to our roundup of the data acquisition and 
control news.  If you would like to receive more 
timely DAQ news updates then grab our RSS newsfeed 
at  Read for notes
on how to display the news on your own web site, 
read it via e-mail, mobile phone or a newsfeed viewer.

First Buoy to Monitor Ocean Acidification Launched
   The first buoy to monitor ocean acidification has 
   been launched in the Gulf of Alaska. Attached to the 
   buoy are sensors to measure climate indicators. These 
   transmit their readings via satellite. The instruments 
   will measure the air-sea exchange of carbon dioxide, 
   oxygen and nitrogen gas in addition to the pH. The 
   buoy is anchored in water nearly 5,000 meters deep.
   Source: National Science Foundation

Thirsty Crops to Signal Farmers
   Corn and potato crops may soon provide information 
   to farmers about when they need water and how much 
   should be delivered, thanks to a University of 
   Colorado invention. The technology includes a tiny 
   sensor that can be clipped to plant leaves charting 
   their thickness, a key measure of water deficiency 
   and accompanying stress. Data from the leaves could 
   be sent wirelessly over the Internet to computers 
   linked to irrigation equipment, ensuring timely 
   watering and cutting down on excessive water and 
   energy use.
   Source: University of Colarado at Boulder

New Quality Measurement Data Standard
   National Institute of Standards and Technology 
   (NIST) researchers have completed work on a new data 
   specification that will allow compliant products to 
   store and exchange measurement data from process-
   monitoring instruments in a completely open and non-
   proprietary format. Widespread use of the new quality 
   measurement data (QMD) specification, which defines 
   the information exchanged between factory floor 
   measurement instruments and Statistical Process 
   Control (SPC) software, should provide substantial 
   savings to quality systems users and their suppliers 
   throughout the manufacturing sector.
   Source: NIST

Research Tower Could Aid Tracking Of Contaminant Plumes
   America's first network of research instruments to 
   predict urban movements of toxic or radioactive 
   contaminants is being completed in Washington DC. 
   Using data from the new network, scientists expect to 
   create and test computer models that would calculate 
   a contaminant plume's spread. The new monitoring 
   station will include a device called a sonic 
   anemometer that uses high-frequency sound waves to 
   measure wind velocity in all directions simultaneously 
   at brief time intervals. With such data, scientists 
   can analyze local air turbulence that strongly 
   influences where and at what rate airborne 
   contaminants spread in an urban environment.
   Source: AGU

Steady Growth in Worldwide PLCs Market
   IMS Research forecasts that the worldwide market 
   for PLCs will grow steadily to surpass $9 billion by 
   2011, growing at around 5.0% per year. The Asia 
   Pacific region is forecast to experience the strongest 
   growth, with an estimated compound annual growth rate 
   of 7.9%.
   Source: IMS

* Copyright Windmill Software Ltd
* Reprinting permitted with this notice included
* For more articles see

We are happy for you to copy and distribute this 
newsletter, and use extracts from it on your own web site 
or publication, providing the above notice is 
included and a link back to our website is in place.

An archive of previous issues is at
and an index of articles at

Windmill Software Ltd, PO Box 58, North District Office,
Manchester, M8 8QR, UK
Telephone: +44 (0)161 833 2782
Facsimile: +44 (0)161 833 2190
E-mail: [email protected]

Do you have a question, comment or suggestion on this 
newsletter? Fill in this form to contact the editor.


To receive Monitor every month please fill in your e-mail address below. We will not pass your address to any third parties, nor send you any unsolicited e-mail.


Previous Issue Next Issue