Skip to content

Conversation

@liyouluo
Copy link
Contributor

@liyouluo liyouluo commented Oct 17, 2025

Hi.

The schematic has been reviewed in Discord.

please check the config.

Summary by CodeRabbit

  • New Features
    • Added full support for the BetaFPV G473 V3 flight controller: STM32G4-class MCU support, ICM42688P accel/gyro, BMP280/DPS310 barometer options, onboard flash and video OSD support, beeper, four motor outputs, addressable LED strip, multiple UART/I2C/SPI ports, ADC battery/current sensing, timer/DMA mappings, comprehensive pin mappings, and sensible defaults for sensors, telemetry, and motor protocols.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 17, 2025

Walkthrough

Adds a new board configuration header configs/BETAFPVG473_V3/config.h declaring MCU/board identifiers, enabling sensors/peripherals, and defining comprehensive GPIO, timer, DMA, SPI, I2C, ADC, and default runtime mappings and constants.

Changes

Cohort / File(s) Summary
Board & identifiers
configs/BETAFPVG473_V3/config.h
New board header with FC_TARGET_MCU(STM32G47X), BOARD_NAME(BETAFPVG473_V3), MANUFACTURER_ID(BEFH) and top-level feature toggles.
Sensors & feature flags
configs/BETAFPVG473_V3/config.h
Enables accelerometer/gyro, ICM42688P SPI accel/gyro, flash (M25P16), MAX7456 OSD, gyro clock input, barometers (BMP280, DPS310) and related compile-time flags.
Pin mappings & peripherals
configs/BETAFPVG473_V3/config.h
Declares pins for beeper, motors, LED strip, LEDs, UART1–4 TX/RX, SPI1–3 (SCK/SDI/SDO), I2C1 SCL/SDA, ADC channels (VBAT/CURRENT), flash & MAX7456 CS, gyro CS/EXTI/CLKIN and related assignments.
Timers, DMA & timer-pin mapping
configs/BETAFPVG473_V3/config.h
Adds TIMER_PIN_MAPPING macro with timer/port/channel-to-pin entries and defines ADC1_DMA_OPT / ADC2_DMA_OPT.
Instances, alignment & defaults
configs/BETAFPVG473_V3/config.h
Sets SPI/I2C instances (MAX7456_SPI_INSTANCE, FLASH_SPI_INSTANCE, GYRO_1_SPI_INSTANCE, BARO_I2C_INSTANCE, MAG_I2C_INSTANCE), gyro alignment, DEFAULT_ALIGN_BOARD_YAW, default blackbox/DSHOT/meter sources, BEEPER_INVERTED, SYSTEM_HSE_MHZ, and conditional UART/serialrx mappings.

Sequence Diagram(s)

(omitted — changes are a static board configuration header without control-flow or runtime interaction to diagram)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Files/areas to inspect closely:

  • configs/BETAFPVG473_V3/config.h — verify timer-to-pin channel assignments and that timer channel numbers match intended pins.
  • SPI/I2C/UART instance constants vs. mapped pins — ensure instance numbers correspond to designated SCK/SDI/SDO and RX/TX pins.
  • CS/EXTI and GYRO_1_CLKIN definitions — confirm EXTI pin/IRQ and clock-in pin wiring consistency.
  • Conditional blocks (OSD UART, SERIALRX) — ensure correct UART selection when options are toggled.

Possibly related PRs

Suggested reviewers

  • ot0tot
  • haslinghuis
  • sugaarK
  • nerdCopter

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description check ⚠️ Warning The description is largely incomplete and does not follow the required template structure. It lacks mandatory checklist items, hardware compliance details, and proper documentation of the configuration being added. Complete the description using the template structure, including the mandatory checklist with all required items (schematics review, hardware testing, guidelines compliance, connector standards, flight testing), and provide detailed configuration documentation.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: adding a new flight controller configuration for BETAFPVG473_V3. It is concise, specific, and directly relates to the primary content of the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between dd8c5d2 and ca138f3.

📒 Files selected for processing (1)
  • configs/BETAFPVG473_V3/config.h (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • configs/BETAFPVG473_V3/config.h

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Co-authored-by: Mark Haslinghuis <[email protected]>
@haslinghuis haslinghuis requested a review from ot0tot November 2, 2025 01:28
@sugaarK
Copy link
Member

sugaarK commented Nov 3, 2025

@liyouluo can you check the buzzer works ? had a spate of boards where it hasn't been checked and they don't work

@liyouluo
Copy link
Contributor Author

@liyouluo can you check the buzzer works ? had a spate of boards where it hasn't been checked and they don't work

We have conducted tests, and the current configuration is for active buzzers. To use a passive buzzer, you need to supplement the Timer and beeper_frequency configurations. For example, for BETAPPVG473 (V1/V2/V3), you can enter:

timer A08 AF6
set beeper_frequency = 2400
save

for BETAPPVH725, you can enter:

timer C9 AF2
set beeper_frequency = 2400
save

Of course, users can also change the sound by setting the beeper_frequency.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants