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

pip install canpeek
canpeek

From source

  1. Install uv
  2. Run uv run canpeek

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 simple .log format.

Log Format

# CAN Bus Log File
# Format: timestamp id is_ext dlc data
0.000123 1AB S 8 DE AD BE EF 00 01 02 03

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.3.0.tar.gz (158.8 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.3.0-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for canpeek-0.3.0.tar.gz
Algorithm Hash digest
SHA256 309b6bf078287d1d3b397991479234d4620f4fbd18bb1f004e674af1e81120f3
MD5 b6215f30907e6df71b592f6250f1a40d
BLAKE2b-256 0a7ca44cd82bdba5a7d72834f6c7916dbe4fc07ec8f56b426adff5f54180f085

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for canpeek-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 961328305cd943cf11997c8e76c99e76c6497725fc0d029d5e3e973efc7b7cdb
MD5 0a968ea34e92633786caea2b1f05f0d6
BLAKE2b-256 8fe1ae8378f92d190db55009060fecb8b5b3753ad89f4afd1f1fbb003dc9d8fc

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