Skip to content

Analyzing CAN Data

This guide walks through the core workflow for analyzing CAN data in SeerWatch: load a log, decode it with a DBC, plot signals, and filter the trace down to what matters.

New to SeerWatch? The Quick Start covers the same ground in under a minute using the demo data.

Open the ⚙ Settings panel and click 🖹 Load Log to select a log file. SeerWatch reads .log and .asc files. See Supported Log Formats for details on both.

Loaded CAN log in message view.

Once loaded, the CAN Message View fills with every frame from the log. All the CAN fields are included: timestamp, arbitration ID, name (once a DBC is loaded), direction, channel, DLC, and raw data bytes.

A log file on its own only gets you raw hex. To see real signal values, load a DBC:

  • open ⚙ Settings, then click 🖹 Load DBC under CAN Database.

Once a DBC is loaded, SeerWatch matches each frame’s CAN ID to a message definition and decodes it by applying scaling, offset, and units automatically.

CAN frames before decoding.

Click the > expand arrow on any row to see its decoded signals

CAN frames with signals after decoding.

or use Expand All in the toolbar to open every row at once.

Every decoded signal appears in the Available Signals list in the Charts view. Click a signal to add it to the plot.

Plotting signals with chart view.

  • Overlay multiple signals — You can plot multiple signals together to spot correlations.

SeerWatch downsamples plotted signals intelligently so large datasets stay smooth. Your chart won’t bog down even on logs with millions of points.

You can zoom, pan, and scroll the chart to focus on the section that is most interesting.

Action Control
Zoom Ctrl + Scroll
Box zoom Right click + drag
Pan Left click + drag
Pan up/down Scroll
Pan left/right Shift + Scroll
Reset axes Double click

Each column in the CAN Message View (Timestamp, ID, Name, Rx/Tx, Channel, DLC, Data) has its own filter field.

  • Type a value to show only matching rows
  • Filters take comma-separate values to OR them within a column (e.g. 100, 200 on ID shows frames with either ID).
  • Filters across different columns are combined with AND

Filtering messages with comma separated values.

When a filter is active the toolbar will display Showing X / Y to indicate how many messages match the filter out of the total number of messages. Click Clear Filters button to reset everything at once.

Each incoming message is appended to the message view, and the view scrolls to display the latest messages.

📌 Fixed Position: For high-traffic buses, toggle Fixed Position to pin each message to a single row instead of scrolling. New frames for the same ID overwrite the previous value in place, making it easier to watch specific messages update live.