Three modules that clip together, one Pi 5 and one 40 mm Noctua each, built for CI jobs that hold every core at 100% for half an hour. Nothing is screwed together but the fans.
Free for personal use under CC BY-NC-SA 4.0. Every part prints without supports, in the orientation it downloads in.
CI runners hold 100% CPU for 30 to 50 minutes at a stretch, three boards at once. Every decision follows from sustained load, not from idle.
Each module is a complete unit: its own 40 mm Noctua, screwed in from the front and powered from its own Pi. That is 50% more air than the two-fan column an earlier version shared.
Each fan draws through its dust filter, pushes over its own SoC and drive, and leaves through rearward louvres in the rear and sides. Never through the lid, which would drop dust on a board.
The modules run at positive pressure with a single filtered intake, so dust can only enter where the filter is. The ports sit in clean solid wall, flush with the outside.
| Fans | Case air rise | Margin to the HAT's 50 °C, 25 °C room |
|---|---|---|
| 3 × NF-A4x10 5V | ≈ 9.7 K | ≈ 15 K |
| 3 × NF-A4x20 5V | ≈ 8.5 K | ≈ 16.5 K |
ΔT = Q / (ρ · cp · V̇), for about 40 W of heat. The 20 mm fans buy about a kelvin, not a different class of cooling.
Every module is the same part, sized for the tallest board, so any board fits any module. The boards are never connected to each other.
| Module | Board | Storage | Cooling |
|---|---|---|---|
| Bottom | Pi 5 | M.2 HAT+ (2242 NVMe) | Active Cooler |
| Middle | Pi 5 | M.2 HAT+ Compact (2230 NVMe) | Active Cooler, 16 mm standoffs |
| Top | Pi 5 | None | Active Cooler |
Pick the 40 mm Noctua you fit. It sets the length of the module and the lid. The tray and the filter are the same for both.
Floor down. One Pi 5 and its fan each. The modules stack and clip together.
115.9 × 68.0 × 61.3 mm
125.0 × 68.0 × 61.3 mm
Floor down. The Pi screws onto its four feet on the bench, then the tray clicks into the window in its module's floor.
67.6 × 58.6 × 13.9 mm
Face down. Glue filter fabric into the pocket on its back and clip it into a module's front.
50.3 × 53.8 × 4.0 mm
A module, a tray, a filter and the lid for your fan, zipped. Print the first three ×3.
All parts · NF-A4x10 136 KB All parts · NF-A4x20 136 KBWhat happens after the download, in the order it happens.
On the bench. The HAT's M2.5 standoffs thread through the Pi into the tray's printed feet and cut their own thread. Snug, not tight. A bare Pi takes M2.5 × 6 screws.
From the front, with the four self-tapping screws in the fan's own bag, not M3s. The heads sink below the filter recess.
Hold it just over the floor and short of the rear wall, slide it back until the ports sit in their holes, then press it down until the four clips click. Plug the fan into that Pi's GPIO: 5 V on pin 2 or 4, ground on 6.
Tilt each module, hook its front clip in first, then press the rear down until the other three click. Click the lid onto the top one.
Glue fabric into the pocket on the back of each filter and click it into its recess, over the screw heads.