Flight Controller F405-WING
STM32F405, MPU6000, INAVOSD, BMP280, 6x UARTs, 1x Softserial, 2x I2C, 2x Motors & 7x Servos, 4x BEC & current sensor on board.
Substitute
replaced by F405-WING-V2
Barometer
We have been starting to replace BMP280 with high precision and low noise barometer DPS310 in new batch of production.
Pls use ArduPilot/Plane 4.0.8 or higher, INAV3.0.1 or higher.
Gallery & Info
Spec.& Features
FC Specifications
- MCU: 168MHz STM32F405
- IMU: MPU6000 accelerometer/gyro (SPI)
- Baro: BMP280 (I2C) or DPS310
- OSD: INAV OSD w/ AT7456E chip
- Blackbox: MicroSD card slot (SD/SDHC)
- VCP & 6x UARTs
- 2x Motors, 7x Servos outputs
- 2x I2C
- 3x LEDs for FC STATUS (Blue, Red) and 3.3V indicator(Red)
- Built in inverter for SBUS input (UART2-RX)
- PPM/UART Shared: UART2-RX
- SoftSerial on TX2 pad
- Battery Voltage Sensor: 1:10 (Scale 1100)
- WS2812 Led Strip : Yes
- Beeper : Yes
- RSSI: Yes
FC Firmware
- INAV Flight Target: MATEKF405SE
- ArduPilot hwdef: MATEKF405WING
PDB
- Input voltage range: 9~30V (3~6S LiPo) w/TVS protection
- 2x ESC power pads
- Current Senor: 104A, 3.3V ADC, Scale 317
- Sense resistor: 60A continuous, 104A Peak.
BEC 5V output
- Designed for Flight controller, Receiver, OSD, Camera, Buzzer, 2812 LED_Strip, Buzzer, GPS module, AirSpeed
- Continuous current: 2 Amps, Max.3A
BEC 9V /12V output
- Designed for Video Transmitter, Camera, Gimbal ect.
- Continuous current: 2 Amps, Max.3A
- 12V option with Jumper pad
BEC Vx output
- Designed for Servos
- Voltage adjustable, 5V Default, 6V or 7.2V via jumper
- Continuous current: 5 Amps, Max.6A
- Output Ripple: 50mV (VIn=24V, VOut=5V@5A load)
BEC 3.3V output
- Designed for Baro / Compass module and Spektrum RX
- Linear Regulator
- Continuous current: 500mA
Physical
- Mounting: 30.5 x 30.5mm, Φ4mm with Grommets Φ3mm
- Dimensions: 56 x 36 x 13 mm
- Weight: 25g
INAV Wiring
- I2C1 [DA1 CL1] supports Baro( BMP280 /MS5611 /BMP085) and OLED(0.96″)
- I2C2 [DA2 CL2] supports compass (HMC5883 /MAG3110 /QMC5883 /IST8310) & Pitot_MS4525
INAV Mapping
INAV | Airplane | Multirotor | |
S1 | Motor1 | Motor1 | TIM4_CH2 |
S2 | Motor2 | Motor2 | TIM4_CH1 |
S3 | Servo | Motor3 | TIM3_CH3 |
S4 | Servo | Motor4 | TIM3_CH4 |
S5 | Servo | Motor5 | TIM8_CH3 |
S6 | Servo | Motor6 | TIM8_CH4 |
S7 | Servo | Servo | TIM12_CH1 |
S8 | Servo | Servo | TIM12_CH2 |
S9 | Servo | Servo | TIM1_CH1 |
Devices | Pad/Hole | Note |
GPS | UART2, 3, 4, 5, 6 | |
Bluetooth | UART1 | MSP & Baud 57600 |
VTX control | Uart-TX2, 3, 4, 5, 6 | SA / TR |
on board BMP280 | I2C1 | |
External Baro | I2C1(DA1, CL1) | BMP280 /MS5611 /BMP085 |
OLED | I2C1(DA1, CL1) | 0.96″ |
Magnetometer | I2C2(DA2, CL2) | HMC5883 /MAG3110 /QMC5883 /IST8310 |
AirSpeed Pitot | I2C2(DA2, CL2) | Pitot_MS4525 |
SBUS | Sbs pad | Built-in inverter on UART2-RX |
Frsky Smartport | TX2 pad | Softserial-TX1 is enabled on TX2 pad by default in 1.9.0, set telemetry_inversion = ON in 1.9.1, set telemetry_inversion = OFF |
PPM | RX2 pad | Enable PPM RX input |
IBUS/SUMD | RX2 pad | |
Spektrum | RX2 pad | |
CRSF | TX2 & RX2 pad | Need to disable CPU based serial ports |
CRSF | TX4/RX4 or TX6/RX6 or any spare UART |
Distributors
- Air-hobby.ru (Russia)
- Banggood (CN)
- bouldermultirotor.com (USA)
- costruzionedroni.it (Italy)
- drone-fpv-racer.com (FR)
- FPVDirect.com (USA)
- flymod.net (Ukraine)
- GetFPV.com (USA)
- HobbyRC.co.uk (UK)
- myrcmart.com (CN)
- n-factory.de (Germany)
- PiroflipRC.com (USA)
- Phaserfpv.com.au (Australia)
- RaceDayQuads.com (USA)
- rc-innovations.es (Spain)
- RCPAPA.com (HK)
- readymaderc.com (USA)
- Redbee.de (Austria)
- Rotorgeeks.com (Canada)
- unmannedtechshop.co.uk (UK)
Ardupilot (ChiBiOS)
ArduPilot WIKI
- http://ardupilot.org/copter/docs/common-loading-firmware-onto-chibios-only-boards.html
- http://ardupilot.org/copter/docs/common-matekf405-wing.html#connecting-a-gps-compass-module
- OSD http://ardupilot.org/plane/docs/common-osd-overview.html
Acknowledgements
Threads related
- RCG Most Integrated Ardupilot Flight Controller (ChiBios)
- RCG Matek F405-WING Flight Controller // iNav & ArduPlane
PWM outputs
- S1, PB7 TIM4_CH2 TIM4 PWM(1) GPIO(50)
- S2, PB6 TIM4_CH1 TIM4 PWM(2) GPIO(51)
- S3, PB0 TIM3_CH3 TIM3 PWM(3) GPIO(52)
- S4, PB1 TIM3_CH4 TIM3 PWM(4) GPIO(53)
- S5, PC8 TIM8_CH3 TIM8 PWM(5) GPIO(54)
- S6, PC9 TIM8_CH4 TIM8 PWM(6) GPIO(55)
- S7, PB14 TIM1_CH2N TIM1 PWM(7) GPIO(56)
- S8, PB15 TIM1_CH3N TIM1 PWM(8) GPIO(57)
- S9, PA8 TIM1_CH1 TIM1 PWM(9) GPIO(58)
- LED, PA15 TIM2_CH1 TIM2 PWM(10) GPIO(59) #on LED pin
- S1~s9 are Dshot and PWM capable. However, mixing Dshot and normal PWM operation for outputs is restricted into groups, ie. enabling Dshot for an output in a group requires that ALL outputs in that group be configured and used as Dshot, rather than PWM outputs.
Voltage and Current Scale
- BATT_AMP_PERVLT 31.5
- BATT_CURR_PIN 11
- BATT_MONITOR 4
- BATT_VOLT_MULT 11.0
- BATT_VOLT_PIN 10
Default UART order
- SERIAL0 = console = USB
- SERIAL1 = Telemetry1 = USART1
- SERIAL2 = empty
- SERIAL3 = GPS1 = USART3
- SERIAL4 = GPS2 = UART4
- SERIAL5 = USER = UART5
- SERIAL6 = USER = USART6
- SERIAL7 = USART2 used for RCInput
I2C Airspeed
- ARSPD_BUS = 1 I2C2(CL2 DA2)
Frsky Smartport Telemetry
- non-inverted (hacked) S.Port signal
- TX1 pad of F405-WING
- SERIAL1_BAUD 57
- SERIAL1_OPTIONS 7
- SERIAL1_PROTOCOL 4 or 10(for yaapu)
- or TX6 pad of F405-WING
- SERIAL6_BAUD 57
- SERIAL6_OPTIONS 7
- SERIAL6_PROTOCOL 4 or 10(for yaapu)
CRSF
- If using CRSF receiver on this FC with ardupilot firmware, pls use Serial1/USART1 which has DMA enabled.
- serial1_protocol = 23
- SERIAL1_OPTIONS = 0