DIY RP2040 PWM Fan Controller with FanControl Integration
In a high-end Intel i9 and RTX 3080 Ti PC build with a custom loop using two triple-fan radiators, there are 9 fans total. Even at reduced speeds, the noise is still noticeable in a quiet apartment. The fix? Dynamically shutting off unneeded fans: just 2 for intake and 1 for exhaust during idle, with the rest powered down completely.
Off-the-shelf controllers like Lian Li's 4-port PWM units don't fully stop fans, and software solutions are unreliable. The solution: a custom controller based on the RP2040 (Raspberry Pi Pico) for total PWM and power control.
Platform Choice and First Prototype
ESP32 vs. RP2040: ESP32 is cheaper but trickier to set up; RP2040 is easier to learn with more PWM pins. The first MVP was breadboarded using an open-source schematic—fan speeds set as percentages in code, requiring reflashing each time.

Scaling to 4 channels meant adding CPU, GPU, and drive temperature monitoring. Vendor drivers were a pain to integrate.
FanControl Integration via Plugin
FanControl was the pick: closed-source but plugin-friendly. Communication over USB (RP2040's COM port) using JSON.
- Handshake:
{"action":"hellow"}— mutual response confirms connection. - Queries:
{"action":"fans"},{"action":"temperature"}— returns port list with RPM.
FanControl generates curves from the data. Auto-scanning all COM ports works reliably, even with potential conflicts from other devices.

Hardware Build and Fan Shutdown
Full stop requires cutting power—PWM alone won't do it. Prototype with transistors for power switching designed with a local expert. PCBs (20 units) fabbed overseas, parts from AliExpress.
- Soldering: Hours for the first, up to 5 per day later.
- Testing: Isolated bench after a short-circuit scare on the PC case.
- Enclosure: 3D-printed, skipped Wi-Fi modularity due to USB complexity.

Component shortages since 2023 mean hunting for substitutes.
Use Cases and Improvements
Avito sales revealed real-world scenarios:
- Mining rigs: Standalone mode using water sensors, RPM curves stored on-controller.
- Modding: White cases with RGB flair.
- Servers: Separate power, UNIX scripts over COM.
- Multi-controllers: FanControl supports several at once.
- Laptops: Auto-shutdown on lost ping to base station.
One DOA unit bricked in bootloader on first boot—replaced no hassle.
Key Takeaways
- Full fan shutdown via transistor power switches.
- JSON protocol over COM for FanControl integration.
- RP2040 beats ESP32 for PWM simplicity and debugging.
- Standalone modes for mining without a host PC.
- Scales to multiple controllers.
— Editorial Team
No comments yet.