UAVCAN Logo

Intravehicular communication

What is UAVCAN?

UAVCAN is an open lightweight protocol designed for reliable intravehicular communication in aerospace and robotic applications over robust 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

Libuavcan CubeMX FreeRTOS SystemWorkbenchForSTM32
Libuavcan CubeMX FreeRTOS SystemWorkbenchForSTM32
Sep 16 28 posts
CanardRxTransfer payload reading?
CanardRxTransfer payload reading?
Sep 16 19 posts
Proposed New design tenet
Proposed New design tenet
Sep 11 2 posts
On CAN adapters and stateless interfaces
On CAN adapters and stateless interfaces
Sep 10 2 posts
Alternative transport protocols
Alternative transport protocols
Sep 09 9 posts
Structure of libcanard publisher
Structure of libcanard publisher
Sep 06 2 posts
Big-endian vs. little-endian in the context of bit-level encoding
Big-endian vs. little-endian in the context of bit-level encoding
Sep 03 7 posts
Weekly dev call
Weekly dev call
Sep 02 24 posts
Uavcan gui tool toggling messages (mac os)
Uavcan gui tool toggling messages (mac os)
Aug 30 2 posts
Queue Disciplines and Linux SocketCAN
Queue Disciplines and Linux SocketCAN
Aug 29 3 posts
Libuavcan RX timestamps on S32K
Libuavcan RX timestamps on S32K
Aug 26 1 posts
Uavcan and raspberry pi
Uavcan and raspberry pi
Aug 21 4 posts
Error in simple script
Error in simple script
Aug 21 2 posts
Show_data_type_info.py script gives different signatures for one custom message
Show_data_type_info.py script gives different signatures for one custom message
Aug 19 5 posts
FirmfareUpdate. File reading failed
FirmfareUpdate. File reading failed
Aug 19 3 posts

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

Development activity

thirtytwobits closed a pull request “Milestone/0.1.3” at UAVCAN/nunavut
Sep 21
hellboy81 starred UAVCAN/Yukon
Sep 20
KaiqinLin forked UAVCAN/libuavcan
Sep 20
AmmarNoman forked UAVCAN/libuavcan
Sep 19
AmmarNoman forked UAVCAN/pyuavcan
Sep 19
pavel-kirienko created a new branch “udp” at UAVCAN/pyuavcan
Sep 17
pavel-kirienko closed a pull request “Shorter names for key transport parameters” at UAVCAN/pyuavcan
Sep 16
pavel-kirienko closed an issue “SLCAN media driver based on PySerial” at UAVCAN/pyuavcan
Sep 16
pavel-kirienko opened a pull request “Shorter names for key transport parameters” at UAVCAN/pyuavcan
Sep 16
pavel-kirienko created a new branch “minor-renaming” at UAVCAN/pyuavcan
Sep 16
pavel-kirienko opened a pull request “DTLS support in the experimental UDP forwarding type” at UAVCAN/public_regulated_data_types
Sep 13
pavel-kirienko created a new branch “pavel-kirienko-patch-2” at UAVCAN/public_regulated_data_types
Sep 13
pavel-kirienko opened a pull request “Resolve the TAI spec ambiguity” at UAVCAN/public_regulated_data_types
Sep 13
pavel-kirienko created a new branch “pavel-kirienko-patch-1” at UAVCAN/public_regulated_data_types
Sep 13
dakejahl starred UAVCAN/public_regulated_data_types
Sep 13