Journey to mbed Platform – Part 1

This post is more to my note than a tutorial or article, so that I can get back to it when trying to replicate the steps. But hopefully you’ll find it useful as well. Keep in mind, I’m using Mac as development machine. If you use Windows or Linux, some of steps may not be compatible.

So, got my first STM32 board, STM32F401 Nucleo development board. Although it has its own development framework, it seems the world has been taken its attention to ARM mbed platform. It seems the community is quite vibrant, a lot of libraries and sample code, and possibly I can code cross platform with another ARM-based board.


To start, I create an account in mbed developer website. Then my attention goes to NUCLEO-F401RE page.

Updating Firmware

Get the file

As described in NUCLEO page, I should upgrade the Firmware to the latest version. I follow this link, that eventually requires me to download the latest ST-LINK/V2-1 firmware here. You’ll be presented STSW-LINK007 page, go to the bottom of the page and click Download button. A file named “” will be downloaded.

Extract the zip file and you’ll get these files inside the newly extracted folder:

Screen Shot 2015-12-07 at 3.46.36 AM.png

Open STLinkUpgrade software

As I’m using OSX, I should open “STLinkUpgrade.jar” file. Make sure you have Java installed on your OSX, as it’s not installed by default. Right click to the file, select “Open”, to make sure it’s opened (in my case, I only allow software from certified developer).

Screen Shot 2015-12-07 at 3.53.03 AM.png

Connect the board

If you find an empty list in device list, that’s because you have not connect the board to your computer. Find a Mini USB cable (as it’s not bundled when you buy the board), then connect the board to your computer. Then on the upgrade software, click “Refresh device list”, you’ll get something like this:

Screen Shot 2015-12-07 at 3.57.12 AM.png

Click “Open in update mode”, current firmware version will be displayed. Don’t worry if your Mac warns you that “Disk Not Ejected Properly”, that’s because initially the board is attached as USB mass storage, then it’s unplugged by the software.

Finally, “Upgrade” button will be enabled, just click it. If everything goes smooth, few seconds later your Nucle board will have a new firmware.

ST-LINK/V2 driver

In the getting started page, there’s a requirement to install ST-LINK/V2 driver. It directs me to this link, and I can’t find any driver installers for OSX.

Looking around on the forum, I found this discussion, and turned out for OSX (and Linux?), I don’t need to install anything for Nucleo board to be recognized by OSX. Hurray!

What next?!