Skip to content

Commit 66c6a97

Browse files
pablogs9FranFin
andauthored
Ref #7991. Supported hardware (#129)
* Update supported hardware * Update structure * Update _docs/overview/hardware/index.md Co-Authored-By: FranFin <58737168+FranFin@users.noreply.github.com> * Update _docs/overview/hardware/index.md Co-Authored-By: FranFin <58737168+FranFin@users.noreply.github.com> * Update _docs/overview/hardware/index.md Co-Authored-By: FranFin <58737168+FranFin@users.noreply.github.com> * Update _docs/overview/hardware/index.md Co-Authored-By: FranFin <58737168+FranFin@users.noreply.github.com> * Fix * Fix Co-authored-by: FranFin <58737168+FranFin@users.noreply.github.com>
1 parent 1442642 commit 66c6a97

4 files changed

Lines changed: 63 additions & 5 deletions

File tree

_docs/concepts/rtos/comparison/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Table:
3838
| POSIX.1c <sup>3</sup> | yes | yes | partial |
3939
| | | | |
4040
| OSEK/VDX | no | no | no |
41-
| **Maturity** | | | ~~~~ |
41+
| **Maturity** | | | |
4242
| First release | 2007 | 2014 | 2016 |
4343
| Last release | 2019 | 2019 | 2019 |
4444
| Update rate | about 3 months | irregular | 3 months |

_docs/overview/hardware/imgs/2.jpg

52.7 KB
Loading

_docs/overview/hardware/imgs/3.jpg

101 KB
Loading

_docs/overview/hardware/index.md

Lines changed: 62 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,24 @@ title: Supported Hardware
33
permalink: /docs/overview/hardware/
44
---
55

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:
77

88
+ MicroChip PIC32MX Family
99
+ Atmel SAMA5Dx
1010
+ STM32F1/2/3/4 and STM32L1/4, that includes many Nucleo board support.
1111
+ Renesas M16C/26
1212
+ NXP/Freescale i.MX1/6 and i.MX RT
1313
+ Silicon Labs EFM32 Gecko and Giant Gecko
14+
+ XTENSA board, that includes ESP32
15+
+ RISC-V boards
1416

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).
1619

1720
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.
1821

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+
1924
## Reference Platforms {#evaluation-boards}
2025

2126
This section describes the main characteristic of the selected boards.
@@ -26,11 +31,16 @@ This section describes the main characteristic of the selected boards.
2631

2732
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.
2833

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:
37+
- [Zephyr](/docs/tutorials/advanced/zephyr/zephyr_getting_started/)
38+
- [Nuttx](/docs/tutorials/advanced/nuttx/nuttx_getting_started/)
39+
- [FreeRTOS](/docs/tutorials/advanced/freertos/freertos_getting_started/)
3040

3141
### Development tools
3242

33-
In order to flash and debug the board, it is required to get a JTAG probe. We recommend getting on of the next JTAG probes:
43+
In order to flash and debug the board, it is required to get a JTAG probe. We recommend getting one of the following JTAG probes:
3444

3545
+ [ARM-USB-OCD-H](https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/)
3646
+ [ARM-USB-TINY-H](https://www.olimex.com/Products/ARM/JTAG/ARM-USB-TINY-H/)
@@ -55,3 +65,51 @@ The (STM32L1 Discovery Kit)[https://www.st.com/en/evaluation-tools/32l152cdiscov
5565
+ [Schematics in PDF](https://www.st.com/resource/en/schematic_pack/32l152cdiscovery_sch.zip)
5666
+ [Bill of Material](https://www.st.com/resource/en/bill_of_materials/32l152cdiscovery_bom.zip)
5767
+ [Gerber files](https://www.st.com/resource/en/bill_of_materials/32l152cdiscovery_bom.zip)
68+
69+
70+
## STM32L4 Discovery kit IoT
71+
72+
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+
<img width="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+
<img width="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

Comments
 (0)