J1939 Data Logger - Easy Truck Fleet Telematics (WiFi, 4G)
Need to collect J1939 data from your heavy-duty vehicle fleet?
In this guide, you will learn how to set up a complete J1939 data logging solution for your heavy-duty vehicles - from device configuration to data visualization.
In particular, we cover how the CANedge enables modern J1939 telematics with zero monthly fees and 100% free software/APIs - as well as use cases and case studies.
Teaser: You will e.g. learn about powerful J1939 dashboards like this playground!
Top 4 benefits of J1939 telematics
Truck telematics & vehicle fleet management is increasingly used by e.g. heavy-duty vehicle OEMs - below we list the top benefits.
Fewer breakdowns & better diagnostics
J1939 data can help minimize breakdowns and downtime via predictive maintenance - as well as diagnose rare issues, on-site or remotely
Reduced fuel & maintenance costs
Fuel cost can comprise up to 50% of heavy duty fleet costs. Here, J1939 data can be used in optimizing routes, idling, driver behavior and fuel theft
Simpler compliance & dispute handling
By auto-collecting your vehicle data you'll simplify compliance (e.g. emissions, ELD/HOS). For OEMs, this also enables data-based dispute processing
Faster time-to-market for OEMs
Real field usage data is extremely valuable to OEM development teams - e.g. for equipment debugging or fleet prototype testing
Which benefits are relevant to your J1939 telematics use case? Reach out for free sparring!
Contact usWhy use the CANedge for J1939 data logging?
The CANedge CAN bus data logger offers optional GPS/IMU, WiFi and/or 3G/4G - ideal for heavy-duty fleet telematics:
Log data out-the-box. Standalone. Link your vehicle to your server in <2 minutes
Extractable 8-32 GB SD. 2xCAN/LIN. CAN FD. Zero data loss. 50 μs RTC. Error frames. MF4
Only 8 x 5 x 2 CM. 100G. Robust alu enclosure. 5+ LEDs. Configurable 5V power out (CH2)
Built-in GPS/IMU. 3x accuracy via sensor fusion. Position, speed, distance & more
How to log/decode J1939 data
In this section we outline step-by-step how to get started with J1939 data logging and telematics.

1: Select device & adapters
First you need to select which CANedge to use. If your goal is to deploy e.g. a J1939 blackbox for offline logging over extended periods, the CANedge1 is a good fit. If you also wish to automate your data collection, consider the CANedge2 (with WiFi) or CANedge3 (with LTE). All devices optionally come with GPS/IMU, adding data like position, speed, acceleration, distance and more.
Next, you need to determine what adapter cable(s) to use. This depends on the vehicle, how many CAN buses you need to record - and how you prefer to connect your device. Below we outline the most common adapters used in J1939 logging. If in doubt, start out with a DB9-J1939 adapter and a contactless CAN reader.
Tip: See also our vehicle lookup tool to see if we have PDF guides for your model.
Some vehicle OEMs may not allow direct connections of 3rd party devices to their CAN buses in regards to warranty. This can be reasonable enough as incorrect usage of such devices can result in issues. As an example, if you connect a device with the wrong bit-rate it can result in CAN errors, which can cause issues on the CAN bus.
The CANedge can be configured to operate in 'silent mode', ensuring it does not affect the CAN bus in any way. This is generally recommended for most J1939 deployments when you do not explicitly need to request certain PGNs from the vehicle.
However, even if you configure the device in silent mode, some OEMs may consider this a breach of the warranty. Therefore, many larger-scale deployments of the CANedge are done using the contactless CAN reader. This ensures that the CANedge has no physical way of affecting the CAN bus as it is reading data via induction. In other words, the device cannot transmit data into the CAN bus or cause CAN bus errors.
We normally suggest using a mix of cables during initial testing - and then you can subsequently decide on the right adapter for long-term deployment.
Almost all heavy-duty vehicles use the J1939 protocol for their primary CAN bus communication. I.e. this is the protocol used for the actual operation of the vehicle, which is also why you'll normally see a very large number of frames/second (often 1000+) and a large number of parameters (often several hundreds). Because of this, logging the J1939 data is typically the best route to ensuring high-frequency and rich data sets.
However, many trucks/buses also support OBD communication via a standard OBD connector - just like passenger cars. The specific OBD protocol used is often WWH-OBD or OBDonUDS. In some cases, you may want to log OBD data from your vehicles, either as a supplement to the J1939 data or an alternative (if you are e.g. unable to access the J1939 data). In this case, you can use a regular OBD2-DB9 adapter and follow the steps in our OBD2 logger guide (or the step-by-step OBD guide in the CANedge Intro).

Trucks, buses, ...
Is it a good fit? If you need to log FMS/J1939 data from a heavy duty vehicle, you'll typically want this. We recommend confirming that your vehicle has the corresponding 9-pin connector inside

2 x J1939
Is it a good fit? This is useful if you need to access both of the J1939 networks from a vehicle's deutsch 9-pin connector. It is also useful if you are unsure what data is available and want the option of logging from both J1939 networks in a vehicle (when available).

Caterpillar vehicles
Is it a good fit? If you need to log data from a Caterpillar vehicle which has a 9-pin deutsch connector, then this adapter is plug & play

OBD2 + J1939
Is it a good fit? In some heavy-duty vehicles, no 9-pin deutsch connector is available for accessing the detailed J1939 data. Here, this adapter can be an alternative way of accessing the J1939 data for heavy-duty vehicles in which the OBD2 pins 3 and 11 provide access to the J1939 data as a secondary CAN bus.

Contactless
Is it a good fit? This is often used when a CAN bus connector is not directly available in the vehicle/machine. This can e.g. be the case in vehicle fleets where the connectors must be kept free for diagnostic purposes.

Contactless
Is it a good fit? If your CANedge is already connected and powered via Channel 1, this adapter is a simple way of adding a 2nd CAN bus when you need to record data directly from the CAN high/low wiring harness.
1.1: Add additional CAN channels
The CANedge supports 2 x CAN, which is sufficient for many J1939 data logging use cases. However, if you are an OEM looking to collect data from e.g. a truck, bus, tractor or mining vehicle, you often need to log more CAN buses. Here, the CANmod.router can be used as an 'add-on' for the CANedge - enabling a single CANedge to log 5 x CAN (or beyond via daisy chaining). Learn more below - or see our FCCC case study (5 x CAN/J1939 telematics in EV buses).
CANmod.router details



See our online list of J1939 on-request PGNs
2: Configure your device
J1939 data is generally broadcast, meaning that you do not need to request it. By default the CANedge simply auto-detects the bit-rate and starts logging - meaning it can be used seamlessly across 250K/500K J1939 networks.
You may later wish to reduce your file size via filters and triggers. For example, you can configure your CANedge to only record specific 29-bit CAN IDs or 18-bit PGNs. You can also e.g. setup the device to only record data when EngineSpeed is above 500 RPM.
If needed, you can configure the CANedge to periodically request specific data via the J1939 request PGN 59904 (0xEA00). To transmit data, the CANedge must be directly connected to the CAN bus (i.e. not via a contactless CAN reader).
Tip: See our J1939 on-request PGN list for examples of on-request PGNs
3: Record J1939 data
In most trucks/buses, you can simply connect the CANedge via a DB9-J1939 adapter to power the device and start recording the full J1939 CAN bus trace. Under normal circumstances you should expect to see 500-1500 frames/second and ~30-150 unique CAN IDs (all of them 29-bit). You can easily view the raw data in asammdf.
However, in practice you may encounter 4 key challenges when recording J1939 data:
3.1: No standard J1939 connector
Some heavy-duty vehicles do not provide any of the common connectors for access to the J1939 data. In such cases you may identify an alternative connector for the J1939 access (e.g. via technical manuals) incl. a pinout - in which case you can create a custom adapter cable for the CANedge. If this is not the case, an alternative may be to use a contactless CAN reader.
3.2: Multiple CAN buses (incl. non-J1939)
Most heavy-duty vehicles have 2-4 CAN buses. Some will be J1939, while others may be OEM specific or e.g. CANopen based. If your raw CAN bus trace shows 11-bit CAN IDs, then your data is non-J1939. If you are not the OEM, non-J1939 data is typically not useful (as you cannot interpret it) and you will therefore need to continue searching for alternative CAN buses.
3.3: Gateway filter/block
Sometimes you correctly connect the CANedge to a J1939 connector - yet log zero or very few unique J1939 PGNs. This can be the case if a 'gateway' blocks access to the full network (common in Caterpillar/Komatsu brands). If you are not the OEM, you need to find another connector - or use a contactless CAN reader to log data 'behind the gateway'.
3.4: Locating CAN high/low for contactless
If you use a contactless CAN reader, you need to identify where the relevant J1939 CAN bus high/low wires are in the vehicle. Typically, these will be behind cabinets and often near vehicle connectors - but finding them can be difficult. Luckily, we have PDF guides for most common heavy-duty vehicles showing where to connect. For details see our lookup tool below.
How to connect - PDFs for 1K+ J1939 vehicles
Unsure how to connect your CANedge in your vehicles?
Use our 'lookup tool' to check if we have PDF guides for your brand/model. The PDFs help you find the relevant connector(s) and/or CAN high/low wires for 1,000+ heavy-duty vehicle models (trucks, buses, tractors, construction and more). CANedge users can request specific PDFs by contacting us.
Vehicle lookup tool request PDFs4: DBC decode J1939 data
To decode J1939 data you need the relevant DBC file. If you are not the equipment manufacturer, you can purchase our J1939 DBC file, which contains 1800+ PGNs and 12000+ SPNs. The DBC is based on the J1939 Digital Annex in official collaboration with SAE (Society of Automotive Engineers).
For most J1939 networks, the J1939 DBC lets you decode the majority of the parameters as per the illustration below. Further, several J1939 signals go across the vast majority of e.g. trucks/buses. This implies that you can often rely on a 'common set' of data even in mixed fleet J1939 data logging.
Tip: If you send us your raw CANedge MF4 log file samples we can DBC decode them via our J1939 DBC free-of-charge - this way you can check what PGNs can be decoded before deciding whether to purchase the J1939 DBC file.
4.1: Decode data via asammdf
During initial analysis of your data we recommend using asammdf. This lets you easily DBC decode your data and create quick visualizations. The tool also provides a useful 'DBC decoding summary', informing you of the number of unique CAN IDs vs. the number matched by your DBC file.

4.2: J1939 TP decoding via MF4 decoders
For some use cases you may need to decode J1939 multi-frame data as per the J1939 transport protocol. For this purpose you can use our MF4 decoders, which let you easily DBC decode log files into CSV/Parquet files - ideal for creating data lakes. The MF4 decoders can e.g. be used in cloud-based automation workflows (more below).
5: Auto-upload J1939 data to your own server
The CANedge2/CANedge3 supports 100% secure upload of data to your own server via WiFi/LTE (incl. support for over-the-air updates). You can use practically any cloud server (AWS, Google Cloud, Azure, ...) or even a self-hosted server (e.g. MinIO). To manage devices/data you can use CANcloud or API tools.
Tip: See our CAN telematics article for details on effective fleet deployments.
6: Automate data processing and visualization
Once you have deployed your basic J1939-to-cloud data collection workflow, you can optionally enhance it with automatic data processing. In the CANedge Intro we provide step-by-step guidance on setting this up in <15 min (zero coding required).
For example, if you use AWS you can use our plug & play Lambda functions to automatically DBC decode your J1939 data into a Parquet data lake (via our MF4 decoders). The data lake can then be used for multiple use cases as illustrated below.

6.1: Deploy J1939 Grafana dashboards
Our plug & play Grafana integration lets you create custom dashboards for visualizing your J1939 data. The dashboards can be useful both for e.g. diagnostics, telematics and fleet management. Learn more in our Grafana dashboard intro - and check out our public J1939 dashboard playground below:
J1939 Grafana dashboard6.2: Visualize J1939-73 DM1 data (DTCs)
Many J1939 telematics use cases involve analyzing diagnostic trouble codes. These are broadcast via the J1939 DM1 (Diagnostic Message 1) and can be DBC decoded via our J1939-73 DBC file. Decoding the DM1 message is normally challenging as the length depends on the number of active DTCs and it can involve multi-frame J1939 data. Fortunately, you can use our MF4 decoders for DM1 decoding - and the resulting data can be visualized in Grafana as per our J1939-73 dashboard example:
J1939-73 dashboard J1939-73 intro


6.3: Auto-detect events (e.g. active DTCs)
You can also extend your automation to auto-detect CAN signal events - for example a temperature or pressure exceeding a threshold, or a DM1 DTC becoming active.
Immediate notifications can be sent via SMS/e-mails to subscribers - and historical events can be visualized in Grafana 'event summary' dashboards across all devices. This allows users to easily find specific events, click them and open the full-resolution J1939 dashboard to show the event in context.
CAN signal event detectionGet your 'J1939 Data Pack'
Want to work with real J1939 data?
Download your 'data pack' including:
- 3 intros to J1939 (PDF)
- Our J1939 DBC demo (incl. 5 extra SPNs)
- 400+ MB of J1939 data from 15+ vehicles

Use case examples
Below we provide example use cases to illustrate how the CANedge can be used in practical J1939 telematics.
Near real-time OEM fleet telematics via 3G/4G
Need to collect and visualize data from a fleet of vehicles via LTE?
As an OEM, collecting quality field data from J1939 mobile assets is vital to many use cases - e.g. diagnostics, R&D or warranty disputes. With the CANedge3, data can be uploaded via 3G/4G to your own server (e.g. AWS, Google, Azure), using your own SIM card (or the optional Super SIM). Devices can be easily configured/updated over-the-air. If LTE coverage is lost, data is simply buffered on the SD card and offloaded later - ensuring zero data loss. Further, the J1939 + GPS/IMU data can be auto-processed for visualization in Grafana dashboards or analysis in Python/MATLAB.
Predictive maintenance via periodic uploads
Need to predict breakdowns across construction or mining vehicles?
Some heavy-duty vehicles operate e.g. in mines with no 3G/4G connectivity (see e.g. our mining telematics intro). Others operate in specific areas like construction yards or warehouses. In these cases, the CANedge2 can be set up to connect via 1-4 WiFi access points in the area. When a vehicle gets in range of a WiFi access point, data from the SD card is auto-pushed to your server (self-hosted or cloud). Here, it can be easily DBC decoded using our J1939 DBC for visualization. In particular, users can deploy our plug & play event detection integrations to automatically receive notifications when e.g. signal thresholds are crossed or DM1 DTCs become active.
On-road transit bus data via in-vehicle WiFi
Need to monitor operational data across a fleet of transit buses?
In most buses, the CANedge2 can be connected easily via a DB9-J1939 adapter - and will start logging raw J1939 data to the SD card. If the transit bus has an in-vehicle WiFi access point, the CANedge2 can use this to get online and auto-push data to a dedicated server or cloud in near real-time. Here, data can be analyzed e.g. ad hoc via your favorite CAN tools or in the free asammdf GUI. You can also set up dashboards to enable low cost vehicle fleet management.
OEM vehicle blackbox / event data recorder (EDR)
Need to record a rolling window of J1939 data from all your vehicles?
The CANedge1 is ideal for logging data over long periods from OEM heavy-duty vehicle fleets. With filters, compression, data encryption and cyclic logging you can safely log the latest months or years of data. This makes the device well-suited as an automotive data logger for e.g. diagnostics, warranty dispute handling and legal compliance. In particular, the CANedge1 can also serve as a low cost event data recorder (EDR) for e.g. UN R160 or UN R169 requirements.
J1939 case studies
Learn how other companies are using the CANedge for J1939 data logging and telematics:


Truck J1939 telematics
MGRL uses the CANedge3 and Grafana dashboards to optimize driver behavior, analyze fuel consumption and improve maintenance


MATLAB duty cycle analysis
Danfoss uses the CANedge3 to collect J1939 data from excavators to AWS S3 for engine duty cycle analysis in MATLAB


5 x CAN to cloud + dashboards/DIAdem
FCCC uses the CANedge3 + CANmod.router to collect 5 x CAN to AWS S3 for analysis in Grafana dashboards, DIAdem and Vector CANalyzer


4 x CAN + sensor data in trucks
ClearFlame uses the CANedge2, CANmod.temp and CANmod.input to log 4 x CAN plus temperature, analog, GPS data in trucks
Check out the above - or learn more via our 100+ other case studies!
FAQ
If you are new to vehicle telematics and fleet management, consider below basic definition:
The goal of vehicle telematics is to collect vehicle, driver & environmental data - and use the data to optimize fleet operations
Vehicle telematics is commonly used in heavy-duty fleet management (trucks, buses, construction, mining, ...), prototype field testing and light trucks/service cars (delivery vans, postal services, police cars, taxis, ...). It is used by both vehicle OEMs (Original Equipment Manufacturers) and end users (e.g. construction site managers, fleet managers etc.). In some cases, the telematics system is owned by the OEM and served to an end user in the aftermarket - while in other cases, an aftermarket user may set up their own fleet management system.
A Telematics Control Unit (TCU) is a telematics device installed in a vehicle, facilitating the tracking of data from the vehicle.
Most telematics control units support the following features:
- GPS tracking: The TCU often records GPS data to track the vehicle position
- WiFi/3G/4G/GSM: The TCU needs to transfer the data to a server for processing
Today, most truck fleet management involves simple TCUs that communicate GPS data to enable route optimization and planning. However, these basic telematics systems typically do not collect data from the vehicle sensors (i.e. J1939 data).
Advanced telematics control units like the CANedge may support the following:
- CAN bus data logging: Some TCUs support logging of CAN bus data, incl. SAE J1939 and FMS
- Edge processing: A TCU may need to perform 'edge processing' of the data (filtering, compression, triggers, ...)
- Memory: Some TCUs have memory buffers (e.g. an SD card) to buffer data in zones with no connectivity
- Over-the-air updates: To enable vehicle fleet management at scale, over-the-air updates of firmware/configs are required
- Data requests: It may be relevant to enable requesting of data via CAN bus, e.g. to log diagnostic trouble codes (DTC)
- Modularity: Often it is necessary to add external sensors (e.g. temperature, ...) to the TCU (e.g. communicated via CAN)
- Security: Modern TCUs should support secure telematics, incl. TLS data transfer, data encryption etc
If you have e.g. 200+ telematics control units deployed in the field, you need a way to monitor, track and manage all of them.
A telematics platform should support the following features:
- Enable users to login to the server endpoint where the telematics data is stored
- Enable easy access to the data uploaded by each telematics control unit
- Provide an interface for updating the configuration/firmware of each TCU
- Provide a status dashboard to monitor devices, SD storage%, data uploads etc
CANcloud is a 100% free browser based open source telematics platform designed for use with the CANedge2. It enables the above features, while also offering full customization (incl. easy company branding).
There are different end users of vehicle telematics data, including below examples:
- Fleet managers: Plan routes, reduce truck fuel costs, schedule maintenance etc.
- OEM engineers: Use high-frequency CAN/J1939 data for e.g. R&D and diagnostic
- Researchers: Collect data on e.g. driving behavior, costs, emissions etc.
A common way to present data is through browser based telematics dashboards. Here, the data is typically processed on a backend server and pushed to a database. As an example, the CANedge2 data can be easily integrated with the open source Grafana dashboard tool. This enables 100% free and customizable telematics dashboards to visualize e.g. truck fleet telematics data.
For more in-depth data analysis (e.g. diagnostics), specialized CAN software/APIs may be required. Here, the CANedge2 enables easy analysis via free software like the asammdf GUI - or via popular tools like Vector CANalyzer and PCAN Explorer using simple data converters. Further, the Python API enables large-scale automated data processing (incl. e.g. CAN bus DBC decoding via J1939 DBC files).

Most commercial trucks and heavy duty vehicles use the SAE J1939 protocol (or the derived FMS standard) for the vehicle CAN bus sensor network. A CAN logger can therefore serve as a truck data logger, assuming it can record the raw CAN bus data (which will in this case be equivalent to J1939 data).
In contrast to e.g. passenger cars, this means that the method for converting data to physical values (aka human-readable form) is standardized across many brands, years and manufacturers. From a vehicle data logging perspective, this allows end users (e.g. fleet managers or operators) to get data for their fleet management systems, without having access to the proprietary conversion rules owned by the OEMs (original equipment manufacturers).
To decode raw J1939 data from e.g. a truck or tractor, you'll need a database of conversion rules. Typically, a J1939 DBC file is used for this purpose. A J1939 DBC file takes outset in the official SAE J1939 standards, which provide conversion info for a large share of the data that is potentially available in a given vehicle.
However, most vehicles also use a number of proprietary parameters - this data still conforms to the J1939 standard, but you'll need to reverse engineer the CAN data to identify how to interpret these specific parameters.
With that in mind, we've listed below some examples of data parameters that may be available in J1939 heavy duty vehicles:
- Vehicle Speed
- Engine RPM
- Tachograph Data
- Fuel Consumption (Per Km, Per Hour)
- Tire Pressure
- Temperatures (Oil, ...)
- Throttle Position
- Battery Voltage
- GPS Position (if built-in)
- Mass Flow Rate
- Brake Position
- Engine Avg. Fuel Ecnomy
- ABS Active
- Engine Exhaust
- Engine Torque
- Steering Wheel Angle
- Gear Position
- Door Lock Status
- Vehicle Make/Model/Serial/VIN
- Hydraulic Pressure
- Emergency Braking Active
- Pitch/Roll Angle
- Oil Level & Pressure
- Fuel Level
- Trip Counter
- Coolant Temperature
- Cargo/Trailer Weight
- Diagnostic Trouble Codes (DTCs)
If you've logged a range of CAN IDs from your truck, bus, harvester or other J1939/FMS vehicle, you can identify what J1939 PGNs are contained in your data. To do so, use our CAN ID to PGN converter or learn more on our J1939 DBC page.
Yes, the CANedge2 is basically a CAN bus data logger - meaning that it can record raw CAN data from any high speed CAN bus (ISO 11898-2) application. This includes practically all vehicles, including car fleets like taxis, police cars, ambulances etc.
Typically you'll then log OBD2 data, which can be seen as the equivalent to J1939 data - but for passenger cars.
If you're interested in car fleet management, check out our OBD2 data logger article.
The ELD mandate is a US regulation that specifies that operators of certain commercial vehicles will need to use electronic logging devices (ELD) to monitor driver activity. This can include operational data like hours of service (HOS). It basically replaces the requirement for paper log books.
The CANedge can be a simple low cost method for storing these logs by recording the relevant J1939 parameters - either to the SD card, or alternatively transferring the data to your own server for automated compliance. To learn more, contact us.
Ready to deploy J1939 telematics?
Get your CANedge today!