Installing Arduino IDE for STM32F103 boards

If you want to use the Arduino IDE for STM32F103 boards, you need to do the following.

The instructions are for Linux, but it is just downloading, extracting and renaming, so you can use similar steps for Windows of Mac OS/X.

Install the Arduino IDE

First, go to the Arduino web site

Select your platform, and download

Extract the IDE

tar xJvf ~/Desktop/arduino-1.8.5-linux64.tar.xz

Rename the directory

mv arduino-1.8.5 arduino

Install the ARM Cortex M3 compiler toolchain

To do this, go to Tools -> Board -> Board, then Board Manager, type "Due".

Install STM32duino

Then download STM32duino


Unzip and rename the directory

cd ~/arduino/hardware/
unzip ~/Desktop/
mv Arduino_STM32-master/ Arduino_STM32
rm ~/Desktop/

From Tools -> Board -> Board -> Board Manager select your board.

For example if you have an STM32F103ZET6, select: STM32F103Z

If you have an STM32F103VET6, select: STM32F103V

Then under Variant, make sure you select STM32F103VE or STM32F103ZE.

If you do not select the proper variant, then you may get an error about no space on flash.

Installing the DigitalWriteFast Library

If your project requires the DigitalWriteFast library, you need to do the following:

cd ~/Desktop
cd Arduino/libraries/
unzip ~/Desktop/
mv Arduino-Libs-master/digitalWriteFast/ .
rm -rf Arduino-Libs-master/
rm ~/Desktop/

That is it! You can now use Arduino for STM32F103 boards.

Note on STM32F405RG boards

The above works for STM32F103 boards, which has full support in STM32duino.

For STM32F405 boards, you need to use Koduino.

First download Koduino


Then install and rename the library

cd ~/arduino/hardware/
unzip ~/Desktop/
mv koduino-master/ koduino
rm ~/Desktop/

Note that Koduino has a different API than STM32duino. So your code may need to change if you plan to run it on different boards.