Cooling off a Pi

Like many geeks out there, I’ve got a Raspberry Pi board. And it has been a pain in the ass to keep stable.

Like a lot of people out there, I had the intent of using it as a cheap media center using one of the various XBMC distributions available. I want to get another to use as a NAS. But nothing I ran on it would remain stable for long. Even the various Linux distros that are available didn’t last long before the board crashed.

The sad thing is that the various articles and troubleshooting guides out there kept talking about voltages and voltage drops and taking a multimeter to a couple contact points on the board. My thought reading those was that if the Pi is that sensitive to the electricity going in, then that’s a problem with the board’s design that should be rectified. Yet electrical was the only kind of problem being mentioned, with voltage drops being the most parroted “cause” of the Pi board crashing.

I tried different power supplies. I even bought power cords specifically tailored for the Raspberry Pi. No change. Even changing how it was plugged in didn’t do a damn thing. Even sitting idle the board would crash after a particular period of time. Part of me thought that software could be the culprit, so I would sometimes wait till a new version of a system came out and try again with no change.

Then I started wondering if heat could be the problem. After all, we’re talking 700 MHz chips that don’t have any kind of heat dissipation. I remember even a 66 MHz 486-DX processor having a passive heatsink. Looking at the temperature readings on the board, sure enough, when its readings got up to 48C, the board would crash – no display, no response, and only the single red LED lit. Reports I’ve read show the CPU on the Pi having a maximum operating temperature of 50C, so it’s no surprise it was crashing at 48C.

To help combat this, I purchased a set of copper heatsinks. Those improved the outcome, but not by much. It still could not make it through a 90 minute movie on a USB hard drive without crashing. It came close, but I need it to do better. Active cooling would be necessary.

Now most posts on the Raspberry Pi forum mentioning heatsinks all say you don’t need them, but then most of the threads in question are a year old or more. I got the Model B Pi right when it came out, and it was only recently, using what I’ll be describing herein, that I was able to actually get the bloody thing to remain stable without any issue.

Now I’m not talking about going all-out and water-cooling this thing. That’s overkill.

For the fan part of the active cooling solution, I found an old K6-II heatsink and fan that’d been sitting around unused. It’s a 12V fan, unfortunately, but it’d have to do for now for this experiment. Next was finding the GPIO pinout chart to see where the voltage and ground was. Changing the pins on the Molex connector was easy at that point, but the keyed 3-pin connector wouldn’t fit onto the GPIO without clipping the guides off.

But then, how to mount the board so the fan was overhead… Unfortunately an enclosure I had purchased wouldn’t suffice for this. But I did have a dishwasher cage sitting around and some spare zip ties. The cables for the Pi could fit through the wire of the cage, and I used the zip ties to tie the fan over the board. Yeah it looks strange, but it gets the job done and gave me a proof of concept. And courtesy of how the cage is constructed, I could actually use the cables to suspend the Pi in the middle of the cage…

raspberry1.jpg

raspberry2.jpg

The result: the highest temperature reading observed was around 34C. Without the fans, even with the heatsinks, the temperatures were still in the mid-40s, and still climbing to the crash-inducing 48C, typically in less than 20 minutes. With the fan, I couldn’t get it to crash. Definitely a massive improvement. And this was observed using OpenELEC and Raspbian.

But now I have an idea of the kind of enclosure I want to either buy or build. It’s definitely gonna be something capable of mounting a fan. That or I might leave this the way I have it. After all, I’m not planning to move this one away from the television, and I can demonstrate that this setup works.

At the same time, if you’re experiencing the same issues I have been, where your Pi has been randomly crashing regardless of what you’ve tried, heat could be the issue, in which case getting an active cooling solution on your board would be beneficial.