The first thing you will need to do is to download the latest release of the Arduino IDE. You will need to be using version 1.8 or higher for this guide

Thankfully the Adafruit board support is now supported directly from STM32duino so you can simply install it:

From the File menu select Preferences

Find the Additional Board Manager URLs text box.

If it's empty add the text

https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json

or, if its not empty, add a comma at the end of the current text, and then add the line above

From the Tools menu, go down to Board submenu and select Board Manager...

Search for STM32 and click Install - make sure you have the latest version, at least 1.8.0 selected and installed!

Quit and restart the Arduino IDE

From the Tools menu, select Generic STM32F4

Then select Board part number -> Adafruit Feather STM32F405

Under USB Support select CDC supercedes USART so that Serial points to the USB port not the hardware serial

Finally select STM32CubeProgrammer (DFU) as the upload method

These are your Tool menu selections to verify!

Note that if you tried the STM32 Cube Programmer on the "DFU Bootloader Details" page, you need to close it before using this Arduino version! Our users report the application and the Arduino upload method can conflict with each other, so make sure you are only using one at a time or you may find your uploads failing to connect.

Activate the Bootloader

At this time, you must manually put the board into bootloader mode every time you want to upload.

Do that by connecting the B0 pin to 3.3V and clicking reset

STM32CubeProgrammer will run the code immediately after DFU, so you can connect a wire on a breadboard between B0 and 3.3V and keep it connected. When you are about to upload, click the reset button. After upload, your code will be running automatically.

Upload!

Once you are bootloader mode, click Upload to compile and upload your sketch

STM32duino Notes

This guide was first published on Nov 05, 2019. It was last updated on Nov 05, 2019.
This page (Arduino IDE Setup) was last updated on Oct 21, 2020.