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

Discussion and questions about boards that can run MicroPython but don't have a dedicated forum.
Target audience: Everyone interested in running MicroPython on other hardware.
Post Reply
Posts: 7
Joined: Fri Jun 07, 2019 10:05 pm

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

Post by Sgt_Pepper » Sun May 03, 2020 6:10 pm

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!

User avatar
Posts: 3505
Joined: Mon Jan 06, 2014 6:08 pm
Location: Peachland, BC, Canada

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

Post by dhylands » Mon May 04, 2020 1:41 am

Document AN2606 from stm: https://www.st.com/resource/en/applicat ... 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.

Post Reply