PiCoolFan Review

Advanced Pi Cooling Fan System with Real Time Clock

PiCoolFan Review

Postby GTR2Fan » Wed May 14, 2014 6:11 pm

PiCoolFan Review by GTR2Fan of the Raspberry Pi Forum


Having recently acquired a PiModules PiCoolFan, I've decided to throw together a quick review detailing typical performance, both in plug-and-play mode, and using simple custom settings when paired with a Pi Model B.I suppose the first question to answer before carrying on would be, “Do I need an aftermarket cooling solution?”. The Pi foundation answer to this is a standard “No”, although I'm hoping that this may be revised to an official “Sometimes” at some point in the future as there are many circumstances where a Pi can benefit from additional cooling.

Although your Pi will come to no harm whatsoever if you don't provide additional cooling, the possibility of thermal-throttling still exists in more situations than may have been previously considered likely, especially since the introduction of foundation-approved overclocking. Thermal-throttling will lower system clock speeds back to defaults if a device temperature of 85°C is reached. This will prevent damage, but it can also lead to potentially erratic performance as the clock speeds go up and down. This will probably be most noticeable in the form of 'lumpy' framerates if you're using your Pi as a gaming machine.

As you will see from the figures in the table below, 85°C may not be as far away as many think once you add a poorly ventilated case to the equation, and my original setup of a 'Turbo' overclocked Pi in a standard Pibow case comes veryclose to this with an ambient temperature of only 20°C.

Basic Description

The PiCoolFan comes as a semi-DIY kit containing the control board, a 25mm fan, and an air distribution plate as well as sticky pads and plastic fan mounting pins. Build quality seems excellent for the price. It took roughly 10
minutes to assemble following the simple instructions in the PiCoolFan pdf guide below.



The PiCoolFan offers the following features...

 Powered directly from the P1 connector of the RaspberryPi®
 Micro-controller supervised
 PWM FAN speed regulation
 Plug and Play
 3 LED based info system (Red - hot, Blue - cold, Green – power status)
 Full control over the system via I2C interface (The PICo Interface)
 Unconditional Fan ON/OFF
 PWM FAN speed regulation
 Temperature threshold set/get
 Current System Temperature read
 Supports Celsius and Fahrenheit scales
 Real-time voltage monitoring with programmable threshold
 Shows steady Green if power is within thresholds
 Flashes fast if power is higher than threshold
 Flashes slow if power is lower than threshold
 Can be used inside of the most of already existing cases
 Embedded RTC with separate battery (not included)

Plug-and-Play Behaviour

When used in plug-and-play mode (ie, with no user-intervention), the fan won't spin until it detects a board temperature of 42°C. It then spins up almost silently at 50% of full fan speed and maintains that speed until the measured temperature falls below 42°C. The fan then stops. This simple behaviour will quite likely be all the average user needs.

Advanced Behaviour

More complex temperature-dependant profiling can be achieved by running a script in the background that reads/writes from/to the relevant I2C bus addressed parameter and sets the fan speed to OFF/25/50/75/100% speeds. As real-time supply voltage is also monitored, it wouldn't be hard to read this periodically and safely shut down the Pi if running from batteries when the voltage fell below a user-defined threshold. The trimmable real time clock may also be a handy feature for some.

An example of how to program for advanced behaviour is shown later in this review. It really is very easy.


The test scenario was to run Raspbian 2014-01-07 as the OS with a 'Turbo' overclock whilst running the Darkplaces (v1.1) Quake engine at a resolution of 1920x1080 pixels as the load testing program. This particular test was chosen as it's probably the hardest a Pi is likely to be pushed in reality by a typical user, and it also makes this an easy and fun test for anyone to replicate if they choose to do so.

The Darkplaces Quake engine installation guide can be found here...


The Pi was first tested in a standard Pibow case, then as a bare board, then with the PiCoolFan attached and running at all available speeds. I was unable to test the PiCoolFan in the Pibow case as this is one of the few cases that the current design won't fit inside.

 All temperatures measured with 'vcgencmd measure_temp' at a remote terminal with an ambient temperature of 20°C and a 'Turbo' overclock.
 Idle temperature measured at the Raspbian command prompt.
 Average temperature taken as 20 samples at 10 second intervals.


Code: Select all
Scenario             Idle °C      Load Avg. °C    Load Peak °C

In Pibow case         53.7            82.0            83.7
No case (bare)        46.5            72.9            74.5
PiCoolFan (25% fan)   49.2            63.8            67.0
PiCoolFan (default)   49.2            61.6            64.8
PiCoolFan (75% fan)   49.2            61.1            64.3
PiCoolFan (100% fan)  49.2            59.8            63.8

As can be seen from the results, the Pi was very close to thermal-throttling mounted in a standard Pibow case. Running the Pi bare led to a drop of around 9°C in peak temperature. Running with the PiCoolFan at its default plug-and-play settings (50% fan speed) led to a further drop of nearly 10°C. Increasing the fan speed above the default 50% gave no significant drop in temperature, but this is good news as the fan is very quiet indeed at this speed, plus we have another 50% to go if operating in conditions where the fan may need to move more air to provide a similar level of cooling.

Any reasonably competent DIYer should also be able to replace the original 5V 0.12A fan with a larger similarly rated 2-wire case-mounted fan running from the same fan header to provide controllable cooling in, for example, a custom gaming cabinet or media centre case. The fan output circuitry is capable of providing up to 400mA safely, although a separate 5V source would be needed for the fan in this case as this would overwhelm the Pi's built in over-current protection.

Advanced Behaviour Example Bash Script

Advanced behaviour is easy to program. The following is a simple bash script that offers all 4 speeds (and off) for the fan. It takes temperature readings directly from the Pi's own temperature sensor and updates the fan speed every 5 seconds. The fan is stopped below 50°C with trip-points of 50, 60, 70 and 80°C for fan speeds of 25, 50, 75 and 100% respectively.

Code: Select all
#PiCoolFan 5-Speed Fan Controller Using Pi's Own Temp Sensor

#Force disable of plug-and-play fan mode
sudo i2cset -y 1 0x6C 0 1

#Pi sensor temperature measurement and dynamic fan speed update loop
while true
   speed=$(($(cat /sys/class/thermal/thermal_zone0/temp)/10000-3))
   if [ "$speed" -lt 2 ]; then speed=0 ; fi
   if [ "$speed" -gt 4 ]; then speed=1 ; fi
   sudo i2cset -y 1 0x6C 1 "$speed"

#Set polling interval in seconds
sleep 5

Final Thoughts

Looking at the richness of features of the PiCoolFan, it's actually replaced a whole raft of potential future home-brew projects for me. Also, as nearly everything has gone surface-mount these days, I'd have struggled to build anything of this complexity on this scale with my middle-aged eyesight. Build quality is also way beyond anything I would have expected for the £10.99 (at time of review) price tag so, all-round, it gets a very big thumbs-up from me, and that's a rarity in itself!

Do you need one? Only you can tell by carrying out your own test like the one in this review. At the price, I'd be inclined to just buy one anyway for the additional features even if cooling wasn't a top priority.
User avatar
Posts: 3
Joined: Wed May 14, 2014 5:15 pm

Re: PiCoolFan Review

Postby Pimaster » Wed May 14, 2014 7:35 pm

Thank you GTR2Fan !!!
Warmest Regards
Pi Master
Warmest Regards
Designing with Mentor Graphics PADS - www.pads.com
Please read and follow the PiForum rules
Site Admin
Posts: 1618
Joined: Fri Sep 14, 2012 7:50 am

Re: PiCoolFan Review

Postby GTR2Fan » Wed May 14, 2014 7:47 pm

My pleasure. :)
User avatar
Posts: 3
Joined: Wed May 14, 2014 5:15 pm

Return to PiCoolFan

Who is online

Users browsing this forum: No registered users and 1 guest