Due to differences on the board (I2C - see below), there are two firmware variants:
Board | Firmware |
---|---|
Matek F405-AIO, STD, CTR | inav_x.y.z_MATEKF405.hex inav_x.y.z_MATEKF405_SERVOS6.hex |
Matek F405-OSD | inav_x.y.z_MATEKF405OSD.hex |
- MCU: STM32F405RGT6, 168MHz
- IMU: ICM-20602 (OSD, AIO, STD), MPU6000 (CTR)
- OSD: BetaFlight OSD w/ AT7456E chip
- Baro: BMP280 (STD, CTR)
- Compass: No
- Blackbox: MicroSD card slot
- VCP, UART1, UART2, UART3, UART4, UART5
- Built in inverter for SBUS input (UART2-RX)
- PPM/UART Shared: UART2-RX
- Battery Voltage Sensor
- I2C SDA & SCL: Yes
- LDO: 3.3V Max. 300mA
- Current Sensor: Yes (AIO, CTR), otherwise FCHUB-6S option
- Integrated Power Distribution Board: Yes (AIO, CTR), otherwise FCHUB-6S option
- Integrated Voltage Regulator: 5V 2A & 9V 2A (AIO), 5V 2A (CTR), otherwise FCHUB-6S option
- 6 PWM / DSHOT capable outputs (iNav does not implement DSHOT)
- WS2812 Led Strip : Yes
- Beeper: Yes
- RSSI: Yes
- Side-press button for BOOT(DFU) mode
- Anti-vibration Standoffs
The F405-AIO, STD, CTR boards expose dedicated I2C pads. The F405-OSD does not expose I2C. For iNav there is a software I2C provision using the USART3 pads, as:
- SDA => RX3, SCL => TX3
- Do not assign any serial function to USART3
Due to the available hardware, please note:
- S1 : ESC
- S2 : LEFT elevon
- S3 : RIGHT elevon
- S1 : Tail Servo
- S2 : Motor 1
- S3 : Motor 2
- S4 : Motor 3
If you need servo connected to S6 pin while keeping motors on S1..S4 pins (e.g. camera tilt on quadcopter), please flash MATEKF405_SERVOS6 firmware.
I2C requires that the WS2812 led strip is moved to S5, thus WS2812 is not usable on hexcopter and similar.
Soft serial is available as an alternative to a hardware UART on RX4/TX4 and TX2. By default this is NOT inverted. In order to use this feature:
- Enable soft serial
- Do not assign any function to hardware UART4 or UART2-TX
- Assign the desired function to the soft-serial port
This board uses STM32 VCP and does not use a UART when USB is connected. STM32 VCP drivers might be required on some operating systems.
Flashing requires DFU mode and STM32 DFU drivers. On Linux, the configurator or dfu-util
work with a udev
rule.
# DFU (Internal bootloader for STM32 MCUs)
SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="0664", GROUP="plugdev"
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5740", ENV{ID_MM_DEVICE_IGNORE}="1"
On Windows, it may be necessary to use the Zadig tool to install the WinUSB driver.
Matek Systems: http://www.mateksys.com/
Rcgroups Thread Matek F405: https://www.rcgroups.com/forums/showthread.php?2889298-MATEKSYS-Flight-Controller-F405-OSD-32K-Gyro-5xUARTs-SD-Slot
Rcgroups Thread Matek F405-AIO: https://www.rcgroups.com/forums/showthread.php?2912273-Matek-Flight-Controller-F405-AIO