Für die Software-Entwicklung gibt es mehrere Möglichkeiten: Schnell und einfach geht es mit den Online-Tools der mbed-Webseite, doch wird dies noch nicht von allen Boards unterstützt. Für die Offline-Programmierung gibt es die bekannten IDEs von IAR und Keil, aber auch die kostenlose GCC-basierte IDE TrueStudio von Atollic. Vor dem Einsatz eines Boards muss man zuvor die Treiber für ST-Link installieren. Leider wird dies nicht in der Doku erwähnt – man bekommt die Treiber hier. Man sollte dies zwar vor dem ersten Anschluss des Boards erledigen, doch funktioniert es auch hinterher. Es werden zwei Treiber installiert. ein virtueller COM-Port für ST-Link und ein ST-Link-Dongle.

Nun wird ein USB-Stick eingesteckt. Auf ihm befindet sich der Link zur mbed-Umgebung. Ein Klick darauf und wenn man dann einen (kostenlosen) Account angelegt hat, wird das Board zu den eigenen Plattformen hinzugefügt. Außerdem wird eine Liste an Beispielprogrammen angezeigt, die man in den eigenen Workspace importieren kann. Wenn man mbed verwendet, muss man weiter nichts installieren, denn das Programmieren eines Boards ist nun so einfach wie das Kopieren einer Datei auf den USB-Stick. Das Board führt nach jedem Upload von Software einen Reset aus.

Wer lieber offline arbeitet, der sollte die Libraries downloaden, die zum Board gehören. Es gibt für jede MCU-Familie ein unterschiedliches Paket. Ein Board mit L0-MCU benötigt das Paket STM32CubeL0. Entsprechend ist das Paket STM32CubeF4 für ein Board mit F4-MCU gedacht. Wer wie ich mehrere Nucleo-Boards einsetzen will, der hat einige Zeit damit zu tun, alle Libraries herunterzuladen.

 
Nucleo-144, eine breite Plattform.