STM32F4Stamp, a Breakout Board for STM32F4

I made a breakout board for the STM32F405RGT from ST.
SONY DSCSONY DSCstm32f4stamp_fitsintobreadboard

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.

If you are interested in the design, click here to download the EAGLE files (version 20131027) including part list. If you have received a PCB from me, please check your version number. Other versions are on the bottom of this page.


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”.

In conclusion:

  1. compile your code into *.hex or *.bin
  2. convert your *.hex or *.bin to *.dfu using DFU File Manager
  3. activate the bootloader by holding down the bootload button, then resetting or powering on the microcontroller
  4. run the Dfuse Demo tool to flash the *.dfu file into the microcontroller

Power Source Jumper


Other stuff I want to mention

You can probably put the .NET Micro Framework on it, it uses the same microcontroller as the Netduino Plus 2. I can put the default Netduino Plus 2 firmware (both the bootloader and CLR) on it and it will work. The networking and SD card slots are missing, but the internals of the .NET Micro Framework is so intertwined that it is not worth the effort to remove those bits of code.

If you have a ST Link or any other SWD debugger, it will work with the breakout board. Then you wouldn’t need the bootloader anymore. The bootloader is permanent so don’t worry about losing the bootloader.

I have a page on my own wiki to help you get started with STM32: STM32 Starter Guide


You might be visiting this page because you’ve obtained some of my spare PCBs. Please pay attention to the version number printed on the PCB.

Version 20121012 is the first ever revision, the files are here (version 20121012, EAGLE schematic, PCB, and part list). It has a minor flaw: Q1, R7, and R3 are not required, in fact, if you installed those three components, it will make the bootloader not work in some situations.

If you are completely new to ARM microcontrollers but still asked me for a PCB, don’t hesitate to ask me for help!

15 thoughts on “STM32F4Stamp, a Breakout Board for STM32F4

    1. Admin Post author

      I have a phone with AMOLED screen so dark backgrounds save battery, I’m being environmentally friendly.

      Thanks for the kind words.

  1. David

    This breakout board looks great, just what I’m looking for. But where I live (3rd World) getting parts to populate the board is next to impossible. I would like to see you move to a Rev.2 board then sell them populated or as a board and parts via Tindie or perhaps via Seeed. Let me know if you plan to move forward with this and offer a full kit and/or a pre-built board.

  2. Ty Tower

    Mate ! But does it plug right into a breadboard ?
    you have 29 pins in 30 holes and they all seem offsett somewhat. Better show us a better picture of the lineup huh?

  3. Maurice


    very cool project. Till now i only knew about these breakout board for the mcu but a complete eval board for breadboard is great! Love it!!!

    Maurice aka mucki

  4. QianFan

    I am very like this board,and in my county,we usually used STM32F10X, it is cheaper than 40x,so that’s the reason why i usually use 10X instead of 40X. And is there have any 10X board that i can use?
    From China

  5. Kris Winer

    Thanks Frank,

    I’ve been interested in getting started with the STM34F4 series for more than a year but just didn’t have the time to learn what I needed. After getting familiar with the C8051F85 and nRF51 systems I am ready to start my first project with the STM32F4 and this site will really help me a lot! Thanks!

    I am going to use your EAGLE design as a basis for my own board but I wonder how I could get a pcb from you to try out?

    Have you used the smaller UQFN or BGA packages?

    Have you integrated sensor onto any of your boards, or blue tooth?

    Thanks again for a great place for me to start from.


  6. Tom Shenstone

    Super website Frank and thanks for sharing!! I thought the absolute max ratings for the STM32F405 was 4.0v but in your design the USB power (VBUS), which I assume is 5v goes straight into pin 42 (PA9) on the uProcessor. I assume you didn’t have any problems with that?

    1. Admin Post author

      I’ve studied many schematics provided by ST that shows their chips used in USB applications. All of them ware wired this way. I’m sure it’s safe to do so if ST’s schematics shows it like that. Plus, the datasheet shows that pin as 5V tolerant. Look in the pin table where the word “FT” means 5V tolerant.

      1. Tom Shenstone

        Thanks Frank – you were right (as I knew you would be!). I finally got my bare metal STM32F411 working with the USB connection and able to load the DFU program. I even made the mistake of adding a pull up resistor on USB D+ line until I realised it wasn’t needed – after reading the data sheet and seeing your older design. I got the GNU Arm toolchain and GDB debugger working too (using original STM32 Nucleo). Thanks for your help.

  7. Ali

    Hello, I am new programming for this chip. When I push the boot button and then plug it in, I can see the board on my computer as a hardware. I did it right. But the problem is “how can I send a program?” For example a blink application. Could you help me?

    Thank you in advance


Leave a Reply

Your email address will not be published. Required fields are marked *