Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 24 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
This ROS 2 package is the entry point for building micro-ROS apps for different embedded platforms.

- [Supported platforms](#supported-platforms)
- [Secondary build system tools](#secondary-build-system-tools)
- [Standalone build system tools](#standalone-build-system-tools)
- [Dependencies](#dependencies)
- [Building](#building)
- [Creating micro-ROS firmware](#creating-micro-ros-firmware)
Expand Down Expand Up @@ -43,26 +43,31 @@ This package is the **official build system for micro-ROS**. It provides tools a

*<sup>3</sup> a valid CMake toolchain with custom crosscompilation definition is required*

## Secondary build system tools
## Standalone build system tools

micro-ROS also offers some other ways to crosscompile it for different platforms. These other options are secondary tools and may not have full support for all features. Currently micro-ROS is also available as:

- a standalone **[micro-ROS component for Renesas e<sup>2</sup> studio and RA6M5](https://github.com/micro-ROS/micro_ros_renesas2estudio_component)**: this package enables the integration of micro-ROS in Renesas e<sup>2</sup> studio and RA6M5 MCU family.
- a standalone **[micro-ROS component for ESP-IDF](https://github.com/micro-ROS/micro_ros_espidf_component)**: this package enables the integration of micro-ROS in any Espressif ESP32 IDF project.
- a standalone **[micro-ROS module for Zephyr RTOS](https://github.com/micro-ROS/micro_ros_zephyr_module)**: this package enables the integration of micro-ROS in any Zephyr RTOS workspace.
- a standalone **[micro-ROS module for Mbed RTOS](https://github.com/micro-ROS/micro_ros_mbed)**: this package enables the integration of micro-ROS in any Mbed RTOS workspace.
- a standalone **[micro-ROS module for NuttX RTOS](https://github.com/micro-ROS/micro_ros_nuttx_app)**: this package enables the integration of micro-ROS in any NuttX RTOS workspace.
- a standalone **[micro-ROS module for Microsoft Azure RTOS](https://github.com/micro-ROS/micro_ros_azure_rtos_app)**: this package enables the integration of micro-ROS in a Microsoft Azure RTOS workspace.
- a set of **[micro-ROS utils for STM32CubeMX and STM32CubeIDE](https://github.com/micro-ROS/micro_ros_stm32cubemx_utils)**: this package enables the integration of micro-ROS in STM32CubeMX and STM32CubeIDE.
- a precompiled set of **[Arduino IDE libraries](https://github.com/micro-ROS/micro_ros_arduino)**: this package enables the integration of micro-ROS in the Arduino IDE for some hardware platforms.
- a precompiled set of **[Raspberry Pi Pico SDK libraries](https://github.com/micro-ROS/micro_ros_raspberrypi_pico_sdk)**: this package enables the integration of micro-ROS in the Raspberry Pi Pico SDK.

# Dependencies

This package targets the **ROS 2** installation. ROS 2 supported distributions are:

| ROS 2 Distro | State | Branch |
| ------------ | --------- | --------- |
| Crystal | Supported | `crystal` |
| Dashing | Supported | `dashing` |
| Foxy | Supported | `foxy` |
| Rolling | Supported | `main` |
| ROS 2 Distro | State | Branch |
| ------------ | --------- | ---------- |
| Crystal | EOL | `crystal` |
| Dashing | EOL | `dashing` |
| Foxy | Supported | `foxy` |
| Galactic | Supported | `galactic` |
| Rolling | Supported | `main` |

Some other prerequisites needed for building a firmware using this package are:

Expand Down Expand Up @@ -126,17 +131,17 @@ Please note that each RTOS has its configuration approach that you might use for

In summary, the supported configurations for transports are:

| | FreeRTOS | Zephyr | Mbed |
| ----------------------------- | :---------------: | :----------------: | :----------------: |
| Olimex STM32-E407 | UART, Network | USB, UART | - |
| ST B-L475E-IOT01A | - | USB, UART, Network | UART |
| Crazyflie 2.1 | Custom Radio Link | - | - |
| Espressif ESP32 | UART, WiFI UDP | - | - |
| ST Nucleo F446RE <sup>1</sup> | UART | UART | - |
| ST Nucleo F446ZE <sup>1</sup> | UART | - | - |
| ST Nucleo H743ZI <sup>1</sup> | - | UART | - |
| ST Nucleo F746ZG <sup>1</sup> | UART | UART | - |
| ST Nucleo F767ZI <sup>1</sup> | UART | - | - |
| | FreeRTOS | Zephyr | Mbed |
| ----------------------------- | :---------------: | :----------------: | :---: |
| Olimex STM32-E407 | UART, Network | USB, UART | - |
| ST B-L475E-IOT01A | - | USB, UART, Network | UART |
| Crazyflie 2.1 | Custom Radio Link | - | - |
| Espressif ESP32 | UART, WiFI UDP | - | - |
| ST Nucleo F446RE <sup>1</sup> | UART | UART | - |
| ST Nucleo F446ZE <sup>1</sup> | UART | - | - |
| ST Nucleo H743ZI <sup>1</sup> | - | UART | - |
| ST Nucleo F746ZG <sup>1</sup> | UART | UART | - |
| ST Nucleo F767ZI <sup>1</sup> | UART | - | - |

*<sup>1</sup> Community supported, may have lack of official support*

Expand Down