OpenCyphal libcanard
- Software
- Middleware
- Library
A C implementation of the Cyphal/CAN transport layer for high-integrity real-time embedded systems, supporting Cyphal v1.1, v1.0, and legacy UAVCAN v0 (DroneCAN).
Made by OpenCyphal.
Source on GitHub: github.com/OpenCyphal/libcanard (opens in a new tab). Facts read at commit 1206003 (opens in a new tab).
Licenses
- Code
- MIT (opens in a new tab)
Read by Robotheca from LICENSE (opens in a new tab) (MIT) at commit 1206003 (opens in a new tab), on 16 Oct 2026.
- Commercial use
- Yes
What it does
- Supports both Classic CAN and CAN FD, in redundant and non-redundant configurations.
- Compatible with 8/16/32/64-bit platforms, including very resource-constrained bare-metal microcontrollers.
- Keeps the interface to the underlying platform minimal, so it can be adapted quickly to any CAN-enabled microcontroller.
- Provides an API for publishing and subscribing to messages, and for ingesting received CAN frames.
- Configures CAN acceptance filters automatically from the current subscription set.
- Supports passive, decentralized node-ID autoconfiguration, and manual node-ID assignment.
Written by Robotheca from the project's README (opens in a new tab) at commit 1206003.
Getting started
- Difficulty
- Advanced
- How to start
- The project's README (opens in a new tab)
Maintenance
- Status
- Maintained: a commit in the last 12 months
- Newest commit
- 2 Jul 2026 on master
- Latest release
- v4.0.0 (10 Jan 2026)
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.