Development boards / Microcontrollers - part 2 - STM32

 About

Development boards with STM32 MCU are more advanced environment to create prototypes and electronic devices. 
Anyway a lot of STM MCU's with Arm® Cortex® processors is already used in devices around us.

What is STM32?

STM32 is the family of 32-bit microcontrollers based on the Arm® Cortex® processors.

This page contains all informations about STM32 Microcontrollers (specifications, comparisions, manual, documentation etc.)

 
 
Each MCU has own datasheet with reference manual about usage / programming MCU. 
Take some example:
 

Development boards - Comparisions

 It is a plenty of development boards with STM32 MCU. 
 
The most popular: 
  • Nucleo board
  • Discovery board
  • Blue pill board
URL: https://stm32-base.org/boards/ 
Here is comparision of few popular solutions.
 

Development board - STM32F103RB Nucleo-64 with STLINK

For example - STM32 Nucleo-64 with STLINK
 
STM32 Nucleo-64 with STLINK - Source: https://www.st.com/en/evaluation-tools/nucleo-f103rb.html        
 
 
In this datasheet (see URL) is everything about use of choosed development board (pinout, connections, jumpers, size, schematics, power consumptions, warnings etc). So with that rich document of information it is easy to start work with board straight away after unboxing.

Development board - Discovery STM32F411VET6

This is my favorite board because it has a lot of input / outputs, 9 axis sensors, 512Kbytes and ARM CORTEX M4 100Mhz clock, DAC, 2x USB Connectors
 
STM32F411VET6 Development board - Source: Private gallery

 URL: https://www.micro-semiconductor.com/datasheet/ea-STM32F411VCT6TR.pdf
Datasheet of STM32F411VET6
 
Should be useful in prototypes of various applications.

Integrated Development Environment for STM32 from ST Electronics (CubeIDE)

 
Currently IDE provided by ST Electronics helps a lot for configuration all peripherals, clocks, timers, outputs, inputs. It generates configuration to C code.



CubeIDE - Pinout configuration - Source: Private gallery

CubeIDE - Clock configuration - Source: Private gallery




This page contains IDE documentations, manuals, and files to download
 
 
This movie could help to configure you first project.

Low level programing (Registers) / Hardware Abstraction Layer (HAL)

When we creating firmware, we have a lot of possibilities, starting from low-level programming on registers, through using provided libraries (HAL) written in C, that do the lion's share of the work for us. It depends of us what we want to use to programming our part of firmware (C, C++, ASM)
 
Example register map - Source: STM32F446xx manual

 
 
 
 
In this link is description of STM32F4 HAL and low-level drivers.

Example projects

Here is few links of amazing projects based on STM32


 

Komentarze