Page 1 of 1

[STM32F405RGT6/Custom Board] Flashing firmware first time using DFU

Posted: Sun May 03, 2020 6:10 pm
by Sgt_Pepper
I have a custom board that I designed using the PYB v1.1 schematics as a reference. I did the best job to match the critical components and wiring (STM32F405RTG6, 12MHz crystal). I did this so that I can use the same firmware without having to build my own.

After soldering my board together I tied BOOT0 to 3v3, plugged it in to my laptop (2014 MacBook Pro), and tried using dfu-util (version 0.9) in Terminal to flash the firmware. The problem is, however, that dfu-util doesn't recognize the board. As a sanity check I plugged in my PYB v1.1 in DFU mode and it shows up just fine in dfu-util.

I have checked and rechecked my schematics, done a bunch of continuity testing on my board to make sure nothing is shorted out, and even swapped out the microcontroller with a new one. Nothing seems to working. The only things I can think of at this point is either my crystal is not working properly or it is not possible to use DFU to flash firmware onto a brand new chip.

Let me know if anyone has any thoughts of what may be causing the issue. Thanks in advance!

Re: [STM32F405RGT6/Custom Board] Flashing firmware first time using DFU

Posted: Mon May 04, 2020 1:41 am
by dhylands
Document AN2606 from stm: ... ronics.pdf describes the various bootloaders and which pins they use.

You need to ensure that all of those pins have appropriate pullup/pulldowns so that they don't get accidentally selected as a boot source.

If you look at the pyboard schematic you'll see pullups/pulldowns on all of the required pins.