**[[http://uavcan.org|UAVCAN]] is a lightweight protocol designed for reliable communication in aerospace and robotic applications.** The core design goals listed below help explain the basic UAVCAN concepts and the motivation behind them. * **Democratic network** - There is no master node. All nodes in the network have the same communication rights so that there is no single point of failure. * **Publish/subscribe or request/response (RPC) exchange semantics** - High-level communication mechanisms simplify application design. * **Nodes can exchange long payloads** - Nodes are provided with a simple way to exchange large data structures that cannot fit into a single CAN frame (such as GNSS solutions, 3D vectors, etc.). UAVCAN performs automatic transfer decomposition and reassembly at the protocol level, hiding the related complexity from the application. * **Support for redundant interfaces and redundant nodes** - This is a common requirement for safety-concerned applications. * **High throughput, low latency communication** - Applications that are dependent on high-frequency, hard real-time control loops, require a low-latency, high-throughput communication method. * **Simple logic, low computational requirements** - UAVCAN targets a wide variety of embedded systems, from high-performance embedded on-board computers for intensive data processing (e.g., a high-performance Linux-powered machine) to extremely resource-constrained microcontrollers. The latter imposes severe restrictions on the amount of logic needed to implement the protocol. * **Common high-level functions should be clearly defined** - UAVCAN defines standard services and messages for common high-level functions, such as network discovery, node configuration, node firmware update, node status monitoring (which naturally grows into a vehicle-wide health monitoring), network-wide time synchronization, dynamic node ID allocation (a.k.a. plug-and-play), etc. * **Open specification and reference implementations** - The UAVCAN specification is open and freely available; the reference implementations in popular programming languages are distributed under the terms of the MIT License. More information at [[http://uavcan.org|uavcan.org]] and the [[https://forum.uavcan.org/t/uavcan-a-highly-dependable-publish-subscribe-protocol-for-real-time-intravehicular-networking/557 | User Forum]] \\ [[ https://www.kvaser.com/uavcan/ | What is UAVCAN]] an interesting summary on the UAVCAN application compiles by Kvaser