UAVCAN Logo

Intravehicular communication

What is UAVCAN?

UAVCAN is an open lightweight protocol designed for reliable communication in aerospace and robotic applications over robust vehicular networks such as CAN bus.

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.

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.

Features

How do I use UAVCAN?

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.

Recent discussions

Where to find great example of using UAVCAN in embedded system?
Where to find great example of using UAVCAN in embedded system?
Mar 23 9 posts
Data type versioning in 1.0
Data type versioning in 1.0
Mar 22 1 posts
Yukon UI & Rest API
Yukon UI & Rest API
Mar 21 11 posts
DSDL documentation comments
DSDL documentation comments
Mar 21 1 posts
Why DB9 male on the device?
Why DB9 male on the device?
Mar 20 5 posts
Failure on GUI Start Due to Incorrect Search Path for .uavcan Files
Failure on GUI Start Due to Incorrect Search Path for .uavcan Files
Mar 19 7 posts
PR preparations for the upcoming UAVCAN v1.0 release: new website, new logo
PR preparations for the upcoming UAVCAN v1.0 release: new website, new logo
Mar 19 28 posts
Weekly dev call - Meeting notes
Weekly dev call - Meeting notes
Mar 14 18 posts
Libcanard on zubax babel
Libcanard on zubax babel
Mar 10 2 posts
Firmware update via GUI tool
Firmware update via GUI tool
Mar 07 5 posts
GUI Is Not Populating Node Info
GUI Is Not Populating Node Info
Mar 06 8 posts
GUI Tool – Next Generation
GUI Tool – Next Generation
Mar 04 41 posts
High level node descriptor
High level node descriptor
Feb 28 4 posts
Custom message signature fail
Custom message signature fail
Feb 26 9 posts
Proposed new UAVCAN repo and pypi distribution
Proposed new UAVCAN repo and pypi distribution
Feb 26 6 posts

Join the forum to start a new discussion. Also, feel free to participate in the weekly dev call.

Development activity

pavel-kirienko pushed 1 commits to UAVCAN/pydsdl
Mar 22
pavel-kirienko opened a pull request “One step away from Turing completeness” at UAVCAN/pydsdl
Mar 22
pavel-kirienko pushed 1 commits to UAVCAN/pydsdl
Mar 22
pavel-kirienko pushed 2 commits to UAVCAN/pydsdl
Mar 22
pavel-kirienko pushed 1 commits to UAVCAN/pydsdl
Mar 22
pavel-kirienko created a new branch “coveralls” at UAVCAN/pydsdl
Mar 22
pavel-kirienko pushed 1 commits to UAVCAN/pydsdl
Mar 22
pavel-kirienko pushed 3 commits to UAVCAN/pydsdl
Mar 22
pavel-kirienko pushed 1 commits to UAVCAN/pydsdl
Mar 22
pavel-kirienko pushed 3 commits to UAVCAN/pydsdl
Mar 22
pavel-kirienko pushed 2 commits to UAVCAN/pydsdl
Mar 22
Zarkopafilis closed a pull request “Node List with filters, backend structure (dummy data)” at UAVCAN/Yukon
Mar 21
Zarkopafilis pushed 1 commits to UAVCAN/Yukon
Mar 21
pavel-kirienko pushed 1 commits to UAVCAN/pydsdl
Mar 21
pavel-kirienko pushed 3 commits to UAVCAN/pydsdl
Mar 21