Temperature controlled external fan for DGX Spark

I built an open-source external cooling alternative for the NVIDIA DGX Spark. It adds a temperature-controlled 140 mm Noctua NF-A14 PWM fan without opening or internally modifying the DGX. My initial test shows a reduction between 4-5C in long batches (more testing is needed).

The system includes:

  • A Raspberry Pi Pico W controlling the fan with a 25 kHz PWM signal

  • A small service in the DGX that reads GPU and CPU temperatures

  • A 3D-printed fan body and mounting arms

  • Temperature telemetry and renewed fan commands every five seconds

  • A configurable stepped fan curve

  • Tachometer monitoring and 24-hour history

  • A password-protected local dashboard

The fan remains off at lower temperatures and increases speed as the selected CPU or GPU temperature rises. The controller defaults to full speed during startup and whenever valid commands expire, providing a fail-safe response to communication or service failures.

In my initial comparison, the external fan reduced the maximum recorded GPU temperature from 78.0 °C to 68.0 °C and the maximum CPU temperature from 91.6 °C to 76.7 °C. Temperature variability also decreased. Average temperatures were slightly higher during the fan run, so the current results support reduced peaks and improved stability—not universally lower temperatures. Additional controlled testing would be useful.

The repository includes the Pico firmware, DGX telemetry service, dashboard, wiring documentation, bill of materials, thermal results, tests, and printable STL files. These are MIT licensed:

This is an experimental project Feedback, test results, and hardware adaptations are welcome. The solution is provided “as is”, without warranty of any kind.

Awesome name and cool proje t, thank you!

Nice. Another option if you don’t want to get a Pi is just get one of these controllers that has an API endpoint for the Spark to send the required PWM setting to (and collect the RPM):

I have 8 of these myself for my 8 fans.

This looks cool! I will get one of these and test.

Thanks for sharing!