First of all I have to say that I am a real fan of this microcontrollers. This happened mainly because the STM32 microcontroller family from ST Microelectronics is a very powerful series that offers good value for money. Furthermore, they are based on 32-bit ARM Cortex-M cores and additionally offer many peripherals. The range begins with the ultra low power STM32L0 series which incorporates an ARM Cortex-M0 core. It ends with the high performance STM32F7 controller, based on the ARM Cortex-M7 core. Below you can find a short overview about the range offered.
In addition to this very broad range of options they offer high quality development boards that are really affordable. In this post I will mainly talk about the Nucleo boards. An advantage is that they are built to be compatible with the Arduino form factor. Consequently, this ensures that you get access to many expansion boards for your prototyping stage in development. On this site you can find all Nucleo boards that are available.
Another advantage is that there is an online compiler available that makes them completely independent from the operating system. It is called ARM mbed and accessible here. There are various code snippets and classes(libraries) available for many extensions such as displays, sensors and many more. You just need to include them in your project and they mostly just work. Programming this way is comparable to programming Arduinos. Another possibility is to use special software packages like the SW4STM32. It is based on Eclipse which open source and available for different platforms. This software also has the STM32CubeMX software built in for automatic code generation and supports debugging via the ST-LINK debugger which is implemented on every development board.
These development boards have 32 pins which are directly compatible to the form factor of the Arduino mini. Although these boards are so small they also have the ST-LINK/V2 onboard which allows you to program them directly without separate programmer. Additionally there is a header that is not populated for using only the ST-LINK debugger to program microcontrollers which are attached e.g. to self-made PCBs. It embeds three LEDs where one is User programmable, one for USB connection and one is acting as power LED. Because of their form factor Nucleo-32 boards are especially handy if they are used together with breadboards. These boards are available with Cortex-M0 processors up to Cortex-M4 which offer a very broad range of functionality.
As shown in the picture on the right this development board has two different sets of connectors. The inner connectors are matching the Arduino Uno Rev 3 pinout. The outer connectors give access to all the pins of the microcontroller, this interface is called Morpho extension. These boards are divided into two parts. The upper part is the ST-LINK debugger/programmer which can be separated for standalone purposes. The Nucleo-64 has the same number of LEDs as the 32-pin variant but has additionally a user push button. As its smaller companion these boards are also available with Cortex-M0 up to Cortex-M4 processors.
These development boards are the biggest boards of this series. The populated connectors are named ST Zio connectors and offer compatibility with Arduino Uno Rev 3 extension boards. The other non populated headers are called Morpho and offer connection to all of the 144 pins of the microcontroller. Like the Nucleo-32 board also this board has a separated section for the ST-Link debugger. Some boards of this series have a populated RJ-45 connector for ethernet connectivity. Furthermore, the board offers three user LEDs and one user push button. These boards are available with Cortex-M3 up to Cortex-M7 processors. This series is the only one that do not offer ultra low-power microcontrollers but only mainstream and high performance ones.
The Nucleo development boards are especially interesting for people who switch from Arduino to STM32 microcontrollers because many of the Arduino shields are also suitable for the Nucleo development boars. If the ARM med online compiler is used it is very easy to take the first steps into this new world. All the boards offer access to all pins of the microcontroller which does not limit any of the possibilities of the controllers. Additionally to all those advantages the Nucleo boards are very cheap and widely available. There are also other development boards offered by ST Microelectronics which are also very interesting. Please have a look here to have a look.
Please tell me in the comments below if you liked this post and give me your thoughts about this topic. Next, I am planning to create a tutorial series for getting started with STM32 microcontrollers.