Skip to content

Add target BLUEBERRYH743#11279

Open
sunyanmeng963 wants to merge 2 commits intoiNavFlight:maintenance-9.xfrom
sunyanmeng963:inav9.0-add-blueberryH743
Open

Add target BLUEBERRYH743#11279
sunyanmeng963 wants to merge 2 commits intoiNavFlight:maintenance-9.xfrom
sunyanmeng963:inav9.0-add-blueberryH743

Conversation

@sunyanmeng963
Copy link
Contributor

@sunyanmeng963 sunyanmeng963 commented Jan 23, 2026

User description

Add target BLUEBERRYH743 to INAV master


PR Type

New Target


Description

  • Add BLUEBERRYH743 flight controller target with STM32H743 MCU

  • Configure dual gyro IMU support (MPU6000, ICM20602, ICM42605)

  • Define 12 servo outputs and comprehensive peripheral support

  • Set up UART, SPI, I2C, ADC, and SD card interfaces


Diagram Walkthrough

flowchart LR
  A["BLUEBERRYH743 Target"] --> B["Hardware Config"]
  A --> C["Peripheral Setup"]
  B --> D["STM32H743 MCU"]
  B --> E["Dual Gyro IMU"]
  C --> F["UART/SPI/I2C"]
  C --> G["ADC/SD Card"]
  C --> H["LED/Beeper"]
Loading

File Walkthrough

Relevant files
Configuration changes
target.h
Complete hardware and peripheral definitions                         

src/main/target/BLUEBERRYH743/target.h

  • Define board identifier and USB product string for BLUEBERRYH743
    variants
  • Configure dual gyro IMU hardware (MPU6000, ICM20602, ICM42605) with
    SPI buses
  • Set up 8 UART ports, I2C devices, ADC channels, and SD card support
  • Define GPIO pins for LEDs, beeper, PINIO controls, and LED strip
  • Configure default features including OSD, telemetry, blackbox logging
+213/-0 
target.c
Timer and IMU bus device registration                                       

src/main/target/BLUEBERRYH743/target.c

  • Register SPI bus devices for MPU6000, ICM42688, ICM20602, and ICM42605
    IMUs
  • Define 12 timer hardware outputs for servo/motor control on TIM3,
    TIM5, TIM4, TIM15, TIM1, TIM2, TIM8
  • Configure LED and beeper PWM outputs
  • Include commented-out PPM and software serial timer definitions
+60/-0   
config.c
Target-specific runtime configuration                                       

src/main/target/BLUEBERRYH743/config.c

  • Configure PINIO box permanent IDs for user-defined functions
  • Enable beeper PWM mode
  • Set USART1 as MSP serial port with 115200 baud rate
+34/-0   
CMakeLists.txt
Build system configuration                                                             

src/main/target/BLUEBERRYH743/CMakeLists.txt

  • Add build configuration for BLUEBERRYH743 and BLUEBERRYH743HD variants
  • Target STM32H743XI MCU for both variants
+2/-0     

@github-actions
Copy link

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

PR Compliance Guide 🔍

All compliance sections have been disabled in the configurations.

DEF_TIM(TIM2, CH1, PA15, TIM_USE_BEEPER, 0, 0), // BEEPER PWM

// DEF_TIM(TIM8, CH2, PC7, TIM_USE_PPM, 0, 0), // RX6 PPM
DEF_TIM(TIM8, CH1, PC6, TIM_USE_ANY, 0, 0), // TX6 SoftwareSerial
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: Resolve a pin conflict for PC6 which is used for both TIM8 (softserial) and UART6_TX_PIN. Comment out or remove the timer definition to avoid the conflict. [possible issue, importance: 9]

Suggested change
DEF_TIM(TIM8, CH1, PC6, TIM_USE_ANY, 0, 0), // TX6 SoftwareSerial
// DEF_TIM(TIM8, CH1, PC6, TIM_USE_ANY, 0, 0), // TX6 SoftwareSerial

@sensei-hacker sensei-hacker added this to the 9.1 milestone Feb 8, 2026
@sensei-hacker sensei-hacker changed the base branch from master to maintenance-9.x February 8, 2026 06:05
@sensei-hacker sensei-hacker added the New target This PR adds a new target label Feb 8, 2026
@sensei-hacker
Copy link
Member

sensei-hacker commented Mar 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

- Change TARGET_BOARD_IDENTIFIER from "H743" to "BB43" (unique 4-char ID)
- Remove BEEPER_PWM_FREQUENCY (no matching DEF_TIM entry)
- Remove USE_SOFTSERIAL1 (unnecessary with 8 hardware UARTs + VCP)
- Update SERIAL_PORT_COUNT from 9 to 8
- Remove beeper PWM and softserial timer entries from target.c
- Fix trailing whitespace on DEF_TIM S3 line
@sensei-hacker
Copy link
Member

A few tweaks I did:

  • Change TARGET_BOARD_IDENTIFIER from "H743" to "BB43" (unique 4-char ID)
  • Remove BEEPER_PWM_FREQUENCY
  • Remove USE_SOFTSERIAL1 (unnecessary with 8 hardware UARTs + VCP)
  • Update SERIAL_PORT_COUNT from 9 to 8
  • Remove beeper PWM and softserial timer entries from target.c
  • Fix trailing whitespace on DEF_TIM S3 line

@github-actions
Copy link

Test firmware build ready — commit 501fc54

Download firmware for PR #11279

230 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.

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 Review effort 2/5

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants