Change the world

Control Software

On the site it is assumed that the student is going to use ARM products from STMicroelectronics for their development work.  You have the following requirements before you can start writing and testing code on the ARMmbed Developer site:


Hardware Platform

Select a hardware platform from the Platform page (  Select the STMicroelectronics option in the Target vendor filter section to show platforms from only STMicroelectronics.  Of the popular platforms used here at NMMU, only the STM32F429I-Discovery and STM32F746NG-Discovery are directly ARMmbed compatible. 

To use the STM32F4-Discovery you can use the Seeed Arch Max platform which is a close match.  It uses the STM32F407VET6 (512KB Flash, 192 KB RAM) ARM microcontroller as opposed to the STM32F407VGT6 (1 MB Flash, 192 KB RAM).

Clicking on a platform will bring up a page with feature and pinout information regarding the platform:



If you are going to use this platform in a current or future project, you can now click on the Add to your mbed Compiler link.  This can also be done at a later stage.


STM32 ST-LINK USB Driver and Utility

The STM32 ST-LINK Utility, by STMicroelectronics, a freeware package for Windows to perform in-system programming of STM32 microcontrollers using the USB-based ST-LINK/V2 interface device via JTAG or SWD debug bus protocols.  The hardware platforms host this ST-LINK hardware based on one of the following popular versions:

  • ST-LINK/V2

Supports in-circuit programming using the ST-LINK Utility or directly from an offline IDE (such as Keil uVision).  Examples of platforms that use this version are: STM32F0-Discovery, STM32F3-Discovery, STM32F4-Discovery, and STM32F429I-Discovery.

  • ST-LINK/V2-1

Supports the same in-circuit programming methods as ST-LINK/V2, but with the added option of “drag-and-drop”.  When the platform is connected to a USB port, a computer sees it as another drive and the user can then simply drag and drop the program binary to this “drive” to program the device without using the ST-LINK Utility.  The STM32F746NG-Discovery is a popular platform that uses this version.

Regardless of which hardware platform you are going to use for your development, you will have to first install the USB driver for ST-LINK/V2 and ST-LINK/V2-1 so that the computer can detect the hardware platform when it is connected to the USB port (

If your selected hardware platform then requires the use of the ST-LINK Utility, you can install this ( next before starting your development work.