How to Set Up the Aero H743 Flight Controller with ArduPilot (Step-by-Step)
The Aero H743 Flight Controller uses an STM32H743 processor at 480 MHz with two IMUs (BMI088 + BMI270) on a 36 × 36 mm, 9 g board. Aerostem designs and builds it in India, it costs ₹6,000 + 5% GST, and it runs ArduPilot, PX4, Betaflight and INAV. This guide walks through a complete ArduPilot setup: checking the hardware revision, loading the official AeroStemH743V1 ArduCopter firmware, wiring the main peripherals and calibrating in Mission Planner.
Updated 15 November 2026 · Aerostem engineering team
What you need before you start
Safety first. Remove all propellers before you connect a battery, and keep them off for the whole of this guide. Do your first power-up over USB-C only. Never flash firmware made for a similarly named board.
Take your time with each step. Most first-flight problems come from wiring mistakes, not firmware.
- Aero H743 Flight Controller (Variant A with JST-GH connectors or Variant B with solder pads)
- USB-C data cable (some cables only carry charge, and those will not work)
- A Windows PC with Mission Planner, or any PC with QGroundControl
- The ArduPilot firmware file AeroStemH743V1_arducopter_4.6.3.apj from the Firmware section of the product page
- The Aero H743 datasheet (HW Rev 1.0) – keep it open for the pinout tables
- A quality MicroSD card formatted FAT32, for flight logs
- Your RC receiver (CRSF/ELRS or SBUS), GPS module, telemetry radio and ESC
Step 1: Verify your hardware revision
Aerostem asks every user to do this before flashing. Confirm the exact model, hardware revision and firmware target, and back up any existing configuration. The published ArduPilot release has these details:
| Item | Value |
|---|---|
| Firmware | ArduCopter 4.6.3 |
| Target | AeroStemH743V1 |
| Board ID | 1166 |
| Hardware | V1 (datasheet HW Rev 1.0) |
| File | .apj, 1.4 MB |
| SHA-256 | 749ba052de3ec585ca00360d3c4ce54431b5c79a3f695aabe7cc4f20eb41d93a |
Check the SKU on your packaging (AER-AEROH743-V1). If anything does not match, contact Aerostem before you continue.
Check the file checksum
After downloading, compare the file's SHA-256 hash with the checksum shown on the product page and in the table above. On Windows, open PowerShell in the download folder and run:
Get-FileHash .\AeroStemH743V1_arducopter_4.6.3.apj -Algorithm SHA256If the hashes are different, delete the file and download it again. Never flash a file whose checksum does not match.
Step 2: Load the ArduPilot firmware
ArduPilot's standard firmware list may not include this target, so the .apj file is loaded manually as custom firmware. Boards prepared for ArduPilot can be updated with Mission Planner → Install Firmware → Load custom firmware using the .apj file.
If your board does not connect in Mission Planner, or was previously running Betaflight/INAV, contact Aerostem before flashing – do not use DFU files meant for other boards.
Using Mission Planner
- Connect the Aero H743 to your PC over USB-C. Do not click Connect yet – flashing only works while Mission Planner is disconnected from the board.
- Go to SETUP → Install Firmware.
- Click Load custom firmware and select AeroStemH743V1_arducopter_4.6.3.apj.
- Wait until the upload finishes. Do not unplug the cable while it is writing.
- Choose your COM port, set the baud rate to 115200 and click Connect. You should see parameters loading and a live HUD.
Using QGroundControl
- Open Vehicle Setup → Firmware, then plug in the board.
- Select ArduPilot, tick Advanced settings and choose Custom firmware file…
- Select the .apj file, confirm, and wait for QGroundControl to report success.
If the board is not detected
Try a different USB-C cable and USB port first. If the board still does not appear, stop and contact Aerostem with your SKU and what the board was previously running. Do not try recovery files or DFU images published for other H743 boards.
Step 3: Wire the core peripherals
All UART signals are 3.3 V logic, and UART links cross over: device TX goes to FC RX, and device RX goes to FC TX. I²C, CAN and video lines connect straight across. Wire every connection by signal name, not by connector position, because third-party harness pin orders vary.
RC receiver (UART6)
- CRSF / ELRS: connect to the UART6 connector. Receiver TX goes to RX6 and receiver RX goes to TX6, plus 5 V and GND. ArduPilot maps UART6 to SERIAL5.
- SBUS: use the SBUS pin on the DJI connector. The board inverts it in hardware onto RX6. If you use SBUS, leave RX6 on the UART6 connector unconnected.
GPS + compass (UART3 + I²C)
The GPS connector carries UART3 plus I²C in this order: SDA, SCL, RX3, TX3, GND, 5V. GPS TX goes to RX3 and GPS RX goes to TX3, while SDA and SCL connect straight across. ArduPilot maps UART3 to SERIAL3. Mount the GPS mast away from power wires and the VTX so the compass reads cleanly. For RTK work, see the Aero A20 RTK GNSS.
Telemetry (UART1 / TELEM1)
Connect a SiK, RFD900x or ESP-based MAVLink radio to UART1, which is SERIAL1. The usual protocol is MAVLink 2 at 57,600 baud. High-power radios draw a lot from the 5 V rail, so count them in your power budget. Aerostem also offers the Aero A1 Telemetry link.
UART2: TELEM2 or DJI, not both
TELEM2 (5 V) and the DJI O3/O4 connector (9 V) are two physical connectors for the same UART2. Use only one of them. Pin 1 on the DJI connector is 9 V, so never connect a device that only accepts 5 V there.
CAN: re-pin Pixhawk cables
The CAN1 connector uses the order GND, 5V, CANL, CANH. This is not the Pixhawk standard order, so a standard Pixhawk CAN cable must be re-pinned before you plug it in. Terminate the far end of the bus with 120 Ω if your device does not include termination.
Power and ESC
Battery input is 2S–6S (6–27 V). It comes in through the Power & Motors A connector, which carries GND, VBAT, M1–M4, RX7 (ESC telemetry) and CURR. A hexa or octo uses Power & Motors B for M5–M10. ESC harness pin orders differ between brands, so re-pin the cable to match the datasheet. Never plug it in blind.
The 5 V and 9 V BECs each have a 3 A design rating, shared by every device on that rail. Simultaneous full load on both rails is not rated. Power a Raspberry Pi or Jetson companion computer from its own BEC, never from the flight controller's 5 V pin.
Step 4: Configure serial ports and battery monitor
Open CONFIG → Full Parameter List and check these values. Set any that differ from your setup, then write the parameters and reboot.
| Parameter | Typical value | Purpose |
|---|---|---|
| SERIAL5_PROTOCOL | 23 (RCIN) | RC on UART6 |
| SERIAL3_PROTOCOL | 5 (GPS) | GPS on UART3 |
| SERIAL1_PROTOCOL | 2 (MAVLink2) | Telemetry on UART1 |
| SERIAL2_PROTOCOL | 42 (DisplayPort) or 2 | DJI OSD or TELEM2 |
| BATT_VOLT_PIN / BATT_CURR_PIN | 10 / 11 | Datasheet defaults |
| BATT_VOLT_MULT | 21.2 | Voltage scale |
| BATT_AMP_PERVLT | 40.2 | Current scale (depends on your ESC sensor) |
Check the voltage and current readings against a calibrated multimeter and adjust the scale factors if they are off.
Step 5: Calibrate and test (props off)
Follow ArduPilot's First Time Setup in this order:
- Frame type: set your frame class and type (for example Quad X).
- Accelerometer calibration: place the board level and work through all six orientations.
- Compass calibration: run onboard calibration outdoors, away from metal.
- Radio calibration: move every stick and switch to its limits and confirm the channels move in the right direction.
- Flight modes: assign at least Stabilize, AltHold and Loiter/RTL.
- Failsafes: configure radio and battery failsafe actions.
- Motor test: with props off, use SETUP → Optional Hardware → Motor Test to confirm motor order and spin direction.
Insert the MicroSD card so the board records logs from your first flight onward.
Troubleshooting quick reference
- No RC input: check that TX and RX cross over, that SERIAL5 is set to RCIN, and that nothing is wired to RX6 when SBUS is in use.
- No GPS: check TX3/RX3 cross-over and the GPS baud rate, and give the module a clear view of the sky.
- DJI OSD blank and TELEM2 dead: both are on the same UART2. Pick one.
- CAN device not seen: re-pin the cable away from the Pixhawk order and check the 120 Ω termination.
- Board not detected for flashing: try another data cable and port, then contact Aerostem before trying anything else.
Ready to build? The Aero H743 Flight Controller is ₹6,000 + 5% GST, ships in 3–4 business days with free domestic shipping and a GST invoice. Volume pricing runs down to ₹5,000 + GST at 100+ units – see OEM supply. For RTK positioning, read our RTK GPS buyer's guide.
Frequently asked questions
Which ArduPilot firmware file do I use for the Aero H743?
Use AeroStemH743V1_arducopter_4.6.3.apj (board ID 1166) from the Firmware section of the Aero H743 product page. Verify your hardware revision and the file's SHA-256 checksum before you flash.
How do I load ArduPilot custom firmware on the Aero H743?
Boards prepared for ArduPilot can be updated in Mission Planner or QGroundControl: open Install Firmware, choose Load custom firmware and select the .apj file, without clicking Connect until flashing has finished. If the board does not connect, or was previously running Betaflight or INAV, contact Aerostem before flashing.
Which port does my ELRS or SBUS receiver connect to?
CRSF/ELRS receivers connect to UART6 (RX6/TX6). SBUS connects to the SBUS pin on the DJI connector, which is hardware-inverted onto RX6. Leave RX6 on the UART6 connector unused when you use SBUS.
Can I use TELEM2 and a DJI O3/O4 Air Unit at the same time?
No. TELEM2 and the DJI connector share UART2, so only one of them can be used at a time.
Can I use a standard Pixhawk CAN cable?
Not without re-pinning it. The Aero H743 CAN1 connector uses the order GND, 5V, CANL, CANH, which is not the Pixhawk standard order.
