Skip to content

Add suggested ANC gain parameters for PineBuds Pro calibration#122

Open
marfrit wants to merge 3 commits intopine64:mainfrom
marfrit:coefficients
Open

Add suggested ANC gain parameters for PineBuds Pro calibration#122
marfrit wants to merge 3 commits intopine64:mainfrom
marfrit:coefficients

Conversation

@marfrit
Copy link
Copy Markdown

@marfrit marfrit commented Apr 9, 2026

Starting-point total_gain values for feedforward (300-700) and feedback (200-500) ANC paths. Includes calibration procedure notes. Use with the extracted IIR coefficients from ef606_average_coefficients.h.

Starting-point total_gain values for feedforward (300-700) and
feedback (200-500) ANC paths. Includes calibration procedure notes.
Use with the extracted IIR coefficients from ef606_average_coefficients.h.
@shymega shymega requested a review from Ralim April 9, 2026 22:24
@shymega shymega added enhancement New feature or request help wanted Extra attention is needed labels Apr 9, 2026
Copy link
Copy Markdown
Collaborator

@Ralim Ralim left a comment

Choose a reason for hiding this comment

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

Happy to merge this; though do you want to add the *_MODERATE ones as the default ones in the firmware build?

@Ralim
Copy link
Copy Markdown
Collaborator

Ralim commented Apr 15, 2026

Ah wait, where is the ef606_average_coefficients file you mention?

…ware

Extracted from EF606 production firmware v1.1.1 (BES2300 IBRT platform).
Coefficients are in Q27 fixed-point format matching the BES SDK aud_item
structure. Includes EQ, DAC, and audio processing IIR filter banks.

These can serve as starting points for ANC calibration on BES2300 devices.
@marfrit
Copy link
Copy Markdown
Author

marfrit commented Apr 15, 2026

Good catch — cherry-picked commit 51c6d93 into this branch. PR now shows both:

  • config/ef606_average_coefficients.h (154 lines, extracted from 1MORE Fit SE EF606 v1.1.1)
  • config/suggested_anc_gains.h (paired starting-point gain values)

Re: the MODERATE-as-default question — yes, good compromise, happy to set MODERATE as the default active values. FF=500, FB=350. I'll push a follow-up commit that wires ANC_FF_GAIN_MODERATE / ANC_FB_GAIN_MODERATE into the active config path shortly. (My personal dial is at 11 but moderate is the safer out-of-box default for most users.)

…t macros

Previously hardcoded (FF_L=440, FF_R=382, FB_L=350, FB_R=350) with
a commented-out 350 alternative for FF. Replace with build-time
selectable preset from config/suggested_anc_gains.h:

  -DCFG_ANC_GAIN_AGGRESSIVE   FF=700  FB=500
  -DCFG_ANC_GAIN_CONSERVATIVE FF=300  FB=200
  (default, no flag)          FF=500  FB=350  MODERATE

Only mode0 is routed through the macros. Voice-call, wind-noise,
and ambient modes elsewhere in this file keep their individually-
tuned values.

Default changes slightly: FF was 440/382 (mixed), now 500/500; FB
was already 350 which matches MODERATE exactly. Users wanting the
previous more-conservative FF can build with CFG_ANC_GAIN_CONSERVATIVE
(drops to 300) or keep local overrides. Users wanting maximum
cancellation opt into CFG_ANC_GAIN_AGGRESSIVE after verifying
stability on their unit.
@Ralim
Copy link
Copy Markdown
Collaborator

Ralim commented Apr 16, 2026

Do you want to link those calibration numbers in as well (is that what you are running?)

Dont be timid, current ANC tune doesnt really work, so open to any improvement

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

Labels

enhancement New feature or request help wanted Extra attention is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants