Skip to content

Conversation

@HGLRC-T
Copy link
Contributor

@HGLRC-T HGLRC-T commented Jan 5, 2026

User description

This PR adds support for the HGLRC H743 WING flight controller board.

Key Features:

  • MCU: STM32H743
  • IMU: ICM42605 (SPI)
  • Baro: DPS310/SPL06 (I2C)
  • Mag: Supported via I2C1
  • Airspeed: Dedicated ADC channel and I2C Pitot bus.
  • Rangefinder: US42 support (I2C).
  • OSD: MAX7456 (SPI).
  • Storage: SD Card via SDIO.
  • Connectivity: 6 UARTs, 3 SPI, 2 I2C buses.
  • Outputs: 13 PWM outputs (supports DShot and servos).
  • RX: Default set to CRSF via UART2.
  • GPS: Default set to UART3.
  • LED Strip: Support for WS2811 on PA0.

Default Configuration:
Optimized for fixed-wing applications with Air Mode enabled, airspeed sensor, and PINIO support for peripheral control. Blackbox logging to SD card is enabled by default.

Notes:

  • The target identifier is HG7W.
  • Board name: HGLRC_H743_WING.

PR Type

New Target


Description

  • Adds HGLRC H743 WING flight controller board support

  • Configures STM32H743 MCU with ICM42605 IMU via SPI1

  • Defines 13 PWM outputs supporting DShot and servos

  • Sets up peripherals: MAX7456 OSD, DPS310/SPL06 barometer, SD card via SDIO

  • Enables default features for fixed-wing: airspeed, CRSF RX, blackbox logging


Diagram Walkthrough

flowchart LR
  MCU["STM32H743 MCU"]
  IMU["ICM42605 IMU<br/>SPI1"]
  OSD["MAX7456 OSD<br/>SPI2"]
  BARO["DPS310/SPL06<br/>Barometer I2C2"]
  STORAGE["SD Card<br/>SDIO"]
  SENSORS["Airspeed ADC<br/>Rangefinder I2C1"]
  PWM["13 PWM Outputs<br/>DShot Support"]
  RX["CRSF RX<br/>UART2"]
  GPS["GPS<br/>UART3"]
  
  MCU --> IMU
  MCU --> OSD
  MCU --> BARO
  MCU --> STORAGE
  MCU --> SENSORS
  MCU --> PWM
  MCU --> RX
  MCU --> GPS
Loading

File Walkthrough

Relevant files
Configuration changes
target.h
Complete board hardware and peripheral configuration         

src/main/target/HGLRC_H743_WING/target.h

  • Defines board identifier HG7W and product string HGLRC_H743_WING
  • Configures 7 UARTs (UART1-5, UART7) with pin assignments
  • Sets up 3 SPI buses: SPI1 for ICM42605 IMU, SPI2 for MAX7456 OSD, SPI3
    for flash storage
  • Configures 2 I2C buses for barometer, magnetometer, rangefinder, and
    pitot sensors
  • Defines 13 PWM output pins across TIM1, TIM2, TIM3, TIM4, TIM5 timers
  • Enables ADC channels for voltage, current, and airspeed measurements
  • Sets default features: OSD, telemetry, blackbox logging, airmode, CRSF
    RX on UART2, GPS on UART3
+170/-0 
target.c
Timer and sensor hardware initialization                                 

src/main/target/HGLRC_H743_WING/target.c

  • Registers ICM42605 IMU sensor on SPI1 bus with CW0_DEG alignment
  • Defines timer hardware mappings for 13 PWM outputs with
    auto-assignment
  • Configures LED strip support on PA0 using TIM5 CH1
  • Maps timer channels to specific GPIO pins for motor and servo control
+57/-0   
config.c
Target-specific configuration initialization                         

src/main/target/HGLRC_H743_WING/config.c

  • Initializes PINIO box configuration with USER1 and USER2 permanent IDs
  • Enables peripheral control via PINIO for auxiliary functions
+37/-0   
CMakeLists.txt
Build system configuration                                                             

src/main/target/HGLRC_H743_WING/CMakeLists.txt

  • Adds CMake build configuration for HGLRC_H743_WING target
  • Specifies STM32H743XI MCU variant for compilation
+1/-0     

@github-actions
Copy link

github-actions bot commented Jan 5, 2026

Branch Targeting Suggestion

You've targeted the master branch with this PR. Please consider if a version branch might be more appropriate:

  • maintenance-9.x - If your change is backward-compatible and won't create compatibility issues between INAV firmware and Configurator 9.x versions. This will allow your PR to be included in the next 9.x release.

  • maintenance-10.x - If your change introduces compatibility requirements between firmware and configurator that would break 9.x compatibility. This is for PRs which will be included in INAV 10.x

If master is the correct target for this change, no action is needed.


This is an automated suggestion to help route contributions to the appropriate branch.

@qodo-code-review
Copy link
Contributor

qodo-code-review bot commented Jan 5, 2026

PR Compliance Guide 🔍

All compliance sections have been disabled in the configurations.

@HGLRC-T HGLRC-T force-pushed the add-HGLRC_H743_WING branch from ca4734f to dbacc5c Compare January 6, 2026 07:47
@MrD-RC
Copy link
Member

MrD-RC commented Jan 6, 2026

It’s also worth noting the new hardware policy. Have you contacted any developers yet to send hardware samples?

@MrD-RC MrD-RC added New target This PR adds a new target hardware needed Blocked by lack of hardware to reproduce issue labels Jan 6, 2026
@HGLRC-T
Copy link
Contributor Author

HGLRC-T commented Jan 6, 2026

It’s also worth noting the new hardware policy. Have you contacted any developers yet to send hardware samples?

Next, I will follow the rules inside and send out the samples.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hardware needed Blocked by lack of hardware to reproduce issue New target This PR adds a new target Review effort 2/5

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants