Skip to main content

CAN Analyzer

This guide is applicable to the following device / devices:
TMU CM4
TMU CM4

The CAN Analyzer in the AutoPi Cloud is an interactive tool for discovering, testing, and validating CAN bus communication on a connected vehicle or machine. It provides a UI-based interface for running low-level CAN/OBD commands, monitoring raw traffic, and validating protocol configurations before deploying loggers or integrations.

This tool is primarily used during initial setup, troubleshooting, reverse engineering, and integration validation.


Overview

The CAN Analyzer enables:

  • Passive listening of CAN traffic (sniffing)
  • Testing different CAN protocols and baud rates
  • Sending diagnostic requests (PID / UDS / J1939)
  • Recording and replaying CAN messages
  • Verifying communication between AutoPi and ECU(s)

It acts as a real-time inspection layer between the AutoPi device and the vehicle network.


Interface Structure

The CAN Analyzer page consists of four main tabs:

  1. Sniffer - passive monitoring of CAN traffic.
  2. Recorder - captures CAN messages and stores them for later use.
  3. Player - replays previously recorded CAN traffic.
  4. PID Tester - sends request-response queries to ECUs.

CAN Analyzer Table


Sniffer (Passive CAN Monitoring)

CAN Sniffer

Note: This will only work on vehicles which allow direct CAN streaming.

Purpose

Used to detect:

  • Active CAN bus.
  • Correct protocol and baud rate.
  • Raw CAN messages.

How it works

The sniffer runs a passive monitor similar to:

obd.monitor duration=5 protocol=<protocol> baudrate=<baudrate>

This listens to all CAN frames being broadcast on the bus. This is required because:

  • Some vehicles stream data continuously.
  • Others only respond to requests (PIDs).

Configuration

FieldDescription
Vehicle BusSelect CAN interface (auto or manual)
ProtocolCAN protocol (e.g. ISO 15765-4, J1939)
Baud RateTypical values: 125k, 250k, 500k
DurationCapture time in seconds

Workflow

  1. Start with Auto Vehicle Bus or a known protocol.
  2. Click Sniff.
  3. Observe output:
    • No data → wrong configuration.
    • Data present → valid configuration.
  4. If you didn't receive any data in the output field, adjust the protocol and/or baud rate until consistent data is received.
  5. You can also use Verify Connection when an obd request is send to the vehicle and device awaits for the response, as a second layer of verification of the correct connection setup.
  6. Create bus, if you are sure of a Vehicle Bus used by your vehicle.

This process is essential when:


Recorder

CAN Recorder

Purpose

Stores CAN traffic for:

  • Offline analysis
  • Debugging intermittent issues
  • Sharing datasets

Backend equivalent:

can.dump duration=10 file=test.log

This captures raw CAN frames to files such as .log, .csv, or .blf


Player

CAN Player

Purpose

Replays recorded CAN data onto the bus.

Use cases

  • Simulate ECU behavior
  • Test integrations without a live vehicle
  • Reproduce issues from recorded sessions

PID Tester (Active Requests)

CAN PID Tester

Purpose

Send request-response messages to ECUs.

Example:

obd.query rpm mode=01 pid=0C

This requests engine RPM from the ECU.

When to use

Use PID Tester when:

  • Data is not broadcast automatically.
  • Specific signals are required.
  • Validating diagnostic communication.

Terminal Integration

All actions in the CAN Analyzer correspond to terminal commands.

Example:

obd.dump protocol=6 baudrate=500000 duration=1

This allows:

  • Reproducibility.
  • Automation via scripts.
  • Debugging outside the UI.

Typical Use Cases

  1. Protocol Detection - identify correct CAN configuration by testing:

    • Protocol
    • Baud rate.
  2. Vehicle Integration - verify that:

    • AutoPi can access CAN data
    • ECUs respond correctly.
  3. Reverse Engineering - analyze unknown CAN signals by:

    • Sniffing traffic
    • Correlating values with real-world behavior.
  4. Troubleshooting - detect issues such as:

    • No CAN traffic
    • Incorrect wiring
    • Unsupported protocol
  5. Development & Testing

    • Validate CAN-based applications
    • Simulate environments using Player

Summary

The CAN Analyzer is a diagnostic and validation tool that sits between raw CAN access and production logging. It allows you to:

  • Discover how a vehicle communicates
  • Validate configurations before deployment
  • Debug issues at the lowest level
  • Build reliable CAN-based solutions on top of AutoPi

It is typically the first step in any CAN integration workflow.

Important Notes

  • Requires vehicle support for CAN access (OBD or direct wiring)
  • Ignition needs to be ON
  • Some vehicles require wake-up communication
  • Avoid testing on moving vehicles

Best Practice Workflow

  • Ensure device is powered on and online
  • Start with Sniffer:
    • Test common baud rates (250k / 500k)
  • Identify working configuration
  • Use PID Tester to validate responses
  • Record traffic if needed
  • Build loggers or integrations based on findings