

The F405 FC is a high-performance flight controller designed for drones and other unmanned aerial vehicles (UAVs). It is built around the STM32F405 microcontroller, offering advanced processing capabilities, multiple sensor inputs, and compatibility with a wide range of peripherals. The F405 FC is ideal for applications requiring precise flight control, such as racing drones, aerial photography platforms, and autonomous UAVs. Its robust design and versatile features make it a popular choice among hobbyists and professionals alike.








The F405 FC is packed with features to support a variety of UAV configurations. Below are its key technical specifications:
The F405 FC features a variety of pins for connecting peripherals and sensors. Below is the pinout description:
| Pin Name | Function | Description |
|---|---|---|
| GND | Ground | Connect to the ground of the power supply or peripherals. |
| 5V | 5V Power Output | Provides 5V output for powering peripherals (max 2A). |
| VBAT | Battery Voltage Input | Connect to the main battery for voltage monitoring. |
| M1-M8 | Motor Outputs | PWM outputs for connecting ESCs (Electronic Speed Controllers). |
| RX1-RX5 | UART Receive Pins | For connecting peripherals like GPS, telemetry modules, or receivers. |
| TX1-TX5 | UART Transmit Pins | For transmitting data to peripherals. |
| SCL, SDA | I2C Clock and Data Lines | For connecting external I2C sensors. |
| LED_STRIP | Addressable LED Output | For controlling WS2812 or similar addressable LEDs. |
| Buzzer | Buzzer Output | For connecting a piezo buzzer for audio alerts. |
| RSSI | Receiver Signal Strength Input | For monitoring the signal strength from the receiver. |
| Current | Current Sensor Input | For monitoring current draw from the battery. |
| Boot | Bootloader Mode | Used to flash firmware to the flight controller. |
Powering the Flight Controller:
Connecting Motors and ESCs:
Connecting Peripherals:
Flashing Firmware:
Configuring the Flight Controller:
Although the F405 FC is not typically used with an Arduino UNO, you can use an Arduino to send commands or receive telemetry data via UART. Below is an example of how to communicate with the F405 FC using an Arduino:
#include <SoftwareSerial.h>
// Define RX and TX pins for SoftwareSerial
SoftwareSerial mySerial(10, 11); // RX = pin 10, TX = pin 11
void setup() {
// Initialize serial communication
Serial.begin(9600); // For debugging with the PC
mySerial.begin(115200); // Communication with F405 FC
Serial.println("Arduino is ready to communicate with F405 FC.");
}
void loop() {
// Send a test command to the F405 FC
mySerial.println("Hello F405 FC!");
// Check if data is available from the F405 FC
if (mySerial.available()) {
String data = mySerial.readString();
Serial.println("Received from F405 FC: " + data);
}
delay(1000); // Wait for 1 second before sending the next command
}
Note: Ensure the UART baud rate matches the configuration on the F405 FC.
Flight Controller Not Powering On:
Motors Not Spinning:
No Communication with Betaflight Configurator:
Unstable Flight or Drifting:
OSD Not Displaying:
Can I use the F405 FC with iNav firmware? Yes, the F405 FC is compatible with iNav firmware for advanced navigation features.
What is the maximum number of motors supported? The F405 FC supports up to 8 motors via PWM outputs.
How do I reset the flight controller to factory settings? Use the "Reset Settings" option in the Betaflight Configurator or flash the firmware again.
Can I connect multiple peripherals to the UART ports? Yes, but ensure each peripheral is assigned a unique UART port to avoid conflicts.
What is the purpose of the blackbox feature? The blackbox logs flight data for analysis and troubleshooting, helping to optimize performance.