mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-26 09:26:25 +08:00
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>
This commit is contained in:
@@ -159,6 +159,7 @@
|
||||
- [mRo (3DR) Pixhawk Wiring Quickstart](assembly/quick_start_pixhawk.md)
|
||||
- [Manufacturer-Supported Autopilots](flight_controller/autopilot_manufacturer_supported.md)
|
||||
- [Accton Godwit GA1](flight_controller/accton-godwit_ga1.md)
|
||||
- [AEDROX AEDROXH7](flight_controller/aedrox_aedroxh7.md)
|
||||
- [AirMind MindPX](flight_controller/mindpx.md)
|
||||
- [AirMind MindRacer](flight_controller/mindracer.md)
|
||||
- [ARK Electronics ARKV6X](flight_controller/ark_v6x.md)
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
# AEDROX AEDROXH7
|
||||
|
||||
::: warning
|
||||
PX4 does not manufacture this (or any) autopilot.
|
||||
Contact the [manufacturer](https://aedrox.com/) for hardware support.
|
||||
:::
|
||||
|
||||
::: info
|
||||
This flight controller is [manufacturer supported](../flight_controller/autopilot_manufacturer_supported.md).
|
||||
:::
|
||||
|
||||
The AEDROXH7 is an STM32H743-based FPV / racing flight controller from AEDROX.
|
||||
|
||||
Purchase from [aedrox.com](https://www.aedrox.com/).
|
||||
|
||||
For full hardware documentation and pinouts, see the [manufacturer documentation](https://aedrox.gitbook.io/docs).
|
||||
|
||||
## 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](../modules/modules_driver.md#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`](../advanced_config/parameter_reference.md#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](https://github.com/PX4/PX4-Autopilot/blob/main/boards/aedrox/aedroxh7/extras/aedrox_aedroxh7_bootloader.bin) bootloader binary and follow the [bootloader update from Betaflight / DFU](../advanced_config/bootloader_update_from_betaflight.md) flashing instructions.
|
||||
|
||||
## Building Firmware
|
||||
|
||||
To [build PX4](../dev_setup/building_px4.md) for this target:
|
||||
|
||||
```sh
|
||||
make aedrox_aedroxh7_default
|
||||
```
|
||||
|
||||
## Installing PX4 Firmware
|
||||
|
||||
Firmware can be installed in any of the normal ways:
|
||||
|
||||
- Build and upload the source:
|
||||
|
||||
```sh
|
||||
make aedrox_aedroxh7_default upload
|
||||
```
|
||||
|
||||
- [Load the firmware](../config/firmware.md) 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](../dev_log/logging.md).
|
||||
If the flash filesystem becomes corrupted, you can reformat it from the [System Console](../debug/system_console.md):
|
||||
|
||||
```sh
|
||||
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](../debug/system_console.md) at 57600 8N1.
|
||||
@@ -13,6 +13,7 @@ This category includes boards that are not fully compliant with the pixhawk stan
|
||||
The boards in this category are:
|
||||
|
||||
- [Accton Godwit GA1](../flight_controller/accton-godwit_ga1.md)
|
||||
- [AEDROX AEDROXH7](../flight_controller/aedrox_aedroxh7.md)
|
||||
- [AirMind MindPX](../flight_controller/mindpx.md)
|
||||
- [AirMind MindRacer](../flight_controller/mindracer.md)
|
||||
- [ARK Electronics ARKV6X](../flight_controller/ark_v6x.md) (and [ARK Electronics Pixhawk Autopilot Bus Carrier](../flight_controller/ark_pab.md))
|
||||
|
||||
Reference in New Issue
Block a user