MicoAir
Docs directory
Table of contents

MicoAir743v2 User Manual

Product Overview

MicoAir743v2 is a high-performance H743 flight controller designed by MicoAir for multirotors and autonomous flight platforms. It uses a STM32H743VIT6 running at 480 MHz and includes dual BMI088 + BMI270 IMUs, an SPL06 barometer, an onboard QMC5883L magnetometer, an AT7456E analog OSD, and a microSD card slot for log storage.

The flight controller provides 8 UARTs, 11 PWM outputs, 1 I²C bus, dual high-current BECs, a DJI O3/O4 HD video transmitter interface, and onboard Bluetooth telemetry. It can run open-source firmware including ArduPilot, PX4, INAV, and Betaflight.

Front and back of the MicoAir743v2 flight controller

Key Features

  • STM32H743VIT6, 480 MHz, 2 MB Flash
  • Dual BMI088 + BMI270 IMUs
  • SPL06 barometer and onboard QMC5883L magnetometer
  • AT7456E analog OSD and DJI O3/O4 DisplayPort interface
  • 8 UARTs, 11 PWM outputs, 1 I²C bus, and 1 SWD interface
  • microSD card slot for flight-log storage
  • Onboard Bluetooth telemetry, internally connected to UART8, with a default baud rate of 115200
  • Dual 5 V / 3 A and 12 V / 3 A BECs
  • 2–6S lithium-battery input, supporting 6–27 V
  • Supports ArduPilot, PX4, INAV, and Betaflight

Purchase

MicoAir Store

Hardware Specifications

Processor and Sensors

ItemSpecification
Main MCUSTM32H743VIT6, 480 MHz, 2 MB Flash
IMUDual BMI088 + BMI270 IMUs
BarometerSPL06
Onboard magnetometerQMC5883L
Analog OSDAT7456E (note that current PX4 firmware does not yet support the OSD function)
Log storagemicroSD card slot

Interfaces and Outputs

ItemQuantity / Description
UART8
PWM11; PWM1–PWM8 support DShot and bidirectional DShot; actual capability depends on the firmware
I²C1
SWD1
ADC2: battery-voltage and current sensing
USBUSB Type-C
HD video transmitterDJI O3/O4-compatible interface with DisplayPort support
ReceiverUART6 is the default RC input; other UARTs can also be used with ArduPilot
OtherBuzzer, serial LED, and BOOT button/pad

Power and Mechanical Design

ItemSpecification
Battery input2–6S, 6–27 V
5 V BECMaximum 3 A, for peripherals such as receivers, GPS modules, and optical-flow sensors
12 V BECMaximum 3 A, for peripherals such as video transmitters and cameras
Mounting-hole pattern30.5 × 30.5 mm
Mounting-hole diameterΦ4 mm
Dimensions36 × 36 × 8 mm
Weight10 g

MicoAir743v2 hardware

Dimensions and Installation

MicoAir743v2 dimensions

Follow these principles during installation:

  1. Secure the flight controller using the 30.5 × 30.5 mm mounting pattern, and prevent screws or spacers from contacting components on the board.
  2. Vibration-damping standoffs are recommended. Tighten them evenly to avoid bending the flight-controller board.
  3. Keep the flight-controller arrow pointing toward the nose. If the board must be rotated because of mechanical constraints, set the correct orientation parameter in the firmware.

Interfaces and Power

Pin Definition

MicoAir743v2 interface diagram

Typical Wiring

MicoAir743v2 typical wiring diagram

Power Rules

InterfaceVoltageTypical usePrecautions
VBAT6–27 VMain flight-controller power inputConnect only a 2–6S battery or equivalent power supply
5V5 VPower for receivers, GPS modules, optical-flow sensors, rangefinders, and other peripheralsConfirm that the peripheral accepts 5 V input before wiring
12V12 VPower for DJI video transmitters, cameras, and other peripheralsDo not connect peripherals that support only 5 V
GND0 VPower and signal reference ground

Pin 1 of the HD video transmitter interface is 12 V. Before connecting a DJI O3/O4 or another video transmitter, verify the pin order and the device's input voltage. Do not connect 12 V to a receiver, GPS module, or camera that supports only 5 V.

UART communication normally requires TX, RX, and GND. Connect flight-controller TX to peripheral RX, and flight-controller RX to peripheral TX. For a one-way protocol, connect only the signal line required by the protocol.

Serial Port Mapping

ArduPilot Serial Port Mapping

ArduPilot portPhysical interfaceDefault use / Features
SERIAL0USBUSB virtual serial port
SERIAL1UART1MAVLink2, DMA supported
SERIAL2UART2DisplayPort, DMA supported
SERIAL3UART3GPS, DMA supported
SERIAL4UART4MAVLink2, DMA supported
SERIAL5UART5DMA supported
SERIAL6UART6RC input, DMA supported
SERIAL7UART7ESC telemetry, DMA supported
SERIAL8UART8Onboard Bluetooth telemetry, DMA supported

PX4 Serial Port Mapping

PX4 devicePX4 interface namePhysical interface
ttyACM0USBUSB virtual serial port
ttyS0TELEM1UART1
ttyS1GPS2UART2
ttyS2GPS1UART3
ttyS3TELEM2UART4
ttyS4TELEM3UART5
ttyS5RCUART6
ttyS6URT6UART7
ttyS7TELEM4 / SERIAL4UART8

UART8 is used by the onboard Bluetooth module and has a default baud rate of 115200.

PWM Outputs

MicoAir743v2 provides up to 11 PWM outputs. PWM1–PWM8 support DShot and bidirectional DShot in hardware; whether these features can ultimately be used depends on the installed flight-control firmware and its version.

PWM Timer Groups

GroupChannelsDescription
Group 1PWM1, PWM2, PWM3, PWM4Channels in the same group normally need to use compatible output protocols/frequencies
Group 2PWM5, PWM6Same-group constraints
Group 3PWM7, PWM8, PWM11PWM11 is also used for the serial LED function
Group 4PWM9, PWM10Same-group constraints

Channels in the same timer group normally cannot use arbitrary combinations of different output protocols. When changing a PWM protocol, frequency, or serial LED configuration, check all channels in that group together.

When PWM11 is configured as a serial LED output, PWM7 and PWM8 are subject to the same group constraints and may also be limited to serial-LED-compatible settings. Refer to the output-group rules for the current firmware.

ESC Protocol Recommendations

  • Standard PWM ESC: Select a standard PWM protocol supported by the firmware.
  • DShot ESC: DShot300 is normally preferred for a balance of reliability and bandwidth.
  • Bidirectional DShot: Both the flight-controller firmware and ESC firmware must support it.
  • PX4 and INAV do not currently support bidirectional DShot. If this changes in a future version, refer to the latest release notes for the corresponding firmware.

Remove all propellers before motor testing. Install the propellers and conduct a low-risk ground test only after confirming the motor numbering, rotation directions, and failsafe behavior.

Receivers

UART6 is the default RC input, but another UART can be configured if required.

ProtocolRecommended wiringNotes
SBUSReceiver signal → RX6Normally requires only the one-way signal line, GND, and power
DSM / SRXLReceiver signal → RX6Supply power according to the receiver's voltage requirements
FPortReceiver signal → TX6One-wire bidirectional protocol
CRSF / ELRSReceiver TX → RX6; receiver RX → TX6Can transmit telemetry automatically
SRXL2Receiver signal → TX6Set SERIAL6_OPTIONS = 4 in ArduPilot
PPMNot supportedUse a UART receiver protocol instead

If CRSF/ELRS is not detected, first check that TX and RX are cross-connected, the supply voltage is correct, and UART6 is not being used by another function. Do not identify pins by wire color alone.

OSD and Video Transmitter Interfaces

MicoAir743v2 provides both an AT7456E analog OSD and a DisplayPort interface for HD video transmitters such as DJI O3/O4.

Analog OSD

  • Onboard chip: AT7456E
  • ArduPilot can enable the compatible MAX7456 driver with OSD_TYPE = 1
  • Before use, confirm the camera video standard, video input/output wiring, and firmware support

DisplayPort / DJI O3/O4

  • The HD video transmitter connects through the SH1.0-6P interface
  • UART2's DisplayPort function is used by default
  • The video transmitter interface supplies 12 V
  • OSD capability and configuration methods vary by firmware version; refer to the documentation for the current firmware

Before connecting a video transmitter, confirm again that pin 1 of the interface is 12 V. Incorrect pin order can damage both the video transmitter and flight controller.

Battery Monitoring, Magnetometer, and I²C

Battery Voltage and Current Monitoring

The flight controller integrates voltage sensing and receives the current-sensor signal through the ESC interface. It supports batteries up to 6S.

The default parameters in the official ArduPilot hardware definition are:

ParameterDefaultFunction
BATT_VOLT_PIN10Voltage-sensing ADC
BATT_CURR_PIN11Current-sensing ADC
BATT_VOLT_MULT21.2Voltage-divider multiplier
BATT_CURR_SCALE40.2Current scaling factor

The current-sensor coefficient depends on the sensor circuit used by the ESC. The values in the table are the MicoAir743v2 defaults and do not apply to every ESC. Adjust them for the actual hardware.

Magnetometer

  • Onboard magnetometer: QMC5883L
  • An external magnetometer can be connected through I²C SDA / SCL
  • High-current wires, buzzers, magnets, and motors introduce magnetic interference

When high heading accuracy is required, use an external combined GPS/magnetometer located away from the power system, and recalibrate the magnetometer after the aircraft is fully assembled.

Connect to the Flight Controller over Bluetooth

The onboard Bluetooth telemetry module is internally connected to UART8 and has a default baud rate of 115200. The official procedure uses QGroundControl for Android and works with ArduPilot or PX4 firmware.

Bluetooth can be used for ground-based parameter configuration and flight-controller status monitoring.

Turn On Bluetooth Power

  1. Power the flight controller normally and wait at least 3 seconds.
  2. Check the blue Bluetooth power indicator.
  3. If the indicator is off, press and hold the BOOT button for approximately 2 seconds to turn on Bluetooth.
  4. Press and hold it again to turn Bluetooth off. The switch state is retained after power is removed.

Add a Connection in QGroundControl

Open Application Settings → Comm Links, and click Add.

QGroundControl communication-link settings

Set the connection type to Bluetooth.

Select the Bluetooth connection type

Scan for and Select the Flight Controller

Click Scan, select a device with a name similar to MicoAir743v2-xxxxx, and confirm.

Scan for a MicoAir743v2 Bluetooth device

If no device is found, move the phone closer to the flight controller, confirm that the blue power indicator is on, and check that Android has granted QGroundControl Bluetooth and Nearby Devices permissions.

Establish the Connection

In Comm Links, select the device that was just added and click Connect. After a connection is established, the green Bluetooth status indicator on the flight controller remains on.

Connect to the added Bluetooth device

Wait for the Parameters to Load

Return to the main interface. QGroundControl automatically reads the flight-controller parameters. This normally takes approximately 3–5 seconds; the actual time depends on the firmware version and wireless environment.

QGroundControl main interface after Bluetooth connection

QGroundControl parameter-loading interface

QGroundControl flight-controller status interface

Firmware

MicoAir743v2 supports ArduPilot, PX4, INAV, Betaflight, and Skybrush.

MicoConfigurator is a browser-based flight-controller configuration tool for Windows, macOS, and Linux. It can configure and debug the flight controller and update firmware online, from a local file, or in DFU mode.

MicoConfigurator interface

Open MicoConfigurator in Chrome or Edge. After entering DFU mode, select the model and firmware directly in the browser to complete flashing (the DFU driver must be installed on Windows).

ArduPilot

  • Firmware target: MicoAir743v2
  • Included in the official hardware support list starting with ArduPilot 4.6.0
  • Flight-controller firmware can be flashed online through MicoConfigurator or Mission Planner

Related links:

When downloading firmware from the ArduPilot website, select the MicoAir743v2 target. Do not select firmware for similarly named MicoAir743, Lite, or AIO models.

PX4

  • Firmware target: micoair_h743-v2
  • Included in the official hardware support list starting with PX4 1.16.0
  • Can be flashed through MicoConfigurator, downloaded from PX4 Releases, or compiled from source

Related links:

After entering DFU mode, online flashing is also available through MicoConfigurator:

MicoConfigurator PX4 DFU flashing interface

Official PX4 firmware compilation guide

Historical source code (1.14.3)

Compile the bootloader:

make micoair_h743-v2_bootloader

Compile the default firmware:

make micoair_h743-v2_default

INAV

  • Firmware target: MICOAIR743V2
  • Included in the official hardware support list starting with INAV 8.0.0
  • Use an INAV Configurator version that matches the firmware version
  • MicoAir743v2 INAV firmware

MicoAir743v2 in INAV Configurator

Betaflight

Skybrush

Firmware Flashing and Recovery

Normal Upgrade

  1. Back up the current parameters.
  2. Use MicoConfigurator or Mission Planner to upgrade to stable firmware online.
  3. Power-cycle the flight controller after flashing is complete.

Enter DFU Mode

  1. Disconnect power and USB from the flight controller.
  2. Press and hold the BOOT button.
  3. Keep it held while connecting USB Type-C.
  4. Release the button after the computer recognizes the DFU device.
  5. Select the correct target on MicoConfigurator's firmware/DFU page and flash it.

In DFU mode, the flight controller does not appear as a serial port in Device Manager as it does with normal firmware, and the LED indicators do not operate. This is normal.

Troubleshooting

Flight Controller Cannot Connect over USB

  1. Replace the USB Type-C cable with one confirmed to support data transfer.
  2. Try another USB port on the computer, and avoid hubs with insufficient power.
  3. Check whether a serial-port or DFU device appears in Device Manager or the system logs.
  4. Try entering DFU mode to determine whether the bootloader or hardware can be recognized.
  5. If the board is powered only by the battery, confirm that there is no abnormality between USB ground and system ground.

Bluetooth Cannot Be Found or Connected

  • Wait at least 3 seconds after power-on, and then hold BOOT for approximately 2 seconds to turn on Bluetooth
  • Confirm that the blue power indicator is on
  • Grant Android Bluetooth and Nearby Devices permissions
  • Confirm that UART8 has not been reassigned to another function
  • Check that the baud rate is 115200
  • Delete the old connection record on the phone and scan again

Motor Does Not Rotate During Motor Test

  • Confirm that propulsion power is connected during the test
  • Check the motor output channels and frame configuration
  • Verify the ESC protocol; for Bluejay/AM32 and similar firmware, try DShot300 first
  • Check the arming state and ground-station error messages

Battery Voltage or Current Reading Is Inaccurate

  • Verify BATT_VOLT_PIN, BATT_CURR_PIN, and the default coefficients; try restoring the default parameters
  • Compare the reading with the actual voltage measured using a multimeter
  • Calibrate BATT_CURR_SCALE according to the ESC current-sensor specifications
  • Confirm that the current-sensing signal wire and GND are connected

Flight Controller Cannot Start After the Wrong Firmware Was Flashed

  1. Hold BOOT while connecting USB to enter DFU mode.
  2. Select the target that exactly matches this board.
  3. After flashing, perform a complete parameter reset and calibration. Do not load a parameter file from another model.

Appendix A: Pinout Table

This table is mainly intended for low-level driver development and hardware debugging. These pin definitions are normally not needed for standard installation and parameter configuration.

Function categoryDevice / UseBus / PeripheralSignalMCU pin
IMUBMI270SPI3MOSIPD6
IMUBMI270SPI3MISOPB4
IMUBMI270SPI3SCLKPB3
IMUBMI270SPI3BMI270_CSPA15
IMUBMI270GPIOBMI270_DRPB7
IMUBMI088SPI2MOSIPC3
IMUBMI088SPI2MISOPC2
IMUBMI088SPI2SCLKPD3
IMUBMI088SPI2BMI088_GYRO_CSPD5
IMUBMI088SPI2BMI088_ACCEL_CSPD4
IMUBMI088GPIOBMI088_GYRO_DRPC15
IMUBMI088GPIOBMI088_ACCEL_DRPC14
BarometerSPL06I2C2SCLPB10
BarometerSPL06I2C2SDAPB11
BarometerSPL06GPIOSPL06_DRPD0
MagnetometerQMC5883LI2C2SCLPB10
MagnetometerQMC5883LI2C2SDAPB11
Motor outputPWMTIM1/CH4M1PE14
Motor outputPWMTIM1/CH3M2PE13
Motor outputPWMTIM1/CH2M3PE11
Motor outputPWMTIM1/CH1M4PE9
Motor outputPWMTIM3/CH4M5PB1
Motor outputPWMTIM3/CH3M6PB0
Motor outputPWMTIM4/CH1M7PD12
Motor outputPWMTIM4/CH2M8PD13
Motor outputPWMTIM15/CH1M9PE5
Motor outputPWMTIM15/CH2M10PE6
LED stripPWMTIM4/CH3PD14
BuzzerGPIOPD15
OSDAT7456ESPI1MOSIPA7
OSDAT7456ESPI1MISOPA6
OSDAT7456ESPI1SCLKPA5
OSDAT7456ESPI1OSD_CSPB12
External oscillatorExternal8 MHzOSC_INPH0
External oscillatorExternal8 MHzOSC_OUTPH1
Status LEDGPIO_OUTPUTREDPE3
Status LEDGPIO_OUTPUTBLUEPE4
Status LEDGPIO_OUTPUTGREENPE2
ButtonBOOTBOOT0
I2CI2C1SDAPB9
I2CI2C1SCLPB8
UARTUART1TXPA9
UARTUART1RXPA10
UARTVTX-HDUART2TXPA2
UARTVTX-HDUART2RXPA3
UARTGPSUART3TXPD8
UARTGPSUART3RXPD9
UARTUART4TXPA0
UARTUART4RXPA1
UARTUART5TXPB6
UARTUART5RXPB5
UARTRCINUART6TXPC6
UARTRCINUART6RXPC7
UARTESC_TelemetryUART7RXPE7
UARTBluetooth TelemetryUART8TXPE1
UARTBluetooth TelemetryUART8RXPE0
USBUSBUSB_DMPA11
USBUSBUSB_DPPA12
SD cardSDMMC1D0PC8
SD cardSDMMC1D1PC9
SD cardSDMMC1D2PC10
SD cardSDMMC1D3PC11
SD cardSDMMC1CLKPC12
SD cardSDMMC1CMDPD2
Debug interfaceSWDSWDIOPA13
Debug interfaceSWDSWCLKPA14
Battery sensing1:21 voltage dividerADCVoltagePC0
Battery sensingADCCurrentPC1