Skip to content

canopen (Python)

  • Software
  • Robot arms and industry
  • Library

A Python library implementing the CANopen standard, aimed mainly at testing and automation rather than as a fully compliant master. It is mainly meant to be used as a master.

Made by canopen-python.

Source on GitHub: github.com/canopen-python/canopen (opens in a new tab). Facts read at commit 14b3336 (opens in a new tab).

Licenses

Code
MIT (opens in a new tab)

Read by Robotheca from LICENSE.txt (opens in a new tab) (MIT) at commit 14b3336 (opens in a new tab), on 16 Oct 2026.

Commercial use
Yes

What it does

  • Acts mainly as a master, providing NMT, SDO client, PDO, SYNC, EMCY consumer, TIME producer and LSS master functions.
  • Builds object dictionaries from EDS files and supports 402 profile use.
  • Offers incomplete support for creating slave nodes, including an SDO server, PDO, NMT slave and EMCY producer.
  • Reaches CAN buses through the python-can package, which supports multiple hardware and drivers.
  • Lets users read and write object dictionary entries, remap PDOs, and start SYNC transmission.

Written by Robotheca from the project's README (opens in a new tab) at commit 14b3336.

Getting started

Difficulty
Intermediate
Hardware it needs, as the project states it
Supports multiple CAN hardware and drivers through the python-can package; a CAN interface is needed to connect to a bus. Requires Python 3.9 or newer.

Maintenance

Status
Maintained: a commit in the last 12 months
Newest commit
28 Jun 2026 on master
Latest release
v2.4.1: PyPI compatibility hot-fix (5 Aug 2025)

Checked on GitHub on 16 Oct 2026.

Robots that can run it

No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.