The default upper MOSFET heatsink on the ASRock X570 ITX TB3 is too big. It's unwieldy, blocks airflow, and worst of all, not better at sinking heat when compared to smaller solutions.
The heatsink is supposed to cover two surfaces on the motherboard — a row of MOSFETs, and a row of chokes. What those do isn't particularly important in the context of what we're doing: we just need to remember that of the two, the MOSFETs generate more heat for their comparatively smaller size. Sticking some kind of heat dissipating surface on the MOSFETs is necessary, while it's less necessary for the chokes.
Also of interest is the method with which this heatsink is mounted to the board. A screw is threaded through a hole on the board and into a nut affixed to the heatsink. The nut seems to be glued (!!!) onto the heatsink, as opposed to some kind of through hole machined into the surface.
These heatsinks are around 6.5x6.5x10mm. The base has a lip that I used to secure the heatsink to the motherboard with a part that I designed with SCAD.
Whenever I design a physical part, I always roughly follow this procedure:
- Figure out the constraints and roughly approximate how the part "should" look
- Are there any screw holes or distinguishing features? Measure offsets for those and write them down.
- Plug those constraints into SCAD, combine objects and extrudes until it looks right
- Print a copy out, realize that I screwed up the tolerances
- Repeat step 1
This part was easier than most — I churned through four or so iterations before I converged on something usable. Its small footprint helped. To be honest, I'm not entirely sure if the MOSFETs are any warmer or cooler. I wish I had concrete numbers, but it doesn't seem like there's a way to trivially access the MOSFETs' onboard temperature sensors. The computer seems to still function and as far as I can tell, the CPU is boosting normally. The motherboard even looks prettier! I'll file that under "win".