STM32 Nucleo Board
For the remainder of this tutorial we’re going to use a Nucleo F413ZH board which is relatively inexpensive at $20 and easily available. Much of the code we’re going to be working on will work on other Nucleo and other STM32 boards.
The STM32 is one of the most common microcontroller families on the market. There’s a huge number of them for every application, from small toys to industrial devices.

This board is relatively stripped down as far as external devices and has the following features:
- STM32F413ZHT6 with ARM Cortex-M4 CPU running at 100MHz
– 1.5MB of Flash
– 320kB RAM
– 16-bit ADC
– 12-bit DAC
– Peripherals: CANbus, EBI/EMI, I2C, IrDA, LINbus, MMC/SDIO, QSPI, SAI, SPI, UART/USART, USB OTG - 3 LEDs
- 1 user button and 1 reset button
- 32.768 kHz crystal oscillator
- ARM SWD JTAG Board Connector
- On-board ST-LINK debugger and programmer
- Integrated
– SWD
– ST morpho expansion connector - ARDUINO® Uno V3 connector or ST Zio expansion connector
- USB Micro connector
For reference, here are some of the documents you’ll need to refer to when working with this board: