Mateksys F405-STD and variants¶
the above images and some content courtesy of mateksys.com
Due to flash memory limitations, this board does not include all ArduPilot features. See Firmware Limitations for details.
- STM32F405RGT6 ARM (168MHz)
- ICM20602 IMU on STD version, MPU6000 on CTR version
- BMP280 barometer (STD and CTR)
- 184A Voltage & current sensor on CTR version
- 5x UARTS
- 6x PWM outputs (7 on -STD)
- 1x RC input PWM/PPM, SBUS
- I2C port for external compass and airspeed sensor (STD, CTR and AIO)
- USB port
- Built-in OSD
- MicroSD slot
- Size and Dimensions
- 36x36mm PCB with 30.5mm mounting holes
- STD: 7g
- CTR: 10g
In addition to STD and CTR versions, there are older variants called -AIO and -OSD that have been declared end-of-life by Mateksys. Both use the ICM20602 IMU, like the STD version. Neither have an onboard barometer. While the -AIO has I2C pads exposed, the -OSD version does not.
For the -STD version please use the MatekF405-STD type firmware. For the -CTR version with MPU6000 please use the MatekF405 type firmware. For the MatekF405-Wing which has an essentially different board layout please use the dedicated firmware. Please note that ArduPilot does not support -AIO and -OSD versions per default as additional hardware and / or software adjustments are required.
The MatekF405-CTR has a firmware version supporting bi-directional Dshot labeled “MatekF405-bdshot”. Note this is only supported for outputs 1-4 in this version.
Default UART order¶
- SERIAL0 = console = USB
- SERIAL1 = Telemetry1 = USART3
- SERIAL2 = Telemetry2 = UART4
- SERIAL3 = GPS1 = USART1
- SERIAL4 = GPS2 = UART5
- SERIAL5 = User = USART2 (TX only unless BRD_ALT_CONFIG = 1, then RX is available)
Serial protocols can be adjusted to personal preferences.
TThe SBUS pin, is passed by an inverter to R2 (UART2 RX), which by default is mapped to a timer input instead of the UART, and can be used for all ArduPilot supported receiver protocols, except CRSF which requires a true UART connection. However, bi-directional protocols which include telemetry, such as SRXL2 and FPort, when connected in this manner, will only provide RC without telemetry.
To allow CRSF and embedded telemetry available in Fport, CRSF, and SRXL2 receivers, the R2 pin can also be configured to be used as true UART2 RX pin for use with bi-directional systems by setting the BRD_ALT_CONFIG to “1” so it becomes the SERIAL7 port’s RX input pin.
With this option, SERIAL7_PROTOCOL must be set to “23”, and:
- PPM is not supported.
- DSM/SRXL connects to the R2 pin, but SBUS would still be connected to SBUS.
- FPort requires connection to T2 and R2 via a bi-directional inverter. See FPort Receivers .
- CRSF also requires a T2 connection, in addition to R2, and automatically provides telemetry.
- SRXL2 requires a connection to T2 and automatically provides telemetry. Set SERIAL6_OPTIONS to “4”.
Any UART can be used for RC system connections in ArduPilot also, and is compatible with all protocols except PPM (SBUS requires external inversion on other UARTs). See Radio Control Systems for details..
All motor/servo outputs 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. The output groups that must be the same (PWM rate or Dshot, when configured as a normal servo/motor output) are: 1, 2/3/4, 5, 6, and 7 (-STD only).
Connecting a GPS/Compass module¶
This board does not include a GPS or compass so an external GPS/compass should be connected as shown below in order for autonomous modes to function.
A battery must be plugged in for power to be provided to the 5V pins supplying the GPS/compass modules. USB power is not provided to peripherals.