UAVCAN

Lightweight open vehicle bus standard for aerospace and robotic applications.

Zubax Robotics is the main developer and maintainer of UAVCAN – an open lightweight data bus standard designed for reliable intravehicular communication in aerospace and robotic applications via CAN bus, Ethernet, and other robust transports.

UAVCAN is an integral part of the Dronecode core infrastructure (the Dronecode project is maintained by The Linux Foundation) and is used by numerous vendors and companies all over the world.

Learn more from the official website at uavcan.org.

Features

  • Democratic network – no bus master, no single point of failure.
  • Publish/subscribe and request/response (RPC) data exchange semantics.
  • Efficient exchange of large data structures with automatic decomposition and reassembly.
  • Lightweight, deterministic, easy to implement, and easy to validate.
  • Suitable for deeply embedded, resource constrained, hard real-time systems.
  • Supports dual and triply modular redundant transports.
  • Supports high-precision network-wide time synchronization.
  • The specification and high quality reference implementations in popular programming languages are free, open source, and available for commercial use (MIT license).

Software libraries

  • Libuavcan - full-featured, highly robust implementation in C++ for embedded systems and Linux.
  • Libcanard - lightweight implementation in C for deeply embedded systems.
  • Pyuavcan - general-purpose, easy to use Python implementation.
  • Uavcan.rs - highly robust multipurpose implementation in the Rust programming language.

Application domains

  • Manned and unmanned aircraft.
  • Spacecraft.
  • Robots.

Related announcements and discussions

NXP Semiconductors is pleased to support UAVCAN V1.0 - Dronecode

Dronecode – 18 Dec 19 NXP Semiconductors is pleased to support UAVCAN V1.0 - Dronecode UAVCAN V1.0 protocol is an open lightweight protocol designed for reliable intra-vehicular communication in aerospace and robotic applications over CAN bus, Ethernet, and other robust transports, is n…

NXP Semiconductors is pleased to support UAVCAN V1.0 - Dronecode

Dronecode – 18 Dec 19 NXP Semiconductors is pleased to support UAVCAN V1.0 - Dronecode UAVCAN V1.0 protocol is an open lightweight protocol designed for reliable intra-vehicular communication in aerospace and robotic applications over CAN bus, Ethernet, and other robust transports, is n…

Data type regulation policy and membership fees

@lorenz.meier predicts that the current set of regulated data type management policies is unsustainable. In his view, the current approach where we combat fragmentation of interfaces used in the UAVCAN ecosystem by encouraging vendors to use and extend existing solutions instead of defining their ow…

RTOS CAN API requirements

Some time ago we discussed that I should put together a list of requirements for a CAN API that has to be implemented in NuttX to make it usable with UAVCAN implementations without the need to access the underlying CAN hardware bypassing the operating system’s abstractions. These requirements are ac…

Deployment for Radiation Monitoring Experiment on Spacecraft :artificial_satellite:

UAVCAN survey 2019

If you are using UAVCAN or anything similar, this survey here is for you: docs.google.com UAVCAN survey 2019 UAVCAN is an open lightweight protocol designed for reliable intravehicular communication in aerospace and robotic applications over CAN bus, Ethernet, and other robust…

UAVCAN 2019 survey

The UAVCAN development team is conducting a survey. Companies that leverage UAVCAN or any similar technologies are invited to participate: docs.google.com UAVCAN survey 2019 UAVCAN is an open lightweight protocol designed for reliable intravehicular communication in aerospace …

Introducing AP_Periph - easy UAVCAN firmware creation

UAVCAN v1.0 and ArduPilot

I thought I should put together some of the thoughts we’re having in the ArduPilot dev community regarding UAVCAN v1.0 versus the existing v0 protocol. I’m one of the people leading the effort for UAVCAN in ArduPilot, and so far I’m not convinced that embracing 1.0 is the right thing for us to do, a…

Jani Hirvinen's talk on UAVCAN at the ArduPilot Developer Conference in China

@jani.hirvinen gave a talk with a practical demo about UAVCAN at the ArduPilot Developer Conference on June 21st: Key points that are most relevant within the context of the current roadmap: At 16:16: “We need more optimized user interfaces”. Ostensibly this is perceived to be an adoption roadblo…