Files
Julian Oes 41253af565 feat(boards): add support for AEDROXH7 flight controller
STM32H743-based FPV / racing flight controller from AEDROX.

Brings up:
- ICM-42688-P IMU on SPI2
- DPS310 baro on internal I2C2
- W25N NAND flash on SPI3 with littlefs at /fs/flash
- MAX7456 analog OSD on SPI1
- 8 motor outputs (TIM1 + TIM8) all bidirectional-DShot capable
- CAN1
- External I2C1 connector for compass / sensors
- 6 UARTs (TEL1, GPS1, RC, TEL2, ESC telemetry, debug console on UART8),
- Two user GPIOs on the M5-M8 connector, VTX power and camera-switch GPIOs,
buzzer on PA7 (active-buzzer transistor low-side switch), battery V/I sensing
via ADC1.

Board ID 1198 shared with ArduPilot's AP_HW_AEDROXH7 entry.
USB enumerates as 0x26ac:0x0054 with VENDORSTR "AEDROX".

Signed-off-by: Julian Oes <julian@oes.ch>
2026-04-28 12:47:15 +12:00

5.7 KiB

AEDROX AEDROXH7

::: warning PX4 does not manufacture this (or any) autopilot. Contact the manufacturer for hardware support. :::

::: info This flight controller is manufacturer supported. :::

The AEDROXH7 is an STM32H743-based FPV / racing flight controller from AEDROX.

Purchase from aedrox.com.

For full hardware documentation and pinouts, see the manufacturer documentation.

Key Features

  • MCU: STM32H743VIM6 32-bit processor running at 480 MHz
  • IMU: ICM-42688-P
  • Barometer: DPS310 (some revisions ship DPS368, supported by the same driver)
  • 128 MB W25N NAND flash for logging (mounted as littlefs at /fs/flash)
  • MAX7456 analog OSD
  • 6 UARTs (TEL1, GPS1, RC, TEL2, ESC telemetry, DJI/MSP HD OSD / debug console)
  • 1 internal I2C bus (barometer), 1 external I2C bus (user connector)
  • 1 CAN bus (CAN1) with silent-pin control
  • 8 PWM motor outputs (Bidirectional DShot capable)
  • 1 addressable LED strip pad, 2 general GPIO
  • Battery voltage and current monitoring
  • USB Type-C

No on-board magnetometer; PX4 runs with SYS_HAS_MAG=0 and EKF2 gravity fusion enabled by default.

Connectors and Pins

UARTs

Port MCU peripheral Device Function
SERIAL1 USART1 /dev/ttyS0 TEL1 (MAVLink)
SERIAL2 USART2 /dev/ttyS1 GPS1
SERIAL3 USART3 /dev/ttyS2 RC input
SERIAL4 UART4 /dev/ttyS3 TEL2
SERIAL7 UART7 /dev/ttyS4 ESC telemetry (RX only)
SERIAL8 UART8 /dev/ttyS5 Debug shell (system console)

SERIAL7 is wired RX-only by the vendor (intended for ESC telemetry). SERIAL8 is the system console at 57600 8N1 (device: /dev/ttyS5).

::: note The vendor brings SERIAL8 out on the HD VTX connector (intended for DJI / MSP DisplayPort), but the default PX4 config uses it as the system console. To use it for MSP DisplayPort instead, move the console off UART8, then start the msp_osd driver on /dev/ttyS5. :::

Motor / Servo Outputs

8 PWM motor outputs (M1-M8), all DShot and bidirectional-DShot (RPM telemetry) capable.

The M5-M8 motor connector additionally exposes two user-controllable GPIOs (GPIO1 / GPIO2, on PA2 / PA3) alongside the motor signals. Toggle them at runtime with the gpio command (see "User GPIOs" below).

A separate addressable-LED-strip pad is brought out; currently driven as a plain GPIO in this port .

Status LEDs

Silkscreen MCU pin Color Function
LED1 PE2 Blue MCU activity, solid when armed
LED2 - Green IMU power-supply indicator
LED3 - Green MCU / baro / OSD power-supply indicator
LED4 PE5 Green MCU activity, blinks based on flight state (preflight / disarmed / failsafe)
LED5 - - 10v VTX rail indicator (lit when VTX power is enabled)

Other I/O

Function MCU pin Notes
Buzzer PA7 Drives an NPN low-side switch, use a basic 2-pin active buzzer (e.g. TMB12A05)
VTX power PB1 Active high
Camera switch PD15 Active high, currently hard-coded to camera 1 at boot (no runtime control yet); use gpio write D15 1 from nsh to switch to camera 2
PINIO 1 / 2 PA2 / PA3 User-controllable GPIOs via gpio command
CAN1 silent PD12 Driven low to enable CAN bus
Battery V sense PC0 ADC1 IN10, calibrate BAT1_V_DIV per build
Battery I sense PC1 ADC1 IN11, calibrate BAT1_A_PER_V per ESC, or use DShot telemetry for current (BAT1_SOURCE)
USB VBUS sense PC15 Non-standard pin for VBUS sense

Analog OSD (MAX7456)

The MAX7456 driver is built in but disabled by default. To enable, set OSD_ATXXXX_CFG to 1 (NTSC) or 2 (PAL) and reboot. The atxxxx driver auto-starts and overlays PX4 status on top of the camera video.

PX4 Bootloader Update

Before PX4 firmware can be installed, the PX4 bootloader must be flashed. Download the aedrox_aedroxh7_bootloader.bin bootloader binary and follow the bootloader update from Betaflight / DFU flashing instructions.

Building Firmware

To build PX4 for this target:

make aedrox_aedroxh7_default

Installing PX4 Firmware

Firmware can be installed in any of the normal ways:

  • Build and upload the source:

    make aedrox_aedroxh7_default upload
    
  • Load the firmware using QGroundControl. You can use either pre-built firmware or your own custom firmware.

Flash Storage Troubleshooting

The AEDROXH7 uses a 128 MB NAND flash (W25N) with a littlefs filesystem for logging. If the flash filesystem becomes corrupted, you can reformat it from the System Console:

mklittlefs /dev/mtd0 /fs/flash

This will erase all data on the flash and create a fresh littlefs filesystem. The filesystem is immediately available after the command completes.

System Console

UART8 is configured for use as the System Console at 57600 8N1.