Docs directory
Table of contents
MicoAir743 User Manual
Product Overview
MicoAir743 is an H743-based flight controller designed by MicoAir for multirotors and autonomous aircraft. It uses a 480 MHz STM32H743VIT6 processor and integrates a BMI088 + BMI270 dual-IMU configuration, a DPS310 barometer, an onboard IST8310 magnetometer, an AT7456E analog OSD chip, and a microSD card slot for flight logs.
The flight controller provides seven UARTs, 10 PWM outputs, one CAN bus, one I²C bus, 5 V / 3 A and 9 V / 3 A BEC outputs, and a connector for DJI O3/O4 digital video systems. It supports open-source firmware including ArduPilot, PX4, INAV, and Betaflight.

Key Features
STM32H743VIT6, 480 MHz, 2 MB FlashBMI088 + BMI270dual-IMU configurationDPS310barometer and onboardIST8310magnetometerAT7456Eanalog OSD- Seven UARTs, 10 PWM outputs, one CAN bus, and one I²C bus
- microSD card slot for flight logs
- DJI O3/O4 digital video connector with DisplayPort support
- 5 V / 3 A and 9 V / 3 A BEC outputs
- 2–6S battery input, 6–27 V
- Supports ArduPilot, PX4, INAV, and Betaflight
Where to Buy
Hardware Specifications
Processor and Sensors
| Item | Specification |
|---|---|
| Main MCU | STM32H743VIT6, 480 MHz, 2 MB Flash |
| IMUs | BMI088 + BMI270 dual-IMU configuration |
| Barometer | DPS310 |
| Onboard magnetometer | IST8310 |
| Analog OSD | AT7456E (currently not supported by PX4 firmware) |
| Log storage | microSD card slot |
Interfaces and Outputs
| Item | Quantity / Description |
|---|---|
| UART | Seven: UART1, UART2, UART3, UART4, UART6, UART7, and UART8 |
| PWM | 10 outputs; PWM1–PWM10 support DShot, and PWM1–PWM8 support bidirectional DShot, depending on firmware support |
| CAN | One bus |
| I²C | One bus for an external GNSS receiver, magnetometer, or other peripheral |
| SWD | One interface |
| ADC | Two channels for battery voltage and current sensing |
| USB | USB Type-C |
| Digital video | DJI O3/O4-compatible connector; uses UART2 for DisplayPort by default |
| RC receiver | UART6 is the default RC input |
| Other | Buzzer, status LEDs, and BOOT button/pads |
Power and Mechanical Specifications
| Item | Specification |
|---|---|
| Battery input | 2–6S, 6–27 V |
| 5 V BEC | Up to 3 A for an RC receiver, GNSS receiver, optical flow sensor, and other peripherals |
| 9 V BEC | Up to 3 A for a video transmitter, camera, and other peripherals |
| Mounting pattern | 30.5 × 30.5 mm |
| Mounting hole diameter | Φ4 mm |
| Dimensions | 36 × 36 × 8 mm |
| Weight | 9 g |
Dimensions and Installation

- Mount the flight controller using the 30.5 × 30.5 mm hole pattern. Ensure that screws, metal washers, and the frame do not contact components on the board.
- Vibration-damping standoffs are recommended. Tighten all fasteners evenly to avoid bending the board.
- Keep the flight controller orientation marker pointing toward the nose of the aircraft. If the board must be rotated, configure the correct board orientation in the firmware.
Calibrate the accelerometer and magnetometer after all wiring is complete. If the positions of the battery leads, video transmitter, or propulsion system are changed, check for magnetic interference again.
Connectors and Power
Connector Layout

Typical Wiring

Power Requirements
| Connector | Voltage | Typical Use | Notes |
|---|---|---|---|
VBAT | 6–27 V | Main flight controller power input | Connect only a 2–6S battery or an equivalent regulated power supply |
5V | 5 V | RC receiver, GNSS receiver, optical flow sensor, or rangefinder | Verify that the peripheral accepts a 5 V input before connecting it |
9V | 9 V | DJI video system, camera, or similar peripheral | Do not connect a peripheral that supports only 5 V |
GND | 0 V | Power and signal ground reference |
Pin 1 of the SH1.0-6P digital video connector supplies 9 V. Before connecting a DJI O3/O4 or another video system, verify the pin order. Never connect this 9 V pin to an RC receiver, GNSS receiver, or camera that supports only 5 V.
Serial communication normally requires
TX,RX, andGND. Connect the flight controllerTXto the peripheralRX, and the flight controllerRXto the peripheralTX. For a one-way protocol, connect only the signal line required by that protocol.
Serial Port Mapping
ArduPilot Serial Port Mapping
| ArduPilot port | Physical interface | Default function / Features |
|---|---|---|
SERIAL0 | USB | USB virtual serial port |
SERIAL1 | UART1 | MAVLink2 with DMA support |
SERIAL2 | UART2 | Digital video DisplayPort with DMA support |
SERIAL3 | UART3 | GNSS receiver with DMA support |
SERIAL4 | UART4 | MAVLink2 with DMA support |
SERIAL5 | UART6 | RC input with DMA support |
SERIAL6 | UART7 | ESC telemetry with DMA support |
SERIAL7 | UART8 | General-purpose serial port with DMA support |
PX4 Serial Port Mapping
| PX4 device | PX4 port name | Physical interface |
|---|---|---|
ttyACM0 | USB | USB virtual serial port |
ttyS0 | TELEM1 | UART1 |
ttyS1 | TELEM2 | UART2 |
ttyS2 | GPS1 | UART3 |
ttyS3 | TELEM3 | UART4 |
ttyS4 | RC | UART6 |
ttyS5 | URT6 | UART7 |
ttyS6 | TELEM4 / SERIAL4 | UART8 |
UART2 is shared with the DJI O3/O4 digital video connector. When DisplayPort is enabled, do not assign UART2 to another peripheral at the same time.
PWM Outputs
MicoAir743 provides up to 10 PWM outputs. PWM1–PWM10 support DShot, and PWM1–PWM8 support bidirectional DShot. Actual availability depends on the flight controller firmware and version.
PWM Timer Groups
| Group | Channels | Notes |
|---|---|---|
| Group 1 | PWM1, PWM2, PWM3, PWM4 | Channels in the same group normally require compatible protocols and frequencies |
| Group 2 | PWM5, PWM6 | Subject to the same timer-group constraints |
| Group 3 | PWM7, PWM8, PWM9, PWM10 | Subject to the same timer-group constraints |
Channels in the same timer group generally cannot use arbitrary combinations of output protocols. When changing the PWM frequency or DShot configuration, check every channel in the group together.
ESC Protocol Recommendations
- Standard PWM ESCs: Select a standard PWM protocol supported by the firmware.
- DShot ESCs: Start with
DShot300for a balance between reliability and bandwidth. - Bidirectional DShot: Both the flight controller firmware and ESC firmware must support it. For PX4 and INAV, check the documentation for the firmware version in use.
Remove all propellers before testing the motors. Install the propellers only after verifying the motor numbering, rotation direction, and failsafe behavior.
RC Receiver
UART6 is the default RC input. Another available UART can also be configured for RC input, but only one port may be configured at a time.
| Protocol | Recommended Wiring | Notes |
|---|---|---|
| SBUS | Receiver signal → RX6 / SBUS | The onboard SBUS input includes a hardware inverter |
| DSM / SRXL | Receiver signal → RX6 | Supply power according to the receiver's voltage requirements |
| FPort | Receiver signal → TX6 | Single-wire bidirectional protocol |
| CRSF / ELRS | Receiver TX → RX6; receiver RX → TX6 | Telemetry is provided automatically |
| SRXL2 | Receiver signal → TX6 | Usually requires the corresponding serial port option in ArduPilot |
| PPM | Not supported | Use a serial receiver protocol instead |
If a CRSF/ELRS receiver is not detected, first verify that TX and RX are crossed, the supply voltage is correct, and UART6 is not assigned to another function.
OSD, Video Transmitter, and CAN
Analog OSD
- Onboard
AT7456E - In ArduPilot, set
OSD_TYPE = 1to enable the MAX7456-compatible driver - Before use, verify the camera video standard, video input/output wiring, and firmware support
DisplayPort / DJI O3/O4
- The SH1.0-6P connector uses UART2 by default
- Supports MSP DisplayPort digital OSD
- The connector provides a 9 V power output
CAN
The flight controller provides one CAN bus for a CAN GNSS receiver, airspeed sensor, rangefinder, or other DroneCAN device.
Battery Monitoring, Magnetometer, and I²C
Battery Voltage and Current Monitoring
| Parameter | ArduPilot Default | Function |
|---|---|---|
BATT_VOLT_PIN | 10 | Voltage-sensing ADC |
BATT_CURR_PIN | 11 | Current-sensing ADC |
BATT_VOLT_MULT | 21.2 | Voltage divider multiplier |
BATT_CURR_SCALE | 40.2 | Current scaling factor |
The current scaling factor depends on the current-sensing circuit of the connected ESC. The values in the table are the flight controller defaults. After installation, calibrate the readings against a multimeter or power meter.
Magnetometer and I²C
- Onboard magnetometer:
IST8310 - An external magnetometer can be connected to the I²C
SDAandSCLpins - Keep an external GNSS receiver/magnetometer module away from battery leads, ESCs, and motors
Flight Controller Firmware
MicoConfigurator is a browser-based flight controller configuration tool. It can configure flight controllers running ArduPilot or PX4 and update firmware online, from a local file, or in DFU mode.

ArduPilot
- Firmware target:
MicoAir743 - Officially supported since ArduPilot 4.6.0
- Firmware can be updated through MicoConfigurator or Mission Planner
Related links:
- Official ArduPilot hardware definition
- Official ArduPilot firmware downloads
- ArduPilot Custom Firmware Builder
PX4
-
Firmware target:
micoair_h743 -
Officially supported since PX4 1.16.0
Official PX4 firmware build guide
Historical firmware source:
PX4-Autopilot at micoair743-v1.13.3
PX4-Autopilot at micoair743-v1.14.3
PX4-Autopilot at micoair743-v1.15.0
Bootloader build command:
make micoair_h743_bootloader
Firmware build command:
make micoair_h743_default
INAV
- Firmware target:
MICOAIR743 - Officially supported since INAV 8.0.0
- Use the INAV Configurator version that matches the firmware version
Betaflight
- Firmware target:
MICOAIR743 - Officially supported since Betaflight 4.5.0
Before enabling bidirectional DShot, verify that both the selected firmware target and ESC support it:
set dshot_bitbang = ON
save
Skybrush
- MicoAir743 can run Skybrush firmware for coordinated drone shows
- MicoAir743 Skybrush firmware
Always select the firmware target that exactly matches this board. Do not flash firmware for MicoAir743v2, MicoAir743-Lite, or any AIO model.
Firmware Flashing and Recovery
Normal Upgrade
- Back up the current parameters.
- Use MicoConfigurator, Mission Planner, or the appropriate firmware configurator to install a stable firmware release.
- After flashing is complete, disconnect and reconnect power.
Entering DFU Mode
- Disconnect both the battery and USB cable.
- Press and hold the
BOOTbutton. - While holding the button, connect the USB Type-C cable.
- Release the button after the computer detects the DFU device.
- On the DFU page in MicoConfigurator, select the correct target and flash the firmware.
In DFU mode, the flight controller does not appear as a serial port in Device Manager and its LEDs remain off. This is normal.
Troubleshooting
USB Connection Fails
- Use a known-good USB Type-C cable that supports data transfer
- Avoid an underpowered USB hub
- Check whether the operating system detects a serial port or DFU device
- Try entering DFU mode to verify that the hardware is detected
No Data from the GNSS Receiver, RC Receiver, or Video Transmitter
- Verify that TX and RX are crossed and that the devices share a common ground.
- Verify the peripheral supply voltage.
- Check the serial protocol and baud rate.
- Ensure that UART2 is not assigned to both DisplayPort and another device.
Battery Voltage or Current Is Inaccurate
- Compare the reported voltage with a multimeter reading
- Verify the ADC pins and default scaling values
- Calibrate
BATT_CURR_SCALEaccording to the ESC current sensor specifications
Flight Controller Does Not Start After Flashing Incorrect Firmware
Hold BOOT while connecting USB to enter DFU mode, then select and flash the correct MicoAir743 target.
Related Resources
- MicoConfigurator
- Mission Planner
- ArduPilot documentation
- QGroundControl
- PX4 documentation
- Betaflight Configurator
- INAV Configurator
Appendix A: Pinout Table
| Function | Bus / Channel | Signal | MCU Pin |
|---|---|---|---|
| BMI270 | SPI2 | MOSI / MISO / SCLK / CS | PC3 / PC2 / PD3 / PA15 |
| BMI088 | SPI2 | MOSI / MISO / SCLK | PC3 / PC2 / PD3 |
| BMI088 | SPI2 | Gyro CS / Accel CS | PD5 / PD4 |
| DPS310 | I²C2 | SCL / SDA | PB10 / PB11 |
| IST8310 | I²C2 | SCL / SDA | PB10 / PB11 |
| Motor outputs | TIM1 | M1 / M2 / M3 / M4 | PE14 / PE13 / PE11 / PE9 |
| Motor outputs | TIM3 | M5 / M6 | PB1 / PB0 |
| Motor outputs | TIM4 | M7 / M8 / M9 / M10 | PD12 / PD13 / PD14 / PD15 |
| AT7456E | SPI1 | MOSI / MISO / SCLK / CS | PA7 / PA6 / PA5 / PB12 |
| Status LEDs | GPIO | Red / Blue / Green | PE5 / PE4 / PE6 |
| I²C peripheral port | I²C1 | SDA / SCL | PB7 / PB6 |
| UART1 | USART1 | TX / RX | PA9 / PA10 |
| UART2 / VTX-HD | USART2 | TX / RX | PA2 / PA3 |
| UART3 / GNSS | USART3 | TX / RX | PD8 / PD9 |
| UART4 | UART4 | TX / RX | PA0 / PA1 |
| UART6 / RCIN | USART6 | TX / RX | PC6 / PC7 |
| UART7 / ESC telemetry | UART7 | RX | PE7 |
| UART8 | UART8 | TX / RX | PE1 / PE0 |
| USB | USB FS | DM / DP | PA11 / PA12 |
| microSD | SDMMC1 | D0 / D1 / D2 / D3 | PC8 / PC9 / PC10 / PC11 |
| microSD | SDMMC1 | CLK / CMD | PC12 / PD2 |
| Debug interface | SWD | SWDIO / SWCLK | PA13 / PA14 |
| Battery monitoring | ADC | Voltage / Current | PC0 / PC1 |

