Many of you, who started their drone / FPV hobby a decade ago, will remember the popular flight controller, Naze32. It was widely used, because it ran a good STM32F1 processor and it was affordable. The firmware which we were using was Cleanflight, a predecessor of Betaflight.
Recently I was doing some reorganization at home and found one of my old drones collecting dust – as I had called it 10 years ago, the SG Adventure Mini. I decided to bring some life back to it and make it usable again. It has a Naze32 flight controller, 4x ZTW Flash 30A ESCs (BLHeliS 16.7), T-Motors and FrSky X4R SBUS receiver.
Unfortunately, the F1 processor on the Naze32 is now too old to run the current Betaflight 4.5.1 firmware. In fact the support for STM32F1 was dropped with the release of the Betaflight 3.3 in early 2018. Therefore I decided to flash the Betaflight 3.2.5 firmware on it. Everything is of course still available on its official GitHub page of it: https://github.com/betaflight/betaflight/releases
How to flash it?
As the support for the flight controller was discontinued long time ago, you cannot choose the board in the current Betaflight Configurator. I have tried even using an old version, but still without luck for this part. So, I downloaded and installed the STM32 Cube Programmer. I have also downloaded the Naze32.hex file from the Betaflight releases (link to .hex file) and ready to go.
Note: If you want to be able to flash and configure your BLHeli ESCs through Betaflight passthrough, you will need to use even older firmware, like 3.1.7. Passthrough does not work on Naze32 and 3.2.5 firmware.
First, open the STM32 Cube Programmer. Then connect the Naze32 to your computer in boot mode (connect/bridge the two boot pins/pads on the board while connecting). If you connected the board in boot mode, a blue LED only will be on.
Next, in the STM32 Cube Programmer, choose the right port and click connect. After that click on Open and load the Naze32.hex file. Click “Download” to flash it to the board. That´s it. Your Naze32 is running Betaflight now.
The current Betaflight Configurator, however does not support such old firmware. So you will need to download an older version of the configurator as well. I found out the 10.4.1 was working perfectly fine. All releases are here: https://github.com/betaflight/betaflight-configurator/releases
Now you are ready to configure your “new” Naze32 board in the configurator. Please note on such old board, you will not be able to use ESC protocols, like DSHOT (digital). Select the one which is supported by your ESCs, such as OneShot125 (standard), OneShot42 (3x times faster than OneShot125) or MultiShot.
Happily the drone is back in the air with an old flight controller, but a modern firmware.