Is it possible to drive a PWM fan using the internal 40-pin GPIO of the uConsole?

Hello everyone, I’ve been using the CM5 for almost a year now, and overall it’s been good, but the heat dissipation is not ideal. I’m thinking about DIY adding a PWM fan. I plan to keep the original back cover and design my own. My daily load temperatures are around 38–55°C. In winter, there’s no obvious cooling need, but in summer, the uConsole’s passive cooling is too slow. The entire body is made of aluminum metal, so heat builds up quite badly. When holding it, the device feels very hot, even though the temperature hasn’t reached 65°C yet. However, if I put it in my backpack without shutting it down, the overall temperature can approach 70°C, and when I take it out, it’s very hot to the touch.

My idea is to design a brass metal frame backplate, and attach a heatsink and fan at the CM5 contact area. I already have a preliminary concept and am currently doing CAD design. For the fan selection, I’m tentatively considering a 3004 or 2004 micro fan, preferably 5V, 0.1–0.5A.

I plan to draw power from the GPIO FPC ribbon cable above the uConsole motherboard — there are 5V and GND pins available there. But I’m not sure whether I can find suitable GPIO pins for PWM within those 40 pins. Has anyone successfully tried this before?