Skip to content

Bump up fan frequency to 19kHz on EMC2103#1606

Open
raivisr wants to merge 3 commits intobitaxeorg:masterfrom
powerminingio:master
Open

Bump up fan frequency to 19kHz on EMC2103#1606
raivisr wants to merge 3 commits intobitaxeorg:masterfrom
powerminingio:master

Conversation

@raivisr
Copy link

@raivisr raivisr commented Mar 12, 2026

Default EMC2103 PWM frequency is 2.441 kHz, some fans emit high pitched noise when driven with such low PWM frequency. This bumps up PWM frequency to 19.531 kHz, eliminates high pitched noise on those specific fans and should still work well with any other fan.

@raivisr
Copy link
Author

raivisr commented Mar 13, 2026

On second thought, it is probably even better to set the value to 0x00, or 26kHz. Intel 4 pin fan spec calls for 25Khz PWM frequency, with values 21-28kHz being acceptable.

@WantClue
Copy link
Collaborator

A problem that this might face is that we don't know if all fans will work with such a high pwm signal. Manufacturers use all sorts of fans so it's impossible for us to figure out an ideal frequency. But this PR will be tested

@raivisr
Copy link
Author

raivisr commented Mar 13, 2026

Is it safe to assume that most if not all manufacturers make their fans to Intel spec? Also, we tested everything that we had at hand and all fans work just fine. Also, it is a PWM, a digital way to produce approximation of analog voltage, the higher the frequency, the closer the approximation.

@WantClue
Copy link
Collaborator

Sounds fair, I'll give this a shot with 3 - 4 fan brands that I have laying around.

@raivisr
Copy link
Author

raivisr commented Mar 13, 2026

if that works for this fan controller, it is probably good idea to update all the others as well. might improve commanded vs observed fan speed tracking.

@WantClue
Copy link
Collaborator

I was not able to reduce any high pitch noise. Can you elaborate a bit further on the brands of fan's you're using and at what fan speed you get a high pitch for reproducablity ?

@WantClue WantClue added the question Further information is requested label Mar 14, 2026
@jzpm
Copy link

jzpm commented Mar 18, 2026

Hi! The fan which made high pitch noise was from Gelid brand (6025, dual ball bearing, 4000 RPM fan). High pitch was there for any RPM except when running at 100%. Best to hear at 80-90% of max RPM. We can send a sample for you to see.

@mutatrum
Copy link
Collaborator

It would make sense to put the base frequency inside the actual spec range, instead of at 19 Khz. And it might make sense to investigate the other fan controllers as well. Question is if we should make it configurable, in case the updated config messes with someones device?

@WantClue
Copy link
Collaborator

Please adjust it to a more broadly used frequency which should be in the range of 21-25khz

@raivisr
Copy link
Author

raivisr commented Mar 24, 2026

If there are no objections, I propose the following course of action. I will close this PR, go through all the fan controllers, update all of them to Intel spec PWM frequency range (if they support it) and create a new PR.
At this time I do not think option to configure is necessary. If anyone has any problems with their fans acting weird, that can be added later.
@WantClue @mutatrum ACK/NAK?

@mutatrum
Copy link
Collaborator

If there are no objections, I propose the following course of action. I will close this PR, go through all the fan controllers, update all of them to Intel spec PWM frequency range (if they support it) and create a new PR.

No need to close this, just commit to this branch and it'll be fine. You can convert the PR to draft until it's ready for review again. That way it stays visible.

At this time I do not think option to configure is necessary. If anyone has any problems with their fans acting weird, that can be added later. @WantClue @mutatrum ACK/NAK?

Agree. The limited research I did basically pointed to the fact that virtually all fans follow the Intel spec, so they should be ok without configuration options.

@raivisr raivisr marked this pull request as draft March 24, 2026 12:13
@raivisr
Copy link
Author

raivisr commented Mar 24, 2026

Updated all 3 of controllers to work within the Intel spec PWM frequency. EMC2101 is a tricky one, changing the PWM frequency changed effective fan setting resolution to roughly 7% per step, so I changed the mapping of fan % as well. Unfortunately I don't have anything on hand to test this.

@raivisr raivisr marked this pull request as ready for review March 24, 2026 12:18
@mutatrum
Copy link
Collaborator

Updated all 3 of controllers to work within the Intel spec PWM frequency. EMC2101 is a tricky one, changing the PWM frequency changed effective fan setting resolution to roughly 7% per step, so I changed the mapping of fan % as well. Unfortunately I don't have anything on hand to test this.

Hmm, that's not good, 7% is way too coarse. I have EMC2101 devices so I can test that.

@raivisr
Copy link
Author

raivisr commented Mar 24, 2026

That's roughly 14 steps, so not very fine granularity. Please test, if it is total garbage, I will revert that one back.

@WantClue WantClue requested review from WantClue and mutatrum March 24, 2026 19:00
@WantClue WantClue added this to the 2.14.0 milestone Mar 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

question Further information is requested

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants