Skip to content

New target: SPEDIXH743#11567

Merged
sensei-hacker merged 3 commits into
iNavFlight:maintenance-9.xfrom
sensei-hacker:new-target-spedixh743
May 23, 2026
Merged

New target: SPEDIXH743#11567
sensei-hacker merged 3 commits into
iNavFlight:maintenance-9.xfrom
sensei-hacker:new-target-spedixh743

Conversation

@sensei-hacker
Copy link
Copy Markdown
Member

Summary

Adds a new target for the Spedix H743, an STM32H743-based flight controller with dual ICM42688P gyros.

Hardware

  • MCU: STM32H743
  • Gyros: 2× ICM42688P — Gyro1 on SPI1 (CS: PA15, EXTI: PD7), Gyro2 on SPI4 (CS: PE3, EXTI: PE4)
  • OSD: MAX7456 on SPI2
  • Blackbox: M25P16 on SPI3
  • Baro: BMP280 / DPS310 on I2C1
  • Motors: 8× (TIM1×4, TIM8×2, TIM3×2)
  • UARTs: 8 (+ VCP)
  • ADC: VBat (PC1), Current (PC2)
  • PINIO: VTX power switch (PA2), Camera switch (PA3)
  • LED strip: WS2812 on PA0 (TIM5_CH1)

Changes

  • src/main/target/SPEDIXH743/target.h — pin definitions, feature enables, UART/SPI/I2C/ADC config
  • src/main/target/SPEDIXH743/target.c — timer hardware table, BUSDEV SPI registrations for both gyros
  • src/main/target/SPEDIXH743/config.c — PINIO box assignments (USER1/USER2)
  • src/main/target/SPEDIXH743/CMakeLists.txt — build system registration

Notes

  • Both gyros use DEVHW_ICM42605 (the ICM42605 driver is compatible with the ICM42688P)
  • Gyros use polling mode (NONE irqPin) via USE_TARGET_IMU_HARDWARE_DESCRIPTORS
  • The board has GYRO_CLKIN pins (PA5, PB0) but INAV does not implement GYRO_CLKIN; those pins are left as unconfigured GPIO and are not declared in the timer table

Testing

  • Built successfully against maintenance-9.x with zero warnings
  • Flash usage: 35% of 1,792 KB — well within limits
  • No hardware available for on-FC testing; requesting testing from anyone with this FC

Code Review

Reviewed prior to PR — no critical issues. Dead CAMERA_CONTROL_PIN define (Betaflight-ism not used in INAV) was caught and removed during review.

Documentation

No end-user documentation needed for a new target.

STM32H743 based FC with dual ICM42688P gyros on SPI1/SPI4,
MAX7456 OSD on SPI2, M25P16 flash on SPI3, BMP280/DPS310 baro
on I2C1, 8 motors (TIM1x4, TIM8x2, TIM3x2), 8 UARTs, and
PINIO for VTX and camera switching.
@sensei-hacker sensei-hacker added the New target This PR adds a new target label May 18, 2026
@qodo-code-review
Copy link
Copy Markdown
Contributor

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 18, 2026

Test firmware build ready — commit 8471798

Download firmware for PR #11567

1 targets built. Find your board's .hex file by name on that page (e.g. MATEKF405SE.hex). Files are individually downloadable — no GitHub login required.

Development build for testing only. Use Full Chip Erase when flashing.

@sensei-hacker
Copy link
Copy Markdown
Member Author

sensei-hacker commented May 21, 2026

  • Samples received
  • Flash firmware
  • Calibrate
  • Orientation matches
  • Gyro working
  • Accel working
  • Baro working
  • Blackbox
  • UART1
  • UART2
  • UART3
  • UART4
  • UART6
  • UART7
  • UART8
  • Buzzer working
  • DShot support on m1-4
  • Additional motor / servo outputs
  • Voltage sensor
  • Current sensor
  • I2C Bus
  • Analog Camera working
  • Video Out working
  • OSD working
  • LEDs working
  • PINIO1
  • PINIO2

PC-port pins on STM32H743 require ADC3. PC1 (VBat, ADC123_INP11)
and PC2 (Current, ADC3_INP0) both work on ADC3; ADC1 init silently
fails for these pins. Same fix applied to MAMBAH743, FOXEERH743.
- Add USE_I2C_DEVICE_2 (PB10/PB11) for external magnetometer
- Route MAG_I2C_BUS to BUS_I2C2 to match board layout
- Fix VBAT_SCALE_DEFAULT (was Betaflight value, not INAV scale)

Both ADC and magnetometer verified working on hardware.
@sensei-hacker sensei-hacker merged commit 2f4047b into iNavFlight:maintenance-9.x May 23, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

New target This PR adds a new target

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant