Skip to main content

MicoAir H743 V2 Flight Controller — User Manual

The MicoAir H743 V2 (board name: MicoAir743v2) is a high-performance 30.5×30.5 flight controller built around the STM32H743 processor with dual IMUs (BMI088 + BMI270), a built-in Bluetooth telemetry module, and native support for all four major open-source firmwares: ArduPilot, PX4, INAV, and Betaflight. It is the flagship flight controller in the Robofusion lineup and the board we recommend for most ArduPilot builds.

MicoAir H743 V2 flight controller — STM32H743, dual IMU, Bluetooth telemetry, 30.5×30.5 mount

Where to buy​

  • Robofusion store (ships from Canada — free Canada-wide shipping): MicoAir H743 V2 Flight Controller — available as FC only, or as a stack with a 55 A / 70 A AM32 4-in-1 ESC
New to flight controllers? Start here

A flight controller (FC) is the drone's brain: it reads motion sensors (the IMU — gyroscope + accelerometer) hundreds of times per second, figures out which way the aircraft is tilting, and adjusts each motor's speed to keep it stable. Everything else connects to it — GPS, receiver, video transmitter, telemetry radio. Two spec letters matter most when choosing one: F4 vs H7 describes the processor generation (H7 is roughly 3× faster with 2× the memory — headroom for logging, scripting, and future firmware versions), and the IMU model determines how clean the motion data is. The H743 V2 pairs the fast processor with two independent IMUs, so the firmware can cross-check them and keep flying even if one misbehaves.

H743 V2, F405 V2, or NxtPX4 V2 — which one?​

H743 V2F405 V2NxtPX4 V2
ProcessorSTM32H743, 480 MHzSTM32F405, 168 MHzSTM32H743, 480 MHz
IMUBMI088 + BMI270 (dual)BMI088BMI088 × 2 (dual)
CompassBuilt-in QMC5883LExternal (via I2C)External (via I2C)
FirmwareArduPilot / PX4 / INAV / BetaflightArduPilot / INAVPX4 (native) / ArduPilot
UARTs / PWM8 / 116 / 107 / 8
Bluetooth telemetryBuilt-in——
Mounting30.5 × 30.5 mm30.5 × 30.5 mm20 × 20 mm
Best forFull-featured ArduPilot/PX4 builds, do-it-all choiceBudget long-range ArduPilot/INAV buildsSmall research & VIO drones, PX4 labs

Specifications​

ItemSpecification
MCUSTM32H743VIT6, 480 MHz, 2 MB flash
IMUBMI088 + BMI270 (dual, independent)
BarometerSPL06
CompassQMC5883L (built-in)
OSD chipAT7456E (analog OSD)
LoggingMicroSD card slot
Interfaces8× UART, 11× PWM, 1× I2C, 1× SWD, 2× ADC (voltage / current)
USBType-C
HD VTX connectorSH1.0-6P for DJI O3 / O4 Air Unit and other HD systems
BEC5 V 3 A (receiver, GPS, optical flow…) + 12 V 3 A (VTX, camera)
BluetoothBuilt-in module on UART8, 115200 baud
Battery input2–6S LiPo (6–27 V), on-board voltage sensing
Mounting30.5 × 30.5 mm, Φ4 mm holes
Dimensions / weight36 × 36 × 8 mm / 10 g

Pinout​

MicoAir H743 V2 ports and connection diagram — all connectors, UART pads and power pads labeled

Connector pin list​

Pins are listed in the order printed on MicoAir's port diagram. Before plugging anything in, match the first and last pin against the silkscreen next to the connector — the diagram shows which end is which, a text table cannot.

ConnectorPinsPort (ArduPilot / PX4)Notes
ESC (main, 8-pin)Curr · RX7 · M4 · M3 · M2 · M1 · VBAT · GNDRX7 = SERIAL7 / URT6ESC telemetry on RX7; current sensor on Curr
Motors 5–10 (8-pin)M10 · M9 · M8 · M7 · M6 · M5 · VBAT · GND—second 4-in-1 ESC or servos
GPSGND · 5V · TX3 · RX3 · SCL · SDAUART3 = SERIAL3 / GPS1, I2C1GPS plus external compass
UART1GND · 5V · TX1 · RX1SERIAL1 / TELEM1telemetry radio
SBUS/CRSF (UART6)GND · 5V · TX6 · RX6SERIAL6 / RCreceiver
UART4GND · 5V · TX4 · RX4SERIAL4 / TELEM2
UART5GND · 5V · TX5 · RX5SERIAL5 / TELEM3
LED strip / buzzerGND · 5V · LED · Buzz-—
I2C1SDA1 · SCL1 · 5V · GNDI2C1external compass or sensors
DJI O3/O4 (HD VTX, 6-pin)12V · GND · TX2 · RX2 · GND · RX6UART2 = SERIAL2 / GPS212 V on this connector; RX6 carries the goggles' RC link
Analog VTXTX2 · VIDEO_OUT · GND · 12V—12 V supply
FPV camera12V · GND · VIDEO_IN—12 V supply — not for 5 V cameras
SWD debugSWCLK · SWDIO · GND · 3V3—recovery and debugging only

Also on the board: USB-C, the BOOT button (also switches the Bluetooth module's power), a microSD slot, and the on-board Bluetooth telemetry wired internally to UART8 (SERIAL8 on ArduPilot, TELEM4 on PX4). Its blue LED is on when Bluetooth is powered and the green LED is on when a device is connected. BECs: 12 V 3 A and 5 V 3 A.

MicoAir H743 V2 physical dimensions — 36×36×8 mm, 30.5×30.5 mounting pattern

UART mapping​

PortArduPilotPX4Default function
USBSERIAL0ttyACM0GCS connection
UART1SERIAL1TELEM1MAVLink2 telemetry
UART2SERIAL2GPS2DisplayPort (HD VTX OSD)
UART3SERIAL3GPS1GPS
UART4SERIAL4TELEM2MAVLink2 (second radio / companion)
UART5SERIAL5TELEM3Spare (user)
UART6SERIAL6RCRC receiver input
UART7SERIAL7URT6ESC telemetry (RX only)
UART8SERIAL8TELEM4Built-in Bluetooth

All UARTs are DMA-enabled, so any of them can run high-rate protocols without loading the CPU.

What "UART" means in practice

A UART is simply a two-wire serial port (TX = transmit, RX = receive). Every peripheral — GPS, receiver, telemetry radio, VTX — occupies one. Eight UARTs is the practical difference between "plug everything in" and "choose which two accessories you can live without" on cheaper boards.

RC input​

UART6 (RX6/TX6) is the default RC port and works with all ArduPilot-supported protocols:

  • SBUS / DSM / SRXL — connect to RX6
  • CRSF / ELRS — connect both RX6 and TX6 (telemetry comes back automatically)
  • FPort — connect TX6
  • SRXL2 — connect TX6 and set SERIAL6_OPTIONS = 4
  • PPM is not supported on this board

OSD and HD VTX​

Two OSD paths work simultaneously:

  • Analog OSD — the onboard AT7456E chip (OSD_TYPE = 1), used with analog VTX modules like the VT5804 / VT5805. PX4 does not currently drive the analog OSD — this path is for ArduPilot, INAV and Betaflight.
  • DisplayPort (HD) OSD — on the SH1.0-6P HD VTX connector (OSD_TYPE2 = 5), carried on UART2, for DJI O3/O4 and similar HD systems
HD VTX connector — pin 1 is 12 V

Pin 1 of the SH1.0-6P connector carries the 12 V BEC rail for the video system. Never wire a 5 V peripheral to it.

PWM outputs and DShot​

11 PWM outputs; channels 1–8 also support bi-directional DShot (ArduPilot/Betaflight; PX4 and INAV do not support BDShot on this board yet). Outputs are grouped — every output in a group must run the same protocol:

GroupOutputs
11, 2, 3, 4
25, 6
37, 8, 11
49, 10

PWM 11 doubles as the LED pin; if it is configured for serial LEDs, outputs 7 and 8 can only be used as serial LED outputs too. Whenever you change an output protocol, a PWM frequency or the serial-LED setting, check the whole group rather than the single output you were aiming at.

Which protocol to choose: plain PWM ESCs get a standard PWM protocol. For DShot ESCs, DShot300 is the sensible default — it is the balance point between bandwidth and reliability, and going faster buys very little on a normal quad. Bi-directional DShot needs support in both the flight controller firmware and the ESC firmware.

Props off for motor testing

Remove the propellers before any motor test. Only after you have confirmed motor numbering, direction of rotation and failsafe behaviour should props go back on for a low-risk ground test.

DShot vs PWM, in one paragraph

Classic PWM sends motor commands as an analog pulse width — it works, but needs calibration and picks up noise. DShot sends the same command as a digital number, so there is nothing to calibrate and no drift. Bi-directional DShot additionally lets each ESC report motor RPM back to the FC, which enables RPM-based gyro filtering — noticeably smoother flight on ArduPilot and Betaflight.

Battery monitoring​

Voltage sensing is built in (up to 6S); current sensing uses the signal from your 4-in-1 ESC via the ESC connector. Default ArduPilot parameters:

ParameterValue
BATT_MONITOR4
BATT_VOLT_PIN10
BATT_CURR_PIN11
BATT_VOLT_MULT21.12
BATT_AMP_PERVLT40.2

After the first battery connection, verify the reported voltage against a battery checker and fine-tune BATT_VOLT_MULT if needed.

Compass​

A QMC5883L compass is built in. In practice, most builders run an external compass on the GPS mast (connected via the SDA/SCL pads) and disable the internal one — the internal compass sits close to power wiring and picks up magnetic interference from motor current.

Bluetooth telemetry​

The built-in Bluetooth module is wired to UART8 (115200 baud) and broadcasts as MicoAir743v2-xxxxxx — no pairing code needed. Connect from a phone GCS (QGroundControl on Android is the documented path) for wireless parameter tuning without plugging in USB. For flying range, use a proper telemetry radio like the LR900 — Bluetooth is a bench-and-field-setup convenience, not a flight link.

Turning Bluetooth on​

The module has a power state of its own, and it is not necessarily on when the board is. This catches people out: they scan, find nothing, and conclude the module is faulty.

  1. Power the board normally and wait at least 3 seconds.
  2. Look for the blue Bluetooth power LED.
  3. If it is off, hold the BOOT button for about 2 seconds to switch Bluetooth on.

Holding BOOT again switches it back off, and the state is remembered across power cycles — so a board that was switched off last session comes back switched off.

Two LEDs report the module's state: the blue one means Bluetooth is powered, and a green one lights solid once a ground station has actually connected.

Connecting from QGroundControl on Android​

  1. Application Settings → Comm Links → Add, and set the type to Bluetooth.
  2. Tap Scan and pick the device named MicoAir743v2-xxxxx.
  3. Select the new link and tap Connect — the green LED on the board goes solid.
  4. Return to the main view; parameters load in roughly 3–5 seconds.

Nothing found when scanning? Check the blue LED is lit, move the phone closer, confirm Android has granted QGroundControl Bluetooth and nearby-devices permissions, make sure UART8 has not been reassigned to something else, and delete any stale pairing entry on the phone before scanning again.

Firmware​

FirmwareSupportTarget / notes
ArduPilotOfficial from 4.6.0Target MicoAir743v2 — stable builds on firmware.ardupilot.org
PX4Official from 1.16.0Build target micoair_h743-v2_default
INAVOfficial from 8.0.0Target MICOAIR743V2
BetaflightManufacturer buildsmicoair/MicoAir743v2 on GitHub
SkybrushSupportedArduPilot-derived firmware for drone light shows
Pick the target named exactly MicoAir743v2

ArduPilot's board list contains several similarly named MicoAir boards — MicoAir743, MicoAir743-Lite and the MicoAir743 AIO variants are all different hardware. Flashing a near-miss target is the classic way to end up with a board that boots but has the wrong pin mapping: motors on the wrong outputs, a GPS port that never sees data, battery readings that make no sense. Check the target name character by character before you flash.

First-time flashing (DFU)​

  1. Disconnect USB and battery.
  2. Hold the BOOT button, keep holding it, and plug in USB-C.
  3. Release once the computer has enumerated the DFU device.
  4. Flash the arduXXXX_with_bl.hex file with your DFU tool (or Mission Planner → Load custom firmware, or MicoConfigurator, which flashes straight from Chrome or Edge — Windows needs the DFU driver installed).
  5. From then on, update normally over USB with .apj files from any ArduPilot ground station — no button needed.
DFU mode looks dead — that's normal

A board in DFU mode does not appear as a COM port the way it does with normal firmware, and its status LEDs stay dark. It shows up as a DFU device instead. Neither is a sign of a problem.

Easily confused points​

MicoAir743v2 is not MicoAir743, MicoAir743-Lite or MicoAir743 AIO. Four different boards with four different pin maps and four nearly identical names. This is the single most common way to brick an afternoon.

.hex vs .apj. The _with_bl.hex file contains the bootloader and the firmware, and is what you flash over DFU on a blank or bricked board. An .apj file is firmware only, flashed by a ground station through the bootloader that is already on the board. Use the hex once; use .apj forever after.

The BOOT button does two unrelated jobs. Held while plugging in USB, it enters DFU mode for flashing. Held for ~2 seconds while the board is already running, it toggles the Bluetooth module. Same button, completely different outcomes.

Pin 1 of the HD VTX connector is 12 V, not 5 V. Wiring a 5 V camera or receiver to it destroys the peripheral, and possibly the flight controller with it.

DShot and bi-directional DShot are not the same feature. Plain DShot sends commands to the ESC. Bi-directional DShot also reads RPM back, which is what enables RPM-based filtering — and it needs matching support at both ends.

Outputs share timer groups, not just a connector. Changing output 7 to a different protocol can constrain outputs 8 and 11, because they run off the same timer. The groups are listed above.

The built-in compass is rarely the one you want to fly. It is on the board, centimetres from the power wiring. Almost every serious build uses an external compass on a GPS mast and disables the internal one.

FAQ​

Which firmware should a beginner pick?​

If you want GPS missions, autonomous flight and the biggest tuning community, choose ArduPilot. Pick INAV if you fly fixed-wing FPV, Betaflight for pure acro/racing quads, PX4 if your workflow depends on its ecosystem (offboard control, research tooling).

Does it work with both analog and digital (HD) FPV?​

Yes, simultaneously if you like: analog VTX via the onboard OSD chip and video pads, HD systems (DJI O3/O4, etc.) via the dedicated HD VTX connector with DisplayPort OSD.

Why are two IMUs better than one?​

The firmware runs both continuously and compares them. If one drifts from vibration, temperature, or damage, the other keeps the aircraft flying — and having two different sensor models (BMI088 + BMI270) means they don't share the same failure modes.

What ESC should I pair with it?​

Any standard 4-in-1 ESC with a 30.5×30.5 mount. The matching option is the MicoAir 55 A or 70 A AM32 ESC — both available as a stack bundle on the product page.


Written and maintained by the Robofusion engineering team.