CAN Bus Interface/Logger + SavvyCAN [100% Free Software]
Need to stream/log CAN data - and analyze it in free software?
The CLX000 is a CAN bus interface (USB) and data logger (SD). It lets you stream/log CAN data from e.g. vehicles or machinery - and analyze it via 100% free software tools.
In this intro, you'll learn how SavvyCAN can be used for CAN diagnostics and reverse engineering - incl. key features.
Learn more below - and try it yourself with our sample data!
New: You can now also stream CANmod data in SavvyCAN!
Open SavvyCAN. Connect your CLX000. That's it
Live-stream data via USB - or load SD card log files
Data can be easily DBC decoded (incl. J1939/OBD2)
Analyze & plot your CAN signals - incl. in real-time
Live-transmit CAN frames & replay log files
Windows/Linux support. 100% free & open source
A CAN bus interface is a device that allows for streaming CAN bus data to a PC in real-time - typically via USB. It is used extensively within automotive OEM development, reverse engineering and CAN bus diagnostics.
The CLX000 (CL1000/CL2000) can be used as a CAN bus interface by connecting the device to your CAN bus and via USB to your PC. When you open SavvyCAN, you can 'connect' to the CLX000 to start streaming.
CAN (Controller Area Network) is used across practically any vehicle today incl. cars (OBD2), trucks (J1939), ships (NMEA 2000), ...) and extensively within industrial machinery (CANopen). This makes CAN-to-USB interfaces a must-have tool for analyzing, debugging, diagnosing and developing such applications.
A CAN bus data logger is a device that lets you log CAN bus data to an SD card, typically over extended periods. The CLX000 can be used as a CAN bus data logger to record e.g. months of data via an 8 GB or 32 GB SD card.
The CLX000 thus combines the features of CAN bus interfaces and CAN bus data loggers in one low cost tool. This is perfect for use cases where you e.g. need to reverse engineer CAN data (which often requires a combination of streaming and logging). It is also ideal if you're troubleshooting a CAN bus issue that occurs rarely. Here, the CLX000 lets you log months of data to record the error, as well as perform real-time analysis during an issue event.
Easily stream CAN bus data in real-time via USB
Using our free SavvyCAN plugin, you can easily connect your CLX000 CAN bus interface to stream real-time data in auto-scroll or overwrite/trace mode. Easily filter by CAN ID.
Load log files from your CLX000 SD card
The CLX000 lets you log raw CAN data to an SD card. The TXT log files can be loaded natively in SavvyCAN - ideal for e.g. diagnosing rare issues or analyzing trip data.
DBC decode raw CAN data to 'physical values'
You can load a CAN database (DBC file) to easily display decoded signal data (km/h, rpm, degC, %, ...) aka 'physical values'. Works for both for loaded log files and real-time data
Plot your data parameters in real-time
You can plot physical value signals (e.g. from your DBC file), which lets you visually monitor changes to your CAN bus in real-time, as well as e.g. plot recorded log file data.
Highlight changes to data bits/bytes
This highlights changes in the CAN bus data at the byte or bit level. Ideal for e.g. reverse engineering door locks and other "state changes" in real-time.
Reverse engineer continuous data parameters
This lets you specify a hypothesis on the characteristics of a CAN signal - and then plots all possible combinations. Ideal for reverse engineering signals like SoC, speed, RPM etc.
Diagnose/analyze your raw CAN data step-by-step
"Step-through" a log file (or active CAN stream) to analyze changes to bits and bytes. Bits will be colored based on changes vs. the start of the session/log or the previous frame.
Easily transmit custom CAN frames
You can use the CLX000 to transmit custom CAN frames in real time - with full control over ID, payload and frequency. You can even apply custom functions for advanced data transmission.
Replay log files into your CAN bus
You can load a log file (e.g. from the CLX000 SD card) - and replay it back onto the CAN bus, with full control over frequency, burst behavior and more. Ideal for simulation and reverse engineering.
Transmit 'controlled randomness' (fuzzing)
Fuzzing lets you send random information into your CAN bus 'to see what happens'. You can customize the fuzzing restrictions to restrict the randomness to your requirements.
Want to try it yourself? Download SavvyCAN now and load our CLX000 sample data!
Use case examples
Reverse engineer CAN bus data
Need to extract proprietary parameters from your CAN bus?
Most CAN data is encoded in a proprietary way - and to make sense of the data, you need to "reverse engineer" the data. The CLX000 is uniquely suited for this: It enables both USB streaming and SD card logging - and SavvyCAN serves as a 100% free tool, designed for CAN bus reverse engineering. Use e.g. the 'sniffer view' to decode state changes (door locks, buttons, etc) or the 'range state view' to decode continuous signals (speed, state of charge, temperatures, ...). Create your own DBC file - and use SavvyCAN to confirm your decoding rules.
Diagnose your CAN bus
Need to troubleshoot a rare issue in your CAN bus application?
With the CLX000, you can log data to the SD card over longer periods - e.g. to capture an issue or error event. You can then extract the data from the SD card and analyze the event in detail via the SavvyCAN 'flow view' or through visual plots. You can also stream CAN bus data via USB in real-time during an issue event to understand the dynamics.
Simulate/control your CAN bus
Need a simple way to simulate or control your CAN bus?
The CLX000 CAN frame transmit functionality can be fully controlled in real-time via SavvyCAN (or via scripts). This means that you can e.g. transmit custom frames, which can be recorded by another CAN hardware device. This makes the CLX000 ideal for basic control functionality, testing, debugging and simulation. Further, the CLX000 can serve as a CAN bus data logger - and with the 'playback' feature, you can load a CLX000 log file with "field data" and replay it onto a CAN bus. This is perfect if you need to simulate CAN bus data from e.g. a truck or car while sitting at your desk.
Case study: Motorcycle reverse engineering
Learn how Thomas Cobb successfully used the CL2000 to reverse engineer CAN bus data from his Ducati Diavel 2015 using both USB streaming and data logging. Thomas also primarily used SavvyCAN in his work.
"The CL2000 is compact, feature rich, highly configurable - and it just works great!"full case study
The CLX000 integrates with both SavvyCAN and Wireshark.
Today, we recommend using SavvyCAN for both streaming and loading log files for analysis. SavvyCAN is designed specifically for analyzing CAN data, meaning it is simpler to use than Wireshark. SavvyCAN supports the same features as Wireshark when it comes to CAN bus analysis - as well as a number of additional, powerful tools. Further, the integration of the CLX000 with SavvyCAN performs better vs. Wireshark, it is easier to setup and it works on both Windows and Linux.
If you have prior experience with Wireshark, you can of course still choose to use that integration.
SavvyCAN is developed primarily by Collin Kidder. The source code is available on github with an active community that continuously helps to improve the tool. If you have suggestions/issues, you can report these directly on the github issues page.
The CLX000 SavvyCAN plugin enables CLX000 stream and is developed by CSS Electronics. The source code is available here.
Yes, SavvyCAN is 100% free and open source (MIT license).
Yes, the CLX000 'transmit functionality' can be fully controlled in real-time as of firmware 5.85. This means you can e.g. use SavvyCAN to send custom CAN frames, playback log files etc. Further, you can follow the CLX000 Docs to create custom script integrations if you e.g. need to use the CLX000 as a 'control unit' in your application. This is ideal if you e.g. both need a CAN bus data logger 'blackbox' - while at the same time having a low cost method for controlling various behavior via CAN frames from e.g. a display.
The CANedge is our series of pro specs CAN bus data loggers. The CANedge1 is a 2 x CAN/LIN data logger that is optimized for SD logging. The CANedge2 supports automatic upload of log files to your own server - as well as over-the-air updates.
The CANedge series does not support USB streaming, but the log files from the CANedge can be easily converted to the CLX000 log file format using our MF4 converters. As such, you can easily load the log files in SavvyCAN if you prefer - though you may alternatively want to consider the asammdf GUI, which natively supports the CANedge log files.
Ready to analyze your CAN bus data in SavvyCAN?
Get your CLX000 today!