Do you want to analyse OBD2 data from your car?
Maybe you're doing vehicle prototype tests - or simply optimizing your own driving. To do so, you’ll need data on e.g. vehicle speed, RPM, MAF, throttle position etc.
You can record this data with an OBD2 data logger - and the CLX000 is ideal!
In contrast to OBD2 dongles and OBD2 scanners, the CLX000 logs time series data to an SD card in *.CSV format - and our free software lets you easily convert the data.
Below, we show how the CLX000 can be used as a car data logger
- incl. a practical Audi A4 OBD2 data example (RPM & speed).
For a quick intro, check out our 5 min video above, showing how the OBD2 data logging works in practice!
Basics - Working with OBD2 Data
Before we head in, let’s do a quick recap on the basics of OBD2:
Pros: What makes OBD2 great is that the rules for converting the raw OBD2 data into human-readable form are public - see e.g. Wikipedia’s guide on OBD2 PIDs.
This contrasts the raw CAN bus data of most cars which requires that you access proprietary OEM conversion rules - or “hack your car” and reverse engineer the data.
Cons: However, despite this simplicity there are two challenges with OBD2 data:
- First, your OBD logger needs to be set up to “request” the messages you want
- Second, you’ll need to e.g. set up a script to convert the raw OBD2 data
To make this practical, you'll want a solution with built-in OBD2 support.
Before we show how to log OBD2 data, we've listed a set of FAQ answers below:
The OBD2 protocol (SAE J1979) specifies a range of standardized vehicle data that you can log from your car.
Note, however, that each car differs in what OBD2 data is supported - and in particular older cars often support fewer parameters.
With that said, we've listed some of the standard OBD2 parameters that are often available:
- Fuel system status
- Engine load
- Coolant temperature
- Fuel trim
- Fuel pressure
- Intake manifold pressure
- Engine RPM
- Vehicle speed
- Intake air temperature
- MAF air flow rate
- Throttle position
- Air status
- Oxygen sensor status
- Runtime since engine start
- Distance with MIL on
- Fuel tank level input
- System vapor pressure
- Absolute load value
- Hybrid battery pack life
- Engine oil temperature
- Engine fuel rate
- Various DTCs
For further details, see the OBD2 PID Wiki page or the SAE J1979 standard.
Inshort: Most likely!
The majority of cars and light trucks use the OBD2 standard as their on-board diagnostics methodology. In particular, OBD2 has been mandatory in USA since 1996 and in EU since 2003 (here it's denoted EOBD, but basically the same as OBD2).
However, even if your vehicle supports OBD2, you may be unable to log the data you want.
First of all, each vehicle brand/year differs in terms of what OBD2 data parameters are supported. In particular, older cars often have more limited support for e.g. real-time parameters like speed, RPM etc.
Further, some car manufacturers have begun restricting access to the OBD2 data to better control their vehicle data.
Finally, while the vast majority of cars use CAN as the signal protocol for OBD2, you may encounter cases for old US cars (pre 2008) or e.g. some EU brands where another protocol is used instead.
There are 5 OBD2 signal protocols in total:
- ISO 15765 (CAN): Dominant, as it's required in all vehicles sold in the USA since 2008
- SAE J1850: Standard of the Ford Motor Company
- SAE J1850: Standard of General Motors
- ISO 9141-2: Used by Chrysler and some EU/Asian vehicles
- ISO 14230 (KWP2000): Mainly used by EU manufacturers
The CLX000 supports CAN based OBD2 - if in doubt whether your car is suppored, contact us.
For further guidance on the basics, check our simple intro to OBD2.
There is a massive number of OBD2 device types on the market - below we outline the main groups:
OBD2 Scanners: These are typically used by mechanics/technicians for diagnostic purposes - e.g. to identify what causes your malfunction indicator lamp (MIL) to be turned on.
The scanners typically include built-in databases for diagnostic trouble codes (DTCs) and functionality for clearing these.
OBD2 Dongles: While not a "formal" definition, OBD dongles typically refer to small, low cost and simple-to-use consumer oriented OBD2 readers.
OBD2 Data Loggers: An OBD logger can be used to record OBD2 timeseries data to an SD card in "standalone mode" (i.e. no PC or app required).
The data can be extracted via USB or WiFi for later analysis. Some OBD2 loggers (like the CLX000) also double as OBD2 interfaces, allowing for real-time streaming of OBD2 data to a PC via USB.
An OBD2 logger is suited for e.g. analyzing long-term data patterns, optimizing driving, doing research, diagnosing rare issues and similar use cases - see below for more details.
An OBD2 data logger can be used for a large range of use cases:
Diagnosing Rare Issues: If you're experiencing an issue with your car that happens only rarely, it can be difficult to identify the error with your mechanic on-the-spot. In such cases, adding an OBD2 data logger can help you record data over weeks or months. Once the issue event occurs, note the timing and review the data for patterns that may explain the root cause.
Monitor & Optimize Driving: Perhaps you need to monitor other users of your vehicle to identify e.g. inadequate use? Or perhaps you're trying to optimize your own fuel consumption? Either way, an OBD2 logger provides a simple way to collect the needed data. Further, with a WiFi OBD2 logger, it's easy to collect data on a daily basis for analysis or dashboards.
Reverse Engineering Proprietary CAN Data: OBD2 data has limitations in all vehicles, which is why e.g. car hackers seek to reverse engineer the "raw" CAN bus data in their vehicles. Still, OBD2 can be a great aid in doing so: By logging OBD2 and CAN data simultaneously, you can more easily correlate parameter patterns. For example, you can log OBD2 Vehicle Speed and match this vs. your hypothesized "raw" CAN version of Vehicle Speed to quickly identify the conversion rules. For details, see our article on CAN bus sniffing & reverse engineering.
Vehicle Fleet Management/Telematics: With wireless OBD2 data loggers, you can collect car data from entire fleets of vehicles. This can be useful in e.g. optimizing transport fleets (taxis, light trucks, ...) or service vehicles (police cars, ambulances, ...). To set this up, you'll typically add a small cellular 3G/4G hotspot in the vehicle and set up the OBD2 logger to transfer data via this to your cloud server for processing. For details, see our article on vehicle telematics.
Insurance Black Box: An OBD2 recorder may be used as a standalone "vehicle black box", logging e.g. the last 12 months of data at any given time. If an accident or issue occurs, the data helps to identify the cause and ensure fast resolution.
Car Tuning: OBD2 data can help in optimizing your vehicle's performance, e.g. by supplying you with data timeseries benchmarks of various parameters and their relations. This way you can tweak your tuning to reach the intended results.
Emissions Testing & Analysis: An OBD2 logger can provide valuable insight into both direct emissions-related parameters - and parameters influencing these (speed, RPM, throttle etc.).
In most cases, yes.
Typically, when you connect e.g. a CLX000 to your vehicle, it'll turn on/off with the ignition, since the OBD2 connector typically uses the IGN power supply. This means that the CLX000 will not drain any power from the vehicle battery when it's turned off.
However, in some vehicles the OBD2 connector's power supply will be directly wired to the battery, meaning that the CLX000 may still be turned on when the car is off. Normally this is not an issue as the power drain from the logger itself is minimal. However, if you're polling OBD2 data from the ECUs, this may "wake up" the ECUs while the car is off. This can result in some power drain if the car is off for a longer duration.
You can quickly verify if your logger turns on/off with your vehicle by evaluating the LEDs after the car has been turned off for 15-20 minutes - if the LEDs are not lit, the CLX000 is turned off.
In case the CLX000 does not turn off with the vehicle - and you know the vehicle will be turned off for longer durations - you can disconnect the CLX000 during this period. Alternatively, you can get around it by manually rewiring the power to the CLX000 so that it comes from the ignition (IGN) power supply cable.
Log OBD2 Data in 3 Simple Steps
The CLX000 and our free CANvas software make OBD2 logging easy:
- In CANvas, configure your OBD2 data logger to request OBD2 PIDs from a list of Mode 01 PIDs (or add your own)
- Connect the CLX000 to your car with a DB9-OBD2 adaptor cable
- Use CANvas to quickly convert your raw OBD2 data via the built-in OBD2 PIDs database
Configure your OBD2 data recorder to request OBD2 messages
First, you'll configure your CLX000 to log OBD2 data:
- Connect your logger to your PC via USB
- Open CANvas and go to the “CONFIGURE CANLOGGER”
- Click the “Transmit list” tab
- Click the “load” icon to choose from a list of OBD2 PIDs
- Save the config on your OBD2 logger’s SD card & eject
Not all cars support all the standard Mode 01 OBD2 parameters. While newer cars often support a wide range, this can lead to confusion as you may request e.g. Vehicle Speed - and get no data back.
You'll be able to spot this as you'll have a lot of "7df" request ID messages - but no corresponding "7e8" responses.
Luckily, you can check what Mode 01 parameter IDs are supported for OBD2 in your car.
You do this by configuring your CLX000 to request the "Supported PIDs" parameters the first time you log data from your vehicle. These PIDs have ID 00, 20, 40, 60, 80, A0 and C0 - which you can select in CANvas.
You can download a pre-made configuration file (config.xml) that you can load in CANvas HERE. Note that it's set up for a CL2000, though this can quickly be adjusted to match your logger using CANvas.
This will send a "single-shot" request for these PIDs with a small delay between each. Once you've recorded this data, you can take the log file and convert it via CANvas' built-in OBD2 conversion rules. The resulting output will be a list of all the Mode 01 PIDs with a boolean value, telling you if the PID is supported or not.
Based on this, you can then update your transmit list in CANvas to only request valid PIDs.
Note on CAN bus vs. other OBD2 protocols: OBD2 can be based on five different protocols. The most commonly used is CAN bus, as it's been made mandatory in USA for cars produced after 2008. As a result, CAN is also used in most vehicles produced outside USA since 2008, but not consistently so. If your car is produced outside USA or before 2008, it is not necessarily possible to record OBD2 data via the CLX000 (as it supports only CAN bus). Often you can check the protocol via the OBD2 connector pins
Connect Your CLX000 to Your Car's OBD2 Port
Now your CLX000 is ready to log OBD2 data! Easy, right?
Next, simply connect it to your car's OBD2 connector port.
You'll find this below the steering wheel and you'll need a DB9-to-OBD2 adaptor.
The OBD2 logger will now log OBD2 data to the SD when you turn on the car.
Convert your raw OBD2 data
Ok, so you’re now back at your PC with your CLX000 OBD2 data logger - filled with OBD2 raw data from your car.
It's time to convert the raw OBD2 data into readable form:
- First, load the log files to your PC via USB
- Open CANvas and go to CONVERT DATA
- Click the database icon to load the OBD2 database
- Go to ‘Load Log Files’ and find your data files
- In ‘Manage Log Files’, select 'scaled engineering values'
- Click the green play button - and that's it!
You can of course adjust your output with e.g. Log File Merging and Downsampling
The Result: Easy OBD2 Data Logging
In short: With the CLX000, it's a breeze to log OBD2 data from your car.
Below you can see an example of speed (km/h) and RPM logged in an Audi A4 with a CL2000 on the highway.
You can of course check out the converted data - or play around with the raw OBD2 data sample yourself in CANvas.
Start logging your own OBD2 data with the CLX000 OBD2 logger now!
Liked this article? Please share!
RECOMMENDED FOR YOU