Add some debugging for msp headtracker
[inav.git] / docs / boards / MatekF405.md
blob93269228456d84e63a4d9b0aac1a237d94eabf3a
2 # Board - MATEKSYS F405 family
4 ![Matek F405-AIO](http://www.mateksys.com/wp-content/uploads/2017/06/F405-AIO_2.jpg)
6 ### [Matek F405-CTR](https://inavflight.com/shop/p/MATEKF405CTR)
7 ### [Matek F405-STD](https://inavflight.com/shop/p/MATEKF405STD)
8 ### [Matek F405-AIO (end-of-life)](http://www.mateksys.com/?portfolio=f405-aio)
9 ### [Matek F405-OSD (end-of-life)](http://www.mateksys.com/?portfolio=f405-osd)
11 ## Firmware
13 Due to differences on the board (I2C - see below), there are two firmware variants:
15 | Board  | Firmware |
16 | ------ | -------- |
17 | Matek F405-AIO, STD, CTR | inav_x.y.z_MATEKF405.hex<br/>inav_x.y.z_MATEKF405_SERVOS6.hex |
18 | Matek F405-OSD | inav_x.y.z_MATEKF405OSD.hex |
20 ## Hardware features
22 * MCU: STM32F405RGT6, 168MHz
23 * IMU: ICM-20602 (OSD, AIO, STD), MPU6000 (CTR)
24 * OSD: BetaFlight OSD w/ AT7456E chip
25 * Baro: BMP280 (STD, CTR)
26 * Compass: No
27 * Blackbox: MicroSD card slot
28 * VCP, UART1, UART2, UART3, UART4, UART5
29 * Built in inverter for SBUS input (UART2-RX)
30 * PPM/UART Shared: UART2-RX
31 * Battery Voltage Sensor
32 * I2C SDA & SCL: Yes
33 * LDO: 3.3V Max. 300mA
34 * Current Sensor: Yes (AIO, CTR), otherwise FCHUB-6S option
35 * Integrated Power Distribution Board: Yes (AIO, CTR), otherwise FCHUB-6S option
36 * Integrated Voltage Regulator: 5V 2A & 9V 2A (AIO), 5V 2A (CTR), otherwise FCHUB-6S option
37 * 6 PWM / DSHOT capable outputs
38 * WS2812 Led Strip : Yes
39 * Beeper: Yes
40 * RSSI: Yes
41 * Side-press button for BOOT(DFU) mode
42 * Anti-vibration Standoffs
44 ### I2C
46 The F405-AIO, STD, CTR boards expose dedicated I2C pads.
47 The F405-OSD does not expose I2C. For INAV there is a software I2C provision using the USART3 pads, as:
49 * SDA => RX3, SCL => TX3
50 * Do not assign any serial function to USART3
52 ### PWM and Servos
54 Due to the available hardware, please note:
56 #### Flying Wing
58 * S1 : ESC
59 * S2 : LEFT elevon
60 * S3 : RIGHT elevon
62 #### Tricopter
64 * S1 : Tail Servo
65 * S2 : Motor 1
66 * S3 : Motor 2
67 * S4 : Motor 3
69 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.
71 I2C requires that the WS2812 led strip is moved to S5, thus WS2812 is not usable on hexcopter and similar.
73 ### Soft Serial
75 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:
77 * Enable soft serial
78 * Do not assign any function to hardware UART4
79 * Assign the desired function to the soft-serial ports
80 * UART4 TX/RX pads will be used as SoftSerial 1 TX/RX pads
81 * UART2 TX pad will be used as SoftSerial 2 TX pad
83 RX2 and SBUS pads can be used as normal for receiver-only UART. If you need a full duplex UART (IE: TBS Crossfire) and SoftSerial, then use UART 1, 3 or 5 for Full Duplex.
85 #### Common scenarios for SoftSerial on this boards:
86 You need to wire a FrSky receiver (SBUS and SmartPort) to the Flight controller
87 * Connect SBUS from Receiver to SBUS pin on the Flight Controller
88 * Connect SmartPort from Receiver to TX2 pad on the Flight Controller
89 * Enable SoftSerial and set UART2 for Serial RX and SoftSerial 2 for SmartPort Telemetry
91 You need to wire a SmartAudio or Trump VTX to the Flight controller
92 * Connect SmartAudio/Tramp from VTX to the TX4 pad on the Flight Controller
93 * Enable SoftSerial and set SoftSerial 1 for SmartAudio or Tramp
95 ### USB
97 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.
99 Flashing requires DFU mode and STM32 DFU drivers. On Linux, the configurator or `dfu-util` work with a `udev` rule.
101 ````
102 # DFU (Internal bootloader for STM32 MCUs)
103 SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="0664", GROUP="plugdev"
104 ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5740", ENV{ID_MM_DEVICE_IGNORE}="1"
105 ````
107 On Windows, it may be necessary to use the [Zadig](http://zadig.akeo.ie) tool to install the WinUSB driver.
109 ## Manufacturer
111 Matek Systems: http://www.mateksys.com/
113 ## Distributors
115 * [Matek F405-CTR](https://inavflight.com/shop/p/MATEKF405CTR)
116 * [Matek F405-STD](https://inavflight.com/shop/p/MATEKF405STD)
118 ## FAQ & Known Issues
120 Rcgroups Thread Matek F405: https://www.rcgroups.com/forums/showthread.php?2889298-MATEKSYS-Flight-Controller-F405-OSD-32K-Gyro-5xUARTs-SD-Slot
122 Rcgroups Thread Matek F405-AIO: https://www.rcgroups.com/forums/showthread.php?2912273-Matek-Flight-Controller-F405-AIO
124 This board doesn't have hardware inverters for UART pins. This page explains getting SmartPort telemetry working on F4 board:  https://github.com/iNavFlight/inav/blob/master/docs/Telemetry.md