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.
- How to start
- The project's README (opens in a new tab)
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.
Links
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.