cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F405RGT6

HF_ATL
Associate II

Hi all,

 

I have a flight controller which has a STM32F405RGT6 MCU and is working 100%.

Another flight controller (different brand) has a damaged STM32F405RGT6 MCU and I would like to swap them instead of buying a new MCU online due to time constraints. Is this possible or it will not work directly?

Thank you!

 

Best regards

9 REPLIES 9
Peter BENSCH
ST Employee

Welcome @HF_ATL, to the community!

In principle you can replace a defective STM32F405RGT6 by another STM32F405RGT6, because it is the same device in the same package with identical parameters. However, this requires that the still working STM32F405RGT6 has not been protected with RDP level 2, because this would be an irreversible process (see RM0090, section 3.7.3 Read Protection).

Hope that helps?

Regards
/Peter

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Pin usage and software build on each likely to be different. So have the right firmware or build one.

Physically / mechanically the parts should be interchangeable provided you don't damage in the process/

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
HF_ATL
Associate II

Many thanks for your quick reply.

I have the firmware file to upload to the board. I wonder if after replacing the MCU I may not be able to program it. The flight controller which I'll need to replace the MCU operated on the following way: Connecting a USB cable to PC then it opened a removable disk in Windows Explorer. The firmware was uploaded by placing the .bin file there.

I assume that the current programmed MCU (which is working) will operate normally on the other board or if I need to erase it firstly before de-soldering it.

HF_ATL
Associate II

Picture attached to make it more clear

Peter BENSCH
ST Employee

Hmm, that sounds a bit like missing information: if you were able to drop a BIN file onto a USB drive, you either:

  • had something similar to an ST-LINK between the PC's USB port and the flight controller,
  • or the defective controller's STM32 had its own bootloader.

In the latter case you would have to program the new STM32 somehow via SWD or similar to get the alternative bootloader into the device. Since such an own bootloader is at the expense of the user flash, it is used rather rarely.

Can you somehow illustrate what is between the STM32 and the USB port of the controller? Was there only a simple USB cable between USB of the controller and the PC?

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
HF_ATL
Associate II

Let say Flight Controller A is the one which STM32 is working. Flight Controller B has STM32 faulty.

#A firmware is updated by using a common data USB-C cable to a PC with a provided software.

#B firmware is updated by using a common data USB-C cable to a PC. It opens a removable disk device and the firmware is placed there. After reboot it delete the firmware file.

In both of them you can update the firmware without the need of ST-Link. I don't have any information about the bootloader which is used for the two boards.

I don't have the schematics for the boards. All I know is that there is a USB-C interface for the user to properly upload the firmware and update the flight controller parameters via a dedicated software.

HF_ATL
Associate II

Also I thought of using the STM32CubeProgrammer in Flight Controller #A to upload the .bin firmware file before desoldering it from the board. This way the MCU will already be programmed after soldering it to the #B.

HF_ATL
Associate II

Flight Controller #A layout is in attached picture.

...and can also be found on his website FLIGHT CONTROLLER F405-WSE together with its manual.

STM32CubeProgrammer in Flight Controller #A to upload the .bin firmware file before desoldering it from the board

That sounds like a good idea. But if you have an ST-LINK you can also check if the SWD pins of the STM32F405 on board #B are reachable (pin 46 = SWDIO, pin 49 = SWCLK) and connect them together with GND and possibly NRST to the ST-LINK. With this you could also use the STM32CubeProg for programming.

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.