This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:iot-open:hardware2:stm32 [2023/10/28 17:33] – pczekalski | en:iot-open:hardware2:stm32 [2023/11/23 11:08] (current) – pczekalski | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | === STM32 General Overview | + | < |
- | <box # | + | ====== STM32 ====== |
- | <box # | + | {{: |
The STM32 family is developed and manufactured by STMicroelectronics. They are considered advanced and efficient and are known for great technical documentation, | The STM32 family is developed and manufactured by STMicroelectronics. They are considered advanced and efficient and are known for great technical documentation, | ||
- | For a long time, STM32 delivered MCUs without radio modules; thus, they required external radio communication interfaces for IoT applications. Recently, a series of chips have been available with built-in radio modules, | + | For a long time, STM32 delivered MCUs without radio modules; thus, they required external radio communication interfaces for IoT applications. Recently, a series of chips have been available with built-in radio modules, |
- | STM manufacturer provides developers with development kits, some of which can accommodate popular Arduino shields. They also provide | + | STM manufacturer provides developers with development kits, some of which can accommodate popular Arduino shields. They also offer a development SDK based on the popular Eclipse platform (implemented with Java, thus cross-platform). They also ensure at least 10 years of availability and support. |
STM32 MCUs are known for their energy-efficient operation, making them suitable for battery-powered and low-power IoT applications. | STM32 MCUs are known for their energy-efficient operation, making them suitable for battery-powered and low-power IoT applications. | ||
- | Industrial grade series can handle video processing, TFT displays, and so on, thanks | + | Thanks |
- | === Hardware | + | == Hardware == |
- | STM32 SoCs use ARM Cortex-based cores, starting from M0 to M7 ((https:// | + | STM32 SoCs use ARM Cortex-based cores, starting from M0 to M7 ((https:// |
There are 5 major series of the microcontrollers and microprocessors manufactured by STM: | There are 5 major series of the microcontrollers and microprocessors manufactured by STM: | ||
Line 26: | Line 26: | ||
architecture-based.</ | architecture-based.</ | ||
- | === Processor | + | == Processor == |
- | All STM32 use ARM Cortex cores, | + | All STM32 use ARM Cortex cores, single, double or in pair with another ARM core coprocessor, |
Maximum frequencies depend on the ARM Core model and are between 32MHz for Cortex M0+ cores and 550MHz for H7. Industrial series MP1 hits even 1GHz. | Maximum frequencies depend on the ARM Core model and are between 32MHz for Cortex M0+ cores and 550MHz for H7. Industrial series MP1 hits even 1GHz. | ||
Line 33: | Line 33: | ||
< | < | ||
- | === Memory | + | == Memory == |
Built-in RAM, flash, and EEPROM sizes depend on the family of chips and the exact model within this family. Ultra-low-power devices such as STM32L0 microcontroller have only 2kB of RAM, 128B of EEPROM, and 16kB of flash. Conversely, the STM32H7 microcontroller can have up to 1184kB of RAM and 2MB of built-in flash. Most MCUs can extend the memory externally with SPI (even up to dual QSPI interface). Each STM32 series has its variations that vary in the built-in memory size. | Built-in RAM, flash, and EEPROM sizes depend on the family of chips and the exact model within this family. Ultra-low-power devices such as STM32L0 microcontroller have only 2kB of RAM, 128B of EEPROM, and 16kB of flash. Conversely, the STM32H7 microcontroller can have up to 1184kB of RAM and 2MB of built-in flash. Most MCUs can extend the memory externally with SPI (even up to dual QSPI interface). Each STM32 series has its variations that vary in the built-in memory size. | ||
- | === Networking | + | == Networking == |
Only the STM32 W series provides radio connectivity integrated into the MCU. Currently, there are 4 chip series (and each has its variations regarding enclosure size, memory size (both RAM and flash), number of GPIO pins available, and some advanced functions such as secure keys management, secure boot, etc.: | Only the STM32 W series provides radio connectivity integrated into the MCU. Currently, there are 4 chip series (and each has its variations regarding enclosure size, memory size (both RAM and flash), number of GPIO pins available, and some advanced functions such as secure keys management, secure boot, etc.: | ||
* STM32 WL series ((https:// | * STM32 WL series ((https:// | ||
Line 43: | Line 43: | ||
* STM32 WBA series ((https:// | * STM32 WBA series ((https:// | ||
- | Each series has its variations, e.g., the STM32 WL series has STM32WLE5 and STM32WL54 that do not support LoRa, as well as versions STM32WLE5 and STM32WL55 with LoRa. | + | Each series has variations, e.g., the STM32 WL series has STM32WLE5 and STM32WL54 that do not support LoRa, as well as versions STM32WLE5 and STM32WL55 with LoRa. |
- | === Peripherals | + | == Peripherals == |
- | The STM32 family provides all peripherals and interfaces, but availability and amount depend on the family, series, and particular model. | + | The STM32 family provides all peripherals and interfaces, but availability and amount depend on the family, series, and particular model. STM32 MCUs connect the CPU core to various peripheral modules |
Peripherals include: | Peripherals include: | ||
* GPIO, | * GPIO, | ||
* timers (including hardware-based pulse generation such as PWM and watchdog timers), | * timers (including hardware-based pulse generation such as PWM and watchdog timers), | ||
- | * embedded system protocol interfaces: UART (USART), SPI (even up to dual QSPI), I2C, CAN | + | * embedded system protocol interfaces UART (USART), SPI (even up to dual QSPI), I2C, CAN, |
* ADC and DAC converters, | * ADC and DAC converters, | ||
* USB, Ethernet, SDIO, camera (CSI), display (DSI), | * USB, Ethernet, SDIO, camera (CSI), display (DSI), | ||
Line 65: | Line 65: | ||
</ | </ | ||
- | === Video subsystem | + | == Video subsystem == |
Some STM32 MCUs provide computing performance high enough to handle image and video processing, e.g. STM32F7 and STM32H7 series have hardware-accelerated jpeg (and thus mjpeg) encoding and decoding. MP1 series can be equipped with an optional GPU for 3D acceleration. Some of the MCUs include a built-in TFT display controller. | Some STM32 MCUs provide computing performance high enough to handle image and video processing, e.g. STM32F7 and STM32H7 series have hardware-accelerated jpeg (and thus mjpeg) encoding and decoding. MP1 series can be equipped with an optional GPU for 3D acceleration. Some of the MCUs include a built-in TFT display controller. | ||
- | === Hardware summary === | + | == Hardware summary == |
+ | STM32 shares a common ARM architecture but, depending on the family, has different cores and, thus, performance and applications. The following chapters show a more in-depth review of the STM32 MCU hardware. | ||
+ | <WRAP excludefrompdf> | ||
A detailed hardware summary is present in the following subchapters: | A detailed hardware summary is present in the following subchapters: | ||
- | * [[en: | + | * [[en: |
- | * [[en: | + | * [[en: |
- | * [[en: | + | * [[en: |
- | * [[en: | + | * [[en: |
+ | </ | ||
+ | == The most popular boards == | ||
+ | STM provides developers with popular development boards virtually for any family of MCUs. There are also available 3rd party development boards. | ||
- | === The most popular boards === | + | There are three types of development boards available |
- | STM provides developers with popular development boards virtually for any family of MCUs. There are also available 3rd party development boards, mostly from the Chinese manufacturers. | + | |
- | + | ||
- | There are three types of development boards available: | + | |
* Nucleo series that share pinout with Arduino, enabling an easy use of Arduino shields. They provide developers with a built-in ST-link hardware debugger. | * Nucleo series that share pinout with Arduino, enabling an easy use of Arduino shields. They provide developers with a built-in ST-link hardware debugger. | ||
* Discovery kits, bigger in size and usually rich in connectors, frequently equipped with external sensors such as MEMS (gyro, accelerometer), | * Discovery kits, bigger in size and usually rich in connectors, frequently equipped with external sensors such as MEMS (gyro, accelerometer), | ||
* Evaluation boards are a more advanced version of the Discovery Kits, equipped with a display, external memory, etc. Their purpose is to demonstrate all capabilities of the particular MCU. | * Evaluation boards are a more advanced version of the Discovery Kits, equipped with a display, external memory, etc. Their purpose is to demonstrate all capabilities of the particular MCU. | ||
- | <todo @pczekalski> | ||
+ | Sample USB stick, Nucleo kit and development kit for STM32WB55 are present in figures: {{ref> | ||
+ | |||
+ | <figure stm32wbusb> | ||
+ | {{ : | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | <figure stm32wbnucleoboard> | ||
+ | {{ : | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | <figure stm32wbnucleodevelopment> | ||
+ | {{ : | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | Sample 3rd party evaluation board for STM32F1 MCU is present in the figure {{ref> | ||
+ | <figure STM32F1evalboard> | ||
+ | {{ : | ||
+ | < | ||
+ | </ | ||