All of our boards were drawn using KiCad and are released under the CC-BY 4.0 license.
Our software is released under MIT license, additionally we have ChibiOS RTOS/HAL (GPLv3 license) and UAVCAN (MIT license) as core dependencies.
The CAN bootloader is released under BSD 2-clause license.

Motor board

The motor board is a small board (31x16mm) with a dedicated STM32F3 microcontroller that is at the core of all our robots since 2015.
We have been using it to control DC motors, motor pumps, and RC servos.
Here are its main features:


IO board

The IO board is a 23x15mm board with a dedicated STM32F3 microcontroller and the following features:

Current application software allows a general purpose usage exposing basic I/O control over UAVCAN: PWM output and digital inputs.


Sensor board

The sensor board is a 23x17mm with a dedicated STM32F3 microcontroller and the following features:

Current application software only supports the distance sensor.
Color sensor support is work in progress.


Beacon board

The Beacon board is a 42x30mm with a dedicated STM32F4 microcontroller and the following features:

Still a work in progress.
Currently basic communication is implemented and distance measurement at low update rate.


CAN USB adapter

The CAN USB adapter allows us to inspect the CAN bus of our robots from our laptops, very convenient. It acts as a read / write translator over the CAN bus, relaying all the traffic over USB, through serial line CAN (SLCAN).

UAVCAN supports SLCAN interfaces, and provides a Python library. This means we can easily interact with the boards on the bus through Python scripts. In fact, this is how we build most of our introspection tools.

We also use this adapter to flash our boards over CAN using our bootloader.

Summary of features:


CAN bootloader

This a general purpose bootloader that we use on all our CAN boards. It allows us to flash them with application firmwares over CAN, thus removing the need to intervene directly on the boards (via debugger). And it stores a small config in the microcontroller's flash that makes it easily traceable (ID, board type).

Its main features are:

Currently supported platforms are: