ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

micro-ROS at the European Robotics Forum 2020

The micro-ROS team will participate at this year’s European Robotics Forum 2020 from the 3rd till the 5th of March in Malaga (Bosch booth nr 27) presenting not only the current status of the project but also a highly interesting showcase.

Nowadays, a robot is no longer an isolated system, but a distributed set of sensors and actuators, many times running on small resource-constrained embedded devices (microcontrollers), and connected through wired and wireless connections.

In order to demonstrate the capacities of micro-ROS in real-time operating systems, eProsima ported micro-ROS to three resource-constrained devices that run with micro-ROS on three different real-time operating systems.

To showcase the interaction of this holistic system the team chose a Kobuki TurtleBot 2 using NuttX, a ToF laser ranging sensor running on Zephyr RTOS and a Crazyflie 2.1 Bitcraze Drone running FreeRTOS.

In the case of the laser, when interrupted, publishes a topic which the TurtleBot 2 is subscribed to. After receiving the message, the Kobuki reacts on it, in this case, doing an emergency stop.

The Crazyflie, on the other hand, publishes its IMU information which can be visualized in RViz. This IMU information is transformed into velocity commands which the TurtleBot 2 is subscribed to. The “roll” of the Crazyflie, for example, controls the direction of the TurtleBot 2 and the “pitch” controls the back and forward movement.

The demo validates and displays beautifully how two or more microcontrollers can collaborate in a bigger robotic system, thus reducing the cost and size of robots.


The following is a detailed list of the platform, board and RTOS used in this demo:

  • Crazyflie 2.1: STM32F405 MCU, Cortex-M4, 168 MHz, 192 KB SRAM and 1 MB Flash with FreeRTOS,
  • ToF attached to ST Disco IoT: STM32L4 MCU, Cortex-M4, 128 KB SRAM and 1 MB Flash with Zephyr,
  • Turtlebot 2 with Olimex E407: STM32F40 MCU, Cortex-M4, 196 MB SRAM and 1 MB Flash with NuttX.