Bootloader restore

Good day, as i must recover a bootloader on a mro x2.1, i need know if i must connect the st link v2 on jtag fmu port or jtag io port.
Where i can find the ArduPilot bootloader for that board?
Waiting for a kind response for salve this issue

1 Like

I’m not at all an expert in this area but I don’t think it is normally necessary to use a special tool to get the bootloader on the board. I think the MP includes an option to force a bootloader.

We also have this wiki page which talks about using dfu to get a bootloader on the pixhawk family of boards.

I also think that it is possible to put the bootloader on the sd card and then connect using the NuttX shell (aka “nsh”) and force it to load the bootloader from a file but I don’t immediately see any instructions on how to do this.

If you can somehow upload firmware to the board the “_with_bl.hex” file in this directory includes both the ArduPilot copter firmware and a bootloader. It’s unlikely to be the same bootloader as was on there before, but it’s a bootloader…


We have some instructions for installing the ChibiOS firmware to the Pixhawk family of boards on this page.

If the bootloader is corrupted (which is extremely rare) then I think it will require using DFU or similar to write it to the board. I suspect that if you can somehow write that “_with_bl.hex” file then the bootloader will remain on the board from then on.

I’ve actually never done this on a Pixhawk so I can’t give any useful advice on that procedure though…

get a st-link, connect to dio and ck, 3.3v and gnd pins on board, keep pressing boot button or solder it, while pressing, connect the st-link to computer (never release the boot button), open st link utility, click target, connect… after you see the hex inside the board, press target. program… select arducopter_with_bl.hex for your board and flash it…

I did exactly the same to my kakute f7 after flashing arducopter and losing DFU mode, I wanted to roll back to betaflight, using the st-link was the only way to flash it (tried fdti, serial ports, bootloader, normal mode, everything, only st-link was the solution… also, it’s a handy tool to have in cases like this, where all the boards use ARM stm32 processor)


try to flash on fmu, if it doesn’t work, on io… don’t think that you will brick the board this way


Jordi Munoz from mRobotics gave me this information to pass onto you:

hmm… if the transmitter is connected to the pixracer’s RC Input pin then it should just work… you could try going back to Copter-3.5.7 so that you’re using stable software and can be more sure that it’s not a Copter-3.6 beta version issue.


OK, not sure. This is actually the category for testing Copter-3.6 beta release. Copter-3.5.7 is very well tested so I’m pretty sure it’s something related to how the receiver is connected to the flight controller.