Software apps and online services
I’ve been considering doing this for a while now to see if oil cooling a Pi with simple vegetable oil would positively impact temperatures – inspired by an old Linus Tech Tips video, I got a Pi 3B+, some vegetable oil and went forth!The Parts
- Quake 3 (best to get off eBay)
Not exactly pro-gamer aesthetics but it does the job.
Follow the instructions here for compiling Quake 3. I found I had to edit the build.sh file further to get it to work on Stretch:
Once this is done you can transfer over the baseq3 files from an installation of Quake 3 over to the baseq3 folder on the Pi, run./ioquake3.arm and prepare the license code from the boxed copy to enter in.The Testing
In the video above I ran 3 main tests and got the following results, for this I SSH’d into the Pi and used these scripts to get the current temperature and print on screen:
An hour on a bot-filled match on Quake 3 – No heat sinks in air
- Temp on the desktop: 51.5 Degrees C
- Temp after an hour: 68.8 Degrees C
An hour on a bot-filled match on Quake 3 – With heat sinks in air
- Temp on the desktop: 51.5 Degrees C
- Temp after an hour: 70.9 Degrees C
An hour on a bot-filled match on Quake 3 – With heat sinks in oil
- Temp on the desktop: 36.5 Degrees C
- Temp after an hour: 48.5 Degrees C
It’s quite bizarre that the temps actually seemed to increase with the application of the heat sinks; this could be attributed to the general ambient temp rising – but I’m not sure; I think the heat sinks I got may have something wrong with them or I applied them wrong.
However in oil is a whole different story – the idle temp was down by a massive amount from 51.5 down to 36.5; a full 15 degrees!
And of course the temps after an hour were down massively as well – from a roasting 70.9 down to 48.5.
Also while touching the exposed metal parts on the Pi while in oil they didn’t feel toasty at all compared to on air where the entire board warmed up quite a significant amount. So I would say that yes, you can oil cool a Raspberry Pi. It would be better to use mineral oil though and probably in a sealed case to prevent anything getting in.
If there was a slow moving fan or something in the oil too to keep it flowing this would also help I think, as I moved the Pi around in the oil and it seemed to drop the temp as cooler oil got washed around it.
If you are running a Raspberry Pi for a long time on some heavy processing – this could be a viable cooling solution; however my tests aren’t exactly the most scientific so I could be wrong. It may just be better to get a decent heat sink and fan combination as the oil I used will go off and possibly degrade parts of the Pi over time and even mineral oil has it’s issues with hardware as per this LTT video.
As for cleaning the oil off of the Pi I just took it into the kitchen and washed it up with some washing up liquid and water (also poured the oil back into it’s original container for recycling) – as you can see in the video. I then left it near a window for a while to dry out. This may seem crazy but in theory as long as the Pi is fully dried out it should boot again.
At the end of the video we find out – and it survived! Kind of.
It managed to boot up and play Quake 3 for a couple of minutes, but then it rebooted – after looking at it a bit and making sure ports were dry etc I could get it to boot again, but it would reboot randomly; I think the heat spreader on the SoC has possibly taken some damage and the chip is overheating, or there is some water left somewhere OR some ESD damage has occurred.
I am going to leave it a week to properly dry off then most likely do an update video / blog post.
To sum up – can you oil cool a Pi? Yes. Should you? Probably not.The Update
Now I had this all drafted up and filmed and thought I would leave the Pi a week to dry, but I couldn’t help myself and so gave it another test the day after the oil cooling project – and it works! No more reboots or anything; I think there was a tiny bit of water left somewhere.
The Raspberry Pi is one tough little board.
See you next time!