I really like the STM32 family of ARM microcontrollers. This breakout board is a narrow design that fits perfectly on a breadboard.
Every pin is accessible. It has USB, a reset button, and a bootload button. The chip itself has a permanent USB bootloader that is activated by the bootload button. This means that no equipment is required to program this microcontroller, no expensive debugger, nothing at all except a USB cable.
I will assume you know how to compile a program for STM32F4 already. You should have either a *.hex or *.bin file.
First, read STβs application note AN2606. Inside, it describes how the bootloader works and how itβs activated. Basically upon reset (or power up), the bootload button is sampled, and if it is pressed, it will enter the bootloader mode. If it is not pressed, then the code that the user previously programmed will run.
STβs application note AN3156 describes the protocol used in the USB DFU bootloader. You donβt need to read this but itβs interesting.
You need to download a tool called DfuSE Demo (UM0412 and STSW-STM32080), written by ST. This tool will let you program a *.dfu file into the microcontroller, if it is in USB DFU bootloader mode.
To generate a *.dfu file, thereβs a βDFU File Managerβ program that is included with βDfuse Demoβ.
For more detail: STM32F4Stamp, a Breakout Board for STM32F4