Chapter 4

STM32 Nucleo Development Boards

Abstract

The STM32 Nucleo family of low-cost microcontroller development boards is small but powerful boards based on the state-of-the-art 32-bit ARM Cortex-M architecture. These development boards are targeted for a large audience, including students, professional engineers, and hobbyists at all levels. The boards are compatible with the popular Arduino, Mbed, ST-LINK, and ST Morpho, making it accessible to the users with different backgrounds. In addition to many hardware extension modules, the Nucleo family is supported by several software development tools and integrated development environments (IDEs), such as professional compilers, debuggers, and in-circuit programming tools. This chapter describes the types of the STM32 Nucleo development boards available and compares their advantages and disadvantages.

Keywords

STM32; Nucleo development board; Cortex-M0; Cortex-M3; Cortex-M4; Cortex-M7; ST-LINK; Mbed; Morpho

4.1 Overview

This chapter is about the STM32 Nucleo development boards. Brief specifications of some of the Nucleo development boards are described in the chapter.

4.2 STM32 Nucleo Development Boards

The STMicroelectronics is an Italian-French multinational electronics manufacturing company with headquarters in Geneva, Switzerland. Also called ST for short, it is Europe's largest semiconductor chip maker. The company has 7400 people working in R&D, holds 17,000 patents, 9500 patent families, and has filed 500 new patents in 2017. The company employs 45,500 people and its revenue was $8.35 billion in 2017. With 80 sales and marketing offices in 35 countries and 11 main manufacturing sites, ST is one of the leading electronics technology innovator supplying high-quality microcontroller development boards, various electronics hardware, and software development tools.

The Nucleo family of low-cost development boards is small but powerful boards based on the state-of-the-art 32-bit ARM Cortex-M architecture. These development boards are targeted for a large audience, including students, professional engineers, and hobbyists at all levels. The boards are compatible with the popular Arduino, Mbed, ST-LINK, and ST Morpho, making it accessible to the users with different backgrounds. In addition to many hardware extension modules, the Nucleo family is supported by several software development tools and integrated development environments (IDEs), such as professional compilers, debuggers, and in-circuit programming tools.

There are over 30 different boards in the Nucleo family, aimed to satisfy the needs of almost all users with various backgrounds. Basically, the Nucleo boards come in three different sizes where the numbers below refer to the pin counts of the MCUs used on the boards:

  •  Small (Nucleo-32)
  •  Short (Nucleo-64)
  •  Long (Nucleo-144)

These three groups are further divided into three subgroups, identified by three different colors:

  •  ultralow power (green)
  •  mainstream (blue)
  •  high performance (magenta)

The ultralow-power boards are based on the STM32 L family and these boards are targeted for low-power applications, such as watches, smart meters, etc. Examples of the ultralow-power boards are: Nucleo-L011K4, Nucleo-L031K6, Nucleo-L432KC, and Nucleo-L433RC-P. There are three subcategories in the STM32 L family:

  •  L0, ARM Cortex-M0 +
  •  L1, ARM Cortex-M3
  •  L4, ARM Cortex-M4

About half of the STM32 Nucleo boards are in the mainstream category. Examples of the mainstream boards are: Nucleo-F303K8, Nucleo-F042K6, Nucleo-F303RE, etc. There are three subcategories in the mainstream category:

  •  F0, ARM Cortex-M0 +
  •  F1, ARM Cortex-M3
  •  F3, ARM Cortex-M4

The high-performance boards have large memories and faster MCUs. Examples of high-performance boards are: Nucleo-F410RB, Nucleo-F401RE, Nucleo-F722ZE, etc. There are three subcategories in the high-performance category:

  •  F2, ARM Cortex-M3
  •  F4, ARM Cortex-M4
  •  F7, ARM Cortex-M7

The Nucleo-32 boards are small (50 mm × 19 mm) and are Arduino Nano compatible. The Nucleo-64 and Nucleo-144 boards are Arduino Uno compatible and they also have the standard ST Morpho extension connectors which carry the MCU pins. There are a large number of Arduino Nano/Uno compatible shields available in the market and these shields can easily be used with the Nucleo boards, thus making it easy to quickly develop projects using the Nucleo boards.

Depending upon the model, the Nucleo boards have flash program memory sizes ranging from 16 KB to 2 MB, and RAM memories ranging from 4 to 320 KB. The clock frequency varies from 32 to 216 MHz.

Fig. 4.1 shows a comparison of the Nucleo boards available at the time this book was written.

Fig. 4.1
Fig. 4.1 Nucleo boards. (Used with permission from ©STMicroelectronics.)

4.2.1 Nucleo-32 Development Boards

Fig. 4.2 shows an example of Nucleo-32 board, the Nucleo-L031K6. This is an ultralow-power low-cost board incorporating the 32-pin STM32L031K6T6 microcontroller. The board is Arduino Nano compatible so that a large number of Arduino Nano shields can be used with the board. This board has the following features:

  •  32 MHz Cortex M0 + microcontroller in 32-pin package
  •  32 KB flash memory
  •  8 KB RAM
  •  1 KB EEPROM
  •  Real-time clock
  •  Serial interfaces (USART, SPI, and I2C)
  •  3 LEDs (USB communication, power, and user)
  •  Push-button Reset
  •  Flexible power-supply options: ST-LINK USB VBUS or external sources
  •  Arduino Nano compatible expansion connector
  •  ST-LINK/V2-1 debugger/programmer with mass storage, virtual COM port, and debug port
  •  Support for IDE software (IAR, Keil, ARM mbed, and GCC-based IDEs).
Fig. 4.2
Fig. 4.2 Nucleo-32 development board (Nucleo-L031K6).

4.2.2 Nucleo-64 Development Boards

Fig. 4.3 shows an example of Nucleo-64 board, the Nucleo-F091RC. This is a mainstream board incorporating a 64-pin MCU. The board is Arduino Uno compatible and as such a large number of Arduino Uno shields can be used with the board. This board has the following features:

  •  1 user LED
  •  1 user push-button switch
  •  32.768 kHz crystal oscillator
  •  ST morpho connector
  •  Arduino Uno expansion socket
  •  Flexible power-supply options: ST-LINK USB VBUS or external sources
  •  ST-LINK/V2-1 debugger/programmer with mass storage, virtual COM port, and debug port
  •  Comprehensive free software libraries
  •  Support of a wide choice of IDE software (IAR, Keil, ARM mbed, and GCC-based IDEs)
Fig. 4.3
Fig. 4.3 Nucleo-64 development board (Nucleo-F091RC).

4.2.3 Nucleo-144 Development Boards

Fig. 4.4 shows an example of Nucleo-144 board, the Nucleo-F722ZE. This is a high-performance board incorporating a 144-pin MCU. The board is Arduino Uno compatible. The features of this board are:

  •  Ethernet compliant with RJ45 connector
  •  ST morpho connector
  •  ST-LINK/V2-1 debugger/programmer with mass storage, virtual COM port, and debug port
  •  ST Zio connector
  •  3 user LEDS
  •  2 push-button switches
  •  32.768 kHz crystal oscillator
  •  Flexible power-supply options: ST-LINK USB VBUS or external sources
  •  Comprehensive free software libraries
  •  Support of a wide choice of IDE software (IAR, Keil, ARM mbed, and GCC-based IDEs)
Fig. 4.4
Fig. 4.4 Nucleo-144 development board (Nucleo-F7222ZE).

4.3 STM32 Nucleo Expansion Boards

A large number of expansion boards are offered by the STMicroelectronics. These expansion boards are fully compatible with the Nucleo development boards and they just plug on top of the development boards. There are many expansion boards that can be used in many sensor and actuator-based applications. Some of the commonly used expansion board provide the following functionalities:

  •  Wi-Fi
  •  Bluetooth
  •  Brushed DC motor controller
  •  Stepper motor controller
  •  Brushless DC motor controller
  •  LED driver
  •  NFC card detection
  •  Industrial input-output
  •  Microelectromechanical system (MEMS) accelerometer, gyroscope, temperature sensor, humidity sensor, and atmospheric pressure sensor
  •  Relay output board

For example, the Wi-Fi expansion board can be used when it is required to develop a microcontroller-based application using a Nucleo development board to establish Wi-Fi-based communication (e.g., an Internet application, or remote monitoring and control application). All the user has to do is plug the Wi-Fi expansion board on top of the Nucleo development board and power up the Nucleo board. The required software can then be developed easily using, for example, the Wi-Fi library provided by Mbed. In addition to the libraries, various sample programs are provided by Mbed for using the expansion boards in projects. With the help of these libraries, a project can be developed in considerably less time since the expansion board has already been tested and working. It is also an advantage that the user does not need to know much about the configuration or the hardware design of the expansion board.

4.4 Summary

In this chapter, we have learned about the following:

  •  Nucleo board family
  •  Types of Nucleo boards
  •  Basic features of the various Nucleo boards
  •  Nucleo expansion boards

4.5 Exercises

  1. 1. Explain how many types of Nucleo boards are there.
  2. 2. Draw a table and compare the features of different types of Nucleo boards.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
44.200.77.92