MicoAir
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.

Front and rear views of the MicoAir743 flight controller

Key Features

  • STM32H743VIT6, 480 MHz, 2 MB Flash
  • BMI088 + BMI270 dual-IMU configuration
  • DPS310 barometer and onboard IST8310 magnetometer
  • AT7456E analog 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

ItemSpecification
Main MCUSTM32H743VIT6, 480 MHz, 2 MB Flash
IMUsBMI088 + BMI270 dual-IMU configuration
BarometerDPS310
Onboard magnetometerIST8310
Analog OSDAT7456E (currently not supported by PX4 firmware)
Log storagemicroSD card slot

Interfaces and Outputs

ItemQuantity / Description
UARTSeven: UART1, UART2, UART3, UART4, UART6, UART7, and UART8
PWM10 outputs; PWM1–PWM10 support DShot, and PWM1–PWM8 support bidirectional DShot, depending on firmware support
CANOne bus
I²COne bus for an external GNSS receiver, magnetometer, or other peripheral
SWDOne interface
ADCTwo channels for battery voltage and current sensing
USBUSB Type-C
Digital videoDJI O3/O4-compatible connector; uses UART2 for DisplayPort by default
RC receiverUART6 is the default RC input
OtherBuzzer, status LEDs, and BOOT button/pads

Power and Mechanical Specifications

ItemSpecification
Battery input2–6S, 6–27 V
5 V BECUp to 3 A for an RC receiver, GNSS receiver, optical flow sensor, and other peripherals
9 V BECUp to 3 A for a video transmitter, camera, and other peripherals
Mounting pattern30.5 × 30.5 mm
Mounting hole diameterΦ4 mm
Dimensions36 × 36 × 8 mm
Weight9 g

Dimensions and Installation

MicoAir743 dimensions

  1. 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.
  2. Vibration-damping standoffs are recommended. Tighten all fasteners evenly to avoid bending the board.
  3. 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

MicoAir743 connector layout

Typical Wiring

MicoAir743 typical wiring diagram

Power Requirements

ConnectorVoltageTypical UseNotes
VBAT6–27 VMain flight controller power inputConnect only a 2–6S battery or an equivalent regulated power supply
5V5 VRC receiver, GNSS receiver, optical flow sensor, or rangefinderVerify that the peripheral accepts a 5 V input before connecting it
9V9 VDJI video system, camera, or similar peripheralDo not connect a peripheral that supports only 5 V
GND0 VPower 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, and GND. Connect the flight controller TX to the peripheral RX, and the flight controller RX to the peripheral TX. For a one-way protocol, connect only the signal line required by that protocol.

Serial Port Mapping

ArduPilot Serial Port Mapping

ArduPilot portPhysical interfaceDefault function / Features
SERIAL0USBUSB virtual serial port
SERIAL1UART1MAVLink2 with DMA support
SERIAL2UART2Digital video DisplayPort with DMA support
SERIAL3UART3GNSS receiver with DMA support
SERIAL4UART4MAVLink2 with DMA support
SERIAL5UART6RC input with DMA support
SERIAL6UART7ESC telemetry with DMA support
SERIAL7UART8General-purpose serial port with DMA support

PX4 Serial Port Mapping

PX4 devicePX4 port namePhysical interface
ttyACM0USBUSB virtual serial port
ttyS0TELEM1UART1
ttyS1TELEM2UART2
ttyS2GPS1UART3
ttyS3TELEM3UART4
ttyS4RCUART6
ttyS5URT6UART7
ttyS6TELEM4 / SERIAL4UART8

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

GroupChannelsNotes
Group 1PWM1, PWM2, PWM3, PWM4Channels in the same group normally require compatible protocols and frequencies
Group 2PWM5, PWM6Subject to the same timer-group constraints
Group 3PWM7, PWM8, PWM9, PWM10Subject 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 DShot300 for 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.

ProtocolRecommended WiringNotes
SBUSReceiver signal → RX6 / SBUSThe onboard SBUS input includes a hardware inverter
DSM / SRXLReceiver signal → RX6Supply power according to the receiver's voltage requirements
FPortReceiver signal → TX6Single-wire bidirectional protocol
CRSF / ELRSReceiver TX → RX6; receiver RX → TX6Telemetry is provided automatically
SRXL2Receiver signal → TX6Usually requires the corresponding serial port option in ArduPilot
PPMNot supportedUse 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 = 1 to 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

ParameterArduPilot DefaultFunction
BATT_VOLT_PIN10Voltage-sensing ADC
BATT_CURR_PIN11Current-sensing ADC
BATT_VOLT_MULT21.2Voltage divider multiplier
BATT_CURR_SCALE40.2Current 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 SDA and SCL pins
  • 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.

MicoConfigurator interface

ArduPilot

  • Firmware target: MicoAir743
  • Officially supported since ArduPilot 4.6.0
  • Firmware can be updated through MicoConfigurator or Mission Planner

Related links:

PX4

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

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

  1. Back up the current parameters.
  2. Use MicoConfigurator, Mission Planner, or the appropriate firmware configurator to install a stable firmware release.
  3. After flashing is complete, disconnect and reconnect power.

Entering DFU Mode

  1. Disconnect both the battery and USB cable.
  2. Press and hold the BOOT button.
  3. While holding the button, connect the USB Type-C cable.
  4. Release the button after the computer detects the DFU device.
  5. 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

  1. Verify that TX and RX are crossed and that the devices share a common ground.
  2. Verify the peripheral supply voltage.
  3. Check the serial protocol and baud rate.
  4. 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_SCALE according 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.

Appendix A: Pinout Table

FunctionBus / ChannelSignalMCU Pin
BMI270SPI2MOSI / MISO / SCLK / CSPC3 / PC2 / PD3 / PA15
BMI088SPI2MOSI / MISO / SCLKPC3 / PC2 / PD3
BMI088SPI2Gyro CS / Accel CSPD5 / PD4
DPS310I²C2SCL / SDAPB10 / PB11
IST8310I²C2SCL / SDAPB10 / PB11
Motor outputsTIM1M1 / M2 / M3 / M4PE14 / PE13 / PE11 / PE9
Motor outputsTIM3M5 / M6PB1 / PB0
Motor outputsTIM4M7 / M8 / M9 / M10PD12 / PD13 / PD14 / PD15
AT7456ESPI1MOSI / MISO / SCLK / CSPA7 / PA6 / PA5 / PB12
Status LEDsGPIORed / Blue / GreenPE5 / PE4 / PE6
I²C peripheral portI²C1SDA / SCLPB7 / PB6
UART1USART1TX / RXPA9 / PA10
UART2 / VTX-HDUSART2TX / RXPA2 / PA3
UART3 / GNSSUSART3TX / RXPD8 / PD9
UART4UART4TX / RXPA0 / PA1
UART6 / RCINUSART6TX / RXPC6 / PC7
UART7 / ESC telemetryUART7RXPE7
UART8UART8TX / RXPE1 / PE0
USBUSB FSDM / DPPA11 / PA12
microSDSDMMC1D0 / D1 / D2 / D3PC8 / PC9 / PC10 / PC11
microSDSDMMC1CLK / CMDPC12 / PD2
Debug interfaceSWDSWDIO / SWCLKPA13 / PA14
Battery monitoringADCVoltage / CurrentPC0 / PC1