Pr add board X-MAV-AP-H743v3 - #34117
Conversation
Hwurzburg
left a comment
There was a problem hiding this comment.
Preliminary
No purchase/where-to-buy link anywhere in the README or PR description (just a link to the vendor's homepage). Without one the board can't be added to the wiki — it's invisible to ArduPilot users. Please add a link to where the board can actually be bought.
README.md
UART Mapping — this needs to be a table (see readme_template.md), and it's missing DMA status entirely. Also, SERIAL2 -> UART4 is labeled (User) but nothing in hwdef.dat overrides DEFAULT_SERIAL2_PROTOCOL, so it actually boots as MAVLink2 — and your own pinout image labels this connector TEL2, so MAVLink2 looks like the intended behavior, not (User). Fix the label (or add the override in hwdef.dat if (User) was actually intended — see hwdef.dat note below).
| Serial# | Protocol | Port | Notes |
|---------|-----------------|---------|-------------------------------|
| SERIAL0 | MAVLink2 | USB | |
| SERIAL1 | MAVLink2 | USART2 | DMA enabled |
| SERIAL2 | MAVLink2 | UART4 | DMA enabled |
| SERIAL3 | GPS | USART1 | DMA enabled |
| SERIAL4 | None (User) | USART6 | DMA enabled |
| SERIAL5 | None (User) | UART8 | DMA enabled |
| SERIAL6 | MSP DisplayPort | USART3 | DMA enabled |
| SERIAL7 | RCIN | UART5 | DMA enabled |
| SERIAL8 | ESC Telemetry | UART7 | RX7 only, on ESC connector |
VTX Support — "Pin 1 of the connector is 9v" is wrong for this board; your own images and features list (12V 2A BEC) show the DJI connector's power pin is 12V, not 9V (looks copy-pasted from the v2 README, which really does have a 9V BEC). Also double check it's actually pin 1 — the pinout image shows the power pin as the last pin in the SH1.0-6P row (SBUS, GND, RX3, TX3, GND, 12V), not the first.
The SH1.0-6P connector supports a DJI Air Unit / HD VTX connection. Protocol defaults to DisplayPort. The last pin of the connector is 12v so be careful not to connect this to a peripheral requiring 5v.
Two more connectors shown in the pinout/wiring images aren't documented anywhere: the FPV Camera pad (12V/GND/VIDEO-IN, feeding the onboard AT7456E OSD) and the separate VTX(Analog) pad (12V/GND/VIDEO-OUT). Both are fixed to the 12V rail with no relay/GPIO control, which is fine, but please add them to the OSD/VTX sections so users know they exist and what voltage feeds them. Also note that simultaneous HD VTX OSD and analog OSD operation are enabled by default (via OSD_TYPE2 5 in defaults.parm).
Battery Monitoring — this is an analog monitor (BATT_MONITOR 4), so add a note that BATT_VOLT_MULT/BATT_AMP_PERVLT need adjusting to match whatever external current sensor is actually attached (the current sensor is off-board, on the ESC connector, so the shipped scale is only a starting point).
Compass — use the standard wording for a built-in compass:
The AP-H743v3 has a built-in compass (QMC5883P). Due to potential interference, the autopilot is usually used with an external I2C compass as part of a GPS/Compass combination, using the SDA and SCL connector.
Loading Firmware — dfu-util (a common "favorite DFU tool") can't flash a .hex file — it has no Intel-HEX parser, so -D X-MAV-AP-H743v3_with_bl.hex would write the literal ASCII text to 0x08000000 and the board won't boot. Point at the .bin bootloader instead, and add the firmware-server pointer:
Firmware for the AP-H743v3 is available from the [ArduPilot Firmware Server](https://firmware.ardupilot.org) under the `X-MAV-AP-H743v3` target.
To load ArduPilot firmware, hold boot button or pad low while powering up the board. Then use the STM32CubeProgrammer app or other DFU utility to load the "X-MAV-AP-H743v3_bl.bin" file. Subsequently, a GCS can update firmware using the *.apj files.
hwdef.dat
SERIAL2 (UART4/TEL2 connector) has no DEFAULT_SERIAL2_PROTOCOL override, so it defaults to MAVLink2 per AP_SerialManager. If a general-purpose "User" UART was actually intended here (matching TEL3/TEL4's pattern), add:
define DEFAULT_SERIAL2_PROTOCOL SerialProtocol_None
Otherwise, if MAVLink2 on the TEL2 connector was the intent, just fix the README label instead (see above).
The board needs DFU for the initial firmware load (implying it doesn't ship with ArduPilot preinstalled) and uses a standard 4-in-1 ESC motor connector — consider adding the Betaflight motor-order default so users migrating from Betaflight don't need to rewire their ESCs:
# Motor order implies Betaflight/X for standard ESCs
define HAL_FRAME_TYPE_DEFAULT 12
Re-request my review when these changes are made.
afc7ad4 to
98899ca
Compare
|
@Hwurzburg Thank you for your thorough review. All requested changes have been addressed:
Regarding the Betaflight motor order default: we have decided not to add it, as we do not specifically target Betaflight migration users. Our users are expected to use the standard ArduPilot motor order and can adjust parameters if needed. Please re-review when you have time. Thanks! |
98899ca to
476ca9a
Compare
|
@andyp1per Hi, just a polite follow-up – could you please take a look at this PR for technical review when you get a chance? We have updated the documentation based on the previous suggestions. Thank you! |
|
Automated hwdef review ( PR 34117 · base Build
Must-fix
Should-fix
Notes
Generated by Claude via |
476ca9a to
ec27feb
Compare
|
Hi Andy, Thank you for your thorough review and valuable suggestions. I have updated the PR with the following changes based on your feedback: The bootloader .hex file has also been included in the PR. Could you please review the changes again when you have a moment? Thanks again for your help! |
Dear Ardupilot Developer. We have developed a flight controller AP-H743v3, We will keep developing it and want to add our flight controller to supported hardware.
Best regard!
-->