Skip to main content

A simple CAN bus monitoring tool, with dbc support.

Project description

CANpeek

CANpeek is a graphical CAN bus observer and analyzer for Linux and Windows (untested) based on Python and Qt.

🤖 About the Code (aka “AI Slop” Warning)

This project includes code — and this very README — that were generated almost entirely with large language models (LLMs). Yes, the term “AI slop” was insisted upon.

While the app works and provides a full-featured CAN bus GUI, you may find:

  • Some awkward structure and bloated chunks of logic
  • Repetitive patterns that could use refactoring
  • Giant all-in-one files (yes, main.py, we’re looking at you)
  • Documentation (including this README) was AI-generated too — so if it sounds polished but slightly overconfident, that’s why.

The goal was rapid prototyping, not pristine architecture. Use it, improve it, rewrite parts of it — all contributions are welcome.

Features

  • 🧩 Project-based configuration with filters, DBC files, and persistent decoding options
  • 🌐 Multi-interface support: socketcan, pcan, kvaser, vector, and virtual based on python-can
  • 📊 Dual View: Real-time Trace View and hierarchical Grouped View with signal expansion
  • 📁 Multi-DBC support with signal decoding from cantools
  • 🧠 CANopen basic decoder with support for NMT, PDO, SDO, Heartbeat, and more
  • 📦 CAN frame transmitter, supporting both raw and signal-based (DBC) messages
  • 📜 Log support: Save/load CAN logs in all python-can IO formats

Screenshots

screenshot

Installation

With pip

The interfaces avaibility depends on modules and drivers available on your system. Use the extra [interfaces] to install optionals python modules.

pip install canpeek[interfaces]
canpeek

From source

  1. Install uv
  2. Run uv run canpeek --extra interfaces

Usage

  1. Connect to a CAN interface:

    • Select backend (socketcan, pcan, kvaser, etc.)
    • Enter the channel (e.g., can0)
    • Click Connect
  2. Load DBC files via the "Project Explorer" to decode signals.

  3. Create Filters to limit visible traffic.

  4. Send CAN messages:

    • Manually from the Transmit tab
    • If the message id is in the DBC, a dedicated panel is available to edit signals values
  5. Save / Load CAN logs in multiples formats.

Other tools

CANPeek is designed to be quick & simple, you might find those intersesting:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

canpeek-0.4.0.tar.gz (167.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

canpeek-0.4.0-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

Details for the file canpeek-0.4.0.tar.gz.

File metadata

  • Download URL: canpeek-0.4.0.tar.gz
  • Upload date:
  • Size: 167.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.15

File hashes

Hashes for canpeek-0.4.0.tar.gz
Algorithm Hash digest
SHA256 73070afb40ab2d15886fb85e55d8f9c4a8e2c41bbe4a3d00a87cf854ed482385
MD5 3fc5d2c11fb71be79a368a96d30498c3
BLAKE2b-256 593b9778c2879151cbf893b35c0d6711b269ba8695b3503c7cf29aa79627ee13

See more details on using hashes here.

File details

Details for the file canpeek-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: canpeek-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 21.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.15

File hashes

Hashes for canpeek-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c410b3bb18e5ef7e3875afb59eb7b1c514d10860e993bcaa580f1a5eb6be84c0
MD5 e6891828e7386209bd4045ecfd3cef32
BLAKE2b-256 735a79a0df5c4d99ecd058f0f24a6e69ddace9629959bb54b477233626228d7c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page