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

3 can bus on stm32f4
3 can bus on stm32f4
Jul 17 2 posts
Two-Factor Authentication
Two-Factor Authentication
Jul 16 8 posts
Working example of libcanard
Working example of libcanard
Jul 16 6 posts
Time abstractions for libuavcan v1
Time abstractions for libuavcan v1
Jul 15 1 posts
The firmware upgrade was successful, while the UAVCAN GUI Tool showed one of firmware update requests has timed out
The firmware upgrade was successful, while the UAVCAN GUI Tool showed one of firmware update requests has timed out
Jul 15 2 posts
Hardfault when broadcast 2 differerent messages at once
Hardfault when broadcast 2 differerent messages at once
Jul 15 5 posts
Libuavcan CubeMX FreeRTOS SystemWorkbenchForSTM32
Libuavcan CubeMX FreeRTOS SystemWorkbenchForSTM32
Jul 14 16 posts
Updating ESCs with secondary protocol
Updating ESCs with secondary protocol
Jul 11 1 posts
Uavcan_gui_tool unrecognized message 1027 (windows)
Uavcan_gui_tool unrecognized message 1027 (windows)
Jul 09 1 posts
UniqueID How is it determined?
UniqueID How is it determined?
Jul 08 4 posts
CAN on nuttx OS
CAN on nuttx OS
Jul 04 4 posts
uavcan.protocol.file.BeginFirmwareUpdate
uavcan.protocol.file.BeginFirmwareUpdate
Jul 04 7 posts
Weekly dev call
Weekly dev call
Jul 04 19 posts
UAVCAN: a highly dependable publish-subscribe protocol for real-time intravehicular networking
UAVCAN: a highly dependable publish-subscribe protocol for real-time intravehicular networking
Jul 03 3 posts
SI namespace design
SI namespace design
Jul 03 15 posts

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

Development activity

pavel-kirienko opened an issue “Panel framework -- third-party widget API” at UAVCAN/Yukon
Jul 17
pavel-kirienko opened an issue “Set up continuous integration” at UAVCAN/Yukon
Jul 17
pavel-kirienko opened an issue “Logger / Frame viewer” at UAVCAN/Yukon
Jul 17
pavel-kirienko opened an issue “Style the UI” at UAVCAN/Yukon
Jul 17
pavel-kirienko opened an issue “CLI support” at UAVCAN/Yukon
Jul 17
pavel-kirienko opened an issue “Real-time subscription” at UAVCAN/Yukon
Jul 17
pavel-kirienko opened an issue “Transport frame logging” at UAVCAN/Yukon
Jul 17
pavel-kirienko opened an issue “Integrate PyUAVCAN” at UAVCAN/Yukon
Jul 17
pavel-kirienko created a new tag “1.0.3” at UAVCAN/pydsdl
Jul 16
CarlOlsson forked UAVCAN/public_regulated_data_types
Jul 16
project-kotinos forked UAVCAN/libuavcan
Jul 16
teklike opened an issue “IRQ for STM32L4” at UAVCAN/libuavcan
Jul 15
thirtytwobits closed an issue “Port driver layer to uavcan v1” at UAVCAN/libuavcan
Jul 15
thirtytwobits closed a pull request “Progress on interface abstraction.” at UAVCAN/libuavcan
Jul 15
thirtytwobits forked UAVCAN/specification
Jul 15