You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _docs/overview/hardware/index.md
+62-4Lines changed: 62 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,19 +3,24 @@ title: Supported Hardware
3
3
permalink: /docs/overview/hardware/
4
4
---
5
5
6
-
By default, micro-ROS uses [NuttX RTOS](https://nuttx.org/). This RTOS has a big variety of supported MCUs and development boards. The next list shows some of them:
6
+
micro-ROS targets mid-range and high-performance 32-bits microcontrollers families. For now, most of the ports are based on the [STM32 series](https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html) from ST. These kinds of MCU feature ARM Cortex-M processors with many peripherals such as GPIO, communication or coprocessors. By default, micro-ROS uses [NuttX RTOS](https://nuttx.org/), but it also has ports for [FreeRTOS](https://www.freertos.org/) and [Zephyr](https://www.zephyrproject.org/). These RTOSes have a big variety of supported MCUs and development boards. The follwing list shows some of them:
7
7
8
8
+ MicroChip PIC32MX Family
9
9
+ Atmel SAMA5Dx
10
10
+ STM32F1/2/3/4 and STM32L1/4, that includes many Nucleo board support.
11
11
+ Renesas M16C/26
12
12
+ NXP/Freescale i.MX1/6 and i.MX RT
13
13
+ Silicon Labs EFM32 Gecko and Giant Gecko
14
+
+ XTENSA board, that includes ESP32
15
+
+ RISC-V boards
14
16
15
-
Please check [this link](https://cwiki.apache.org/confluence/display/NUTTX/Supported+Platforms) to check the complete list and the status of each board. In case you are interested in porting new boards or MCUs, please check the [next link](https://cwiki.apache.org/confluence/display/NUTTX/Porting+Guide).
17
+
<!-- TODO (pablogs): Update this paragraph to a more generic porting guide link -->
18
+
Please check [this link](https://cwiki.apache.org/confluence/display/NUTTX/Supported+Platforms) to see the complete list and the status of each board. In case you are interested in porting new boards or MCUs, please check the [next link](https://cwiki.apache.org/confluence/display/NUTTX/Porting+Guide).
16
19
17
20
Even though many development boards could be used, we have chosen two of them as references. This page lists the hardware platforms that we use to test and develop micro-ROS, and also accessories that we frequently refer to, such as add-on boards, and JTAG probes.
18
21
22
+
For the ease of use, micro-ROS provides a ready to use example for some development boards. These out-of-the-box examples aim to show micro-ROS capabilities and they are also a starting point for developing embedded ROS 2 applications.
23
+
19
24
## Reference Platforms {#evaluation-boards}
20
25
21
26
This section describes the main characteristic of the selected boards.
@@ -26,11 +31,16 @@ This section describes the main characteristic of the selected boards.
26
31
27
32
The [Olimex LTD STM32-E407](https://www.olimex.com/Products/ARM/ST/STM32-E407/open-source-hardware) is an open-hardware low-cost entry board for developing custom applications with the STM32F407ZGT6 Cortex-M4F microcontrollers from STMicroelectronics.
28
33
29
-
It contains 196KB of RAM and 1MB of Flash. It is a very complete board thanks to the wide variety of communication interfaces it offers: USB OTG, Ethernet, SD Card slot, SPI, CAN or I2C buses are exposed. The board contains various expansion options available: Arduino-like headers for attaching daughter boards, many pins exposed, as well as a UEXT connector. This connector is a custom pin-out bus and is used to attach sensor breakouts sensors that manufacturer sells.
34
+
It contains 196KB of RAM and 1MB of Flash. It is a very complete board thanks to the wide variety of communication interfaces it offers: USB OTG, Ethernet, SD Card slot, SPI, CAN or I2C buses are exposed. The board contains various expansion options available: Arduino-like headers for attaching daughter boards, many pins exposed, as well as a UEXT connector. This connector is a custom pin-out bus and is used to attach sensor breakouts that manufacturer sells.
35
+
36
+
Ports for micro-ROS on all supported RTOS are available for this board. Examples on how to start developing with this board are available:
The [ST B-L475E-IOT01A](https://www.st.com/en/evaluation-tools/b-l475e-iot01a.html) evaluation board is a ready to use IoT kit. This board supports an out-of-the-box micro-ROS + Zephyr port.
73
+
74
+
<imgwidth="400"src="imgs/2.jpg">
75
+
76
+
The STM32L4 Discovery kit IoT enables a wide diversity of applications by exploiting low-power communication, multiway sensing and Arm Cortex M4 core-based STM32L4 Series features.
77
+
The support for Arduino and PMOD connectivity provides unlimited expansion capabilities with a large choice of specialized add-on boards.
78
+
79
+
This board features a STM32L475E MCU with 1 MB of Flash memory and 128 KB of RAM. In addition to the MCU peripherals, the board includes:
80
+
- 64 Mb SPI Flash memory
81
+
- Bluetooth V4.1 module (SPBTLE-RF)
82
+
- 915 MHz low-power RF module (SPSGRF-915)
83
+
- 802.11 b/g/n module (ISM43362-M3G-L44)
84
+
- NFC tag based on M24SR with printed antenna
85
+
- 2 digital microphones (MP34DT01)
86
+
- relative humidity and temperature digital sensor (HTS221)
87
+
- 3-axis magnetometer (LIS3MDL)
88
+
- 3-axis accelerometer and gyroscope (LSM6DSL)
89
+
- digital barometer (LPS22HB)
90
+
- Time-of-Flight and gesture-detection sensor (VL53L0X)
91
+
- programmable push-buttons
92
+
- USB OTG FS with Micro-AB connector
93
+
- on-board ST-LINK/V2 debugger and programmer
94
+
95
+
Examples on how to start developing with this board are available [here](/docs/tutorials/demos/tof_demo/).
96
+
97
+
98
+
## Crazyflie 2.1 Drone
99
+
100
+
As an integration example, the open-source [Crazyflie 2.1](https://www.bitcraze.io/products/crazyflie-2-1/) platform has its own micro-ROS + FreeRTOS port.
101
+
102
+
<imgwidth="400"src="imgs/3.jpg">
103
+
104
+
The Crazyflie 2.1 is a versatile open-source flying development platform that only weighs 27g and fits in the palm of your hand. Crazyflie 2.1 is equipped with multiple inertial sensors and low-latency/long-range radio as well as Bluetooth LE.
105
+
106
+
This little drone features a STM32F405 ARM Cortex-M4 MCU running up to 168 MHz with 1 MB of Flash and 192 KB of RAM. It also features the following sensors and coprocessors:
107
+
- nRF51822 radio and power management MCU (Cortex-M0, 32Mhz, 16kb SRAM, 128kb flash)
108
+
- USB
109
+
- LiPo battery charger
110
+
- 8KB EEPROM
111
+
- 3-axis accelerometer and gyroscope (BMI088)
112
+
- pressure sensor (BMP388)
113
+
- headers with peripheral access: SPI, I2C, UART, 1-wire and GPIO
114
+
115
+
Examples on how to start developing with this board are available [here](/docs/tutorials/demos/crazyflie_demo/).
0 commit comments