FeroFlyF405: An Open Source Drone Flight Controller Designed From Scratch on the STM32F405, With INAV Ported

Published  October 6, 2026   0
S Staff
Author
FeroFlyF405 Drone Flight Controller Board With Components

FeroFlyF405 is an open source flight controller built around the STM32F405 microcontroller and running INAV firmware. It was designed from scratch by a maker named Farhan, who shared the hardware files on GitHub and documented the build in a video walkthrough.

The board has an LSM6DSL IMU, a DPS368 barometer, 12 motor outputs, a CAN bus, an I2C port and three UARTs. It is designed to run from a 3S LiPo, with a buck converter stepping the voltage down to 5V and a regulator providing 3.3V. The PCB has four layers and measures 50 x 65 mm.

The prototype was soldered by hand, and its CAN bus circuitry was left unpopulated because the parts were out of stock. To run INAV on the board, the creator wrote a custom target for it.

Testing turned up a few issues. INAV looked for the barometer at I2C address 0x76, while the DPS368 uses 0x77 by default, which was fixed by adding a macro to the target file. The IMU was harder to sort out. Pitch and roll started near zero, then after about ten seconds jumped to roughly 3.7 and 15.6 degrees. Replacing the IMU did not change this. Raising the ahrs_dcm_kp setting from 2000 to 4000 brought the drift down to about 3 degrees, and a manual calibration from the transmitter followed. The creator says he is not sure what causes it.

In test flights the quadcopter always leaned toward one corner, which he puts down to motor 3 spinning slower than the others. He was unable to get ESC3 to calibrate, and the flight controller compensated for the slow motor, but not enough. At this stage the quadcopter does not fly cleanly. He also lists a few flaws of his own. There is no dedicated SBUS input, the XT30 power connector is not on the board, and motor output 3 sits on a timer channel without DMA, which he says rules out digital protocols such as DShot and OneShot in INAV. He says he aims to fix these in the next revision, and a V1.1 release on GitHub addresses the motor 3 DMA issue.

The hardware is licensed under CERN-OHL-P-2.0. The repository includes the KiCad schematic and PCB files, Gerbers, a BOM and a STEP model, and the INAV target files and a binary are in a separate repository.

Add New Comment

Login to Comment Sign in with Google Log in with Facebook Sign in with GitHub