Competition is fierce among microcontroller manufacturers. One of the reasons is that putting an MCU together has become pretty easy: just license a core from a well-known UK MCU core designer (no, not IKEA), buy some peripheral IPs from other vendors, put it all on a chip and away you go. The result is an exponential growing number of MCUs and ditto manufacturers. However, making an MCU is one thing, selling it is quite another and so MCU manufacturers are designing all sorts of product evaluation boards intended to trick a maximum number of potential users into using their products.

STMicroelectronics has a reputation for both good microcontrollers and good development tools. Their Nucleo line of low-cost rapid prototyping boards, a sort of evolution of the popular Discovery boards from a few years back, is a good example of how to target a large audience. Designed for the STM32 processor family the boards are Arduino, ARM mbed and ST Morpho compatible, making it accessible to beginners, advanced makers and professional users.

A trinity of trinities

The website supporting the Nucleo series currently lists 26 different boards, which is not bad at all. The boards come in three versions: small (Nucleo-32), short (Nucleo-64) and long (Nucleo-144) where the numbers refer to the pin counts of the MCUs. These three groups are divided further into three more groups: ultra-low-power (green), mainstream (blue) and high-performance (magenta). The small (50x19 mm) Nucleo-32 boards are Arduino Nano compatible, the other two are Arduino Uno R3 compatible and also have ST Morpho extension connectors that break out all the MCU pins. With a huge amount of Arduino compatible shields available on the internet it should be easy to quickly cobble something together.

Nucleo-32 are Arduino Nano size.

The boards from one size family are all identical except for the processor making it easy to compare performance or to scale up or down if your application allows it: simply plug in a different processor board.

The ultra-low-power boards are based on the STM32 L family that target smart meters & watches and the like. Once again three subcategories can be distinguished:
  • L0, ARM Cortex-M0+
  • L1, ARM Cortex-M3
  • L4, ARM Cortex-M4

Half of the STM32 F family is at the heart of the mainstream boards. Again there are three subcategories:
  • F0, ARM Cortex-M0+
  • F1, ARM Cortex-M3
  • F3, ARM Cortex-M4

The other half is used on the high-performance boards:
  • F2, ARM Cortex-M3
  • F4, ARM Cortex-M4
  • F7, ARM Cortex-M7

Together all the boards cover flash memory sizes from 16 KB up to 2 MB, RAM from 4 KB to 320 KB, and clock frequencies from 32 MHz to 216 MHz. Indeed, Nucleo is a pretty broad platform.

Other hardware

If you can’t find an Arduino shield, know that there is also a choice of Nucleo expansion boards available from ST (and their resellers). These boards are quite interesting, also for Arduino users, as they are Arduino compatible shields that pack several sensors on one board. The multi-sensor board for instance features a 3D accelerometer + 3D gyroscope, a 3D magnetometer, a pressure sensor, a relative humidity & temperature sensor plus an extension socket for even more sensors. Very interesting also is the VL6180X proximity, ranging and light sensing board.

The VL6180X proximity, ranging and light sensing board.

All the boards sport an ST-LINK/V2.1 programmer/debugger so the only extra hardware you must add to get started is a USB mini-B cable for the Nucleo-64 and Nucleo-144 boards, or a USB micro-B cable for the Nuceo-32 boards. And, of course, a computer running Windows XP or higher. Developing under Linux is also possible, but you will have to do more work to get the tools up and running. On the internet you can find tutorials explaining how to do this.