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.

⚠️ This is AI slop — but useful slop.

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
  • 📊 Dual View: Real-time Trace View and hierarchical Grouped View with signal expansion
  • 📁 Multi-DBC support with full signal decoding
  • 🧠 CANopen basic decoder with support for NMT, PDO, SDO, Heartbeat, and more
  • 📦 CAN frame transmitter, supporting both raw and signal-based messaging
  • 📜 Log support: Save/load CAN logs in plain text format

Screenshots

screenshot

Installation

With pip

pip install canpeek
canpeek

From source

  1. Install uv
  2. Run uv run main.py

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

License

MIT License

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.2.1.tar.gz (148.9 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.2.1-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for canpeek-0.2.1.tar.gz
Algorithm Hash digest
SHA256 a9a2ed8d5fec218acc98111968deae0deb68757dc7261d56ef998ec9520cda19
MD5 304c03b6600b3b64e3255e509d05d7ff
BLAKE2b-256 ff8e77f407b8dfe66deeca657cdfb396a107e06a03587c0d273d5c840a90a7d6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for canpeek-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1e6eb4e55a7ced12046a065f3c2657172903f6d28e4f8f664a52a43c4fcbd199
MD5 8559024178abd7f83fc8b9af69bcac84
BLAKE2b-256 d7dfe88b536629a5f4b9294f810e303cea1102cddd2e2f0b0827f8bc590e78eb

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