u/Firm-Initial3827

▲ 6 r/ROS+1 crossposts

CANviz update: CANopen (CiA 301 +CiA 402) decode shipped (v0.3.2) - drive state without an EDS file

Posted about CANviz a few months back - open source browser-based CAN analyzer. Just shipped v0.3.2 with a full CANopen decoder - figured the robotics crowd would want to know.

The part most relevant here: CiA 402 drive state without loading an EDS. Standard TPDO1 puts Statusword in bytes 0-1, so as soon as heartbeat and PDO frames come in you get Operation Enabled / Fault / Quick Stop / Ready to Switch On per node. Upload an EDS and PDO signals get named and feed into the signal plot.

Without any config at all: frame type labeling from COB-ID, node discovery from heartbeat traffic, NMT state per node, EMCY decode to error code and register flags, SDO request/response pairing with object names from a built-in 180-entry CiA 301/402 dictionary.

There are also NMT command buttons (Operational, Pre-Op, Stop, Reset) and CiA 402 Controlword shortcuts (Enable, Switch On, Shutdown, Quick Stop, Fault Reset) with a confirm step before sending.

I haven't personally tested this against an ODrive or Maxon EPOS. Would like to know what breaks - particularly whether the default TPDO1 assumption holds on drives that use non-standard PDO mappings.

pip install --upgrade canviz

GitHub: https://github.com/Chanchaldhiman/CANviz

u/Firm-Initial3827 — 4 days ago

We're building CANopen (CiA 301 + CiA 402) support for CANviz. Before we finalize the feature set, we want to hear from people actually using CANopen in the field.

Takes 2 minutes. Every answer shapes what we build first.

What would make you use CANviz for CANopen debugging? (pick your top reason)

•PDO signals by name (EDS-based decode)
•CiA 402 drive state live (statusword ->named state)
•SDO read/write without switching tools
•NMT state per node (who’s alive)
•Browser-based, no install required
•Free and open source

Drop a comment if any of these apply to you:

•What hardware you’re using (ODrive, Maxon, Beckhoff, custom…)
•What tool you use today and what’s frustrating about it
•Whether you have EDS files for your devices
•Whether you need SDO write / NMT commands or read-only is enough
•Any specific use case (robotics, industrial, research…)

Current CANviz: pip install canviz - already ships J1939 passive decode, DBC signal plotting, and bus health monitoring.
GitHub: https://github.com/Chanchaldhiman/CANviz

u/Firm-Initial3827 — 11 days ago
▲ 151 r/raspberryDIY+3 crossposts

Stumbled across this on Hackaday and spent an evening with it. Figured it was worth sharing here since it fills a gap I've had for a while.

It's called CANviz. Works with any Candlelight-firmware USB CAN adapter, the cheap ones on Amazon that show up as gs_usb on Windows, no COM port, no driver install. You pip install it, plug in the adapter, and a browser opens at localhost:8080. That's the whole setup.

The v0.2.0 that dropped recently has live signal plotting which is what got my attention, load a DBC, select up to 8 signals. Zoom and pan, threshold lines, and PNG export.

Also has a CLI mode -> `canviz monitor --interface socketcan --channel can0 --dbc vehicle.dbc` renders a live Rich table in the terminal. Actually useful for SSH sessions on a Pi connected to a live bus.

Multi-frame transmit with independent timers per frame was a nice touch too.

Roadmap has J1939 BAM reassembly, OBD-II over raw CAN without ELM327, UDS, CANopen CiA 402 decode, and a reverse engineering toolkit (bit flip rate heatmap, notch filtering).

Hackaday article: https://hackaday.com/2026/04/21/can-bus-analyzer-runs-in-your-browser/

GitHub: https://github.com/Chanchaldhiman/CANviz

u/Firm-Initial3827 — 13 days ago