UAVCAN is an open lightweight protocol designed for reliable intravehicular communication in aerospace and robotic applications over CAN bus, Ethernet, and other robust transports. It is created to address the challenge of deterministic on-board data exchange between systems and components of next-generation intelligent vehicles: manned and unmanned aircraft, spacecraft, robots, and cars.
The name UAVCAN stands for Uncomplicated Application-level Vehicular Communication And Networking.
A high-level overview of the protocol is provided in the article "UAVCAN: a highly dependable publish-subscribe protocol for real-time intravehicular networking".
UAVCAN is a standard open to everyone, and it will always remain this way. No licensing or approval of any kind is necessary for its implementation, distribution, or use. Voluntary monetary donations are welcomed via Open Collective.
First, read the official UAVCAN specification document and familiarize yourself with the regulated DSDL repository. If you have questions or feedback, bring them to the discussion forum.
Pick one of the free open source implementations (MIT licensed) for use in your application:
None of the implementations suit your needs? Write your own! UAVCAN is a very simple protocol; an experienced developer can easily create a custom implementation from scratch to address the unique needs of their application.
The open source tools will help you design, develop, and maintain your UAVCAN-based application:
The old version of the website is still available for historical reasons, but it will be taken down eventually. It contains an older, pre-release edition of the specification and documentation entries that are now obsolete.
Join the forum to start a new discussion. Also, feel free to participate in the weekly dev call.
thirtytwobits opened an issue “Integrate Nunavut generated types and support code.” at UAVCAN/libuavcan