20*C Cooler, and now with water resistance!


Asaggynoodle

Long Term Lurker
Joined
Jan 4, 2012
Messages
177
Location
USA
Alright, so a bit of a joke on the second half!

I spent a few hours last night pondering some cooling improvements to the Pyra's CPU board to mitigate throttling and improve device performance.
Few things I wanted to nip at the bud are:

-Throttling after about 10 minutes of heavy use. > Pushes clock into a downclock decay of 250Mhz, then cools, but immediately hits trip temperature back down to 250Mhz making system crippled.
-Aggregate heat buildup inside the device (thermal sink) which leads to heating up the battery and making the device quite warm. > Reduced battery life, likely bloating long term and overall just heat buildup throughout.
-Open up the POSSIBILITY to squeeze more performance out of the CPU both in regards to CPU Clock, and investigate other areas.. Such as DDR timings, and frequency, as well as SGX clock frequency (which go hand and hand as SGX uses system memory).
-Evaluate possibility of lowering core voltage through the device tree source file across (hopefully) all clock domains. As well as add more intermediate stepping (125Mhz) for the On Demand perf level.

While yet no radical redesigns have been implemented YET, I have started taking some measures to pave the path to future cooling versions and designs.

-Conformally coated the CPU board components to mitigate any sort of electrical shorting from components due to clearance of heatsink, and more aggressive (potentially) electrically conductive thermal pastes/interface materials.
-Soldered the existing heatsink (copper plate) to the main thermal element (the serrated square piece of copper). The goal here is to maximize the performance of the stock solution to get a baseline as to what is needed aftermarket to achieve the above goals.
-Removed the stock thermal glue/material from the heatsink. There seems to be an insulating adhesive coating the contact side of the heatsink, which likely significantly impacts thermal transfer from the CPU/PMC to the heatsink.
-Applied extremely high end thermal compound to heatsink and RAM/CPU/PMC chips. I considered using a graphite thermal pad here, but the tolerance/spacing of the board needs to be filled to do so to support a forceful contract on CPU/RAM/PMC.

All of this so far has yielded about a 20-23*C temperature delta from stock. Which now makes 1.5Ghz essentially perfectly usable outside of long term heavy load when the device becomes saturated.
This is a hurtle I plan on tackling this next week or so potentially, the problem here is that there is little air being circulated from the open (outside) system, to the closed (inside the Pyra) system. This should exponentially amplify the cooling performance of even the stock system when implemented.

20220317_175013.jpg
20220317_172139.jpg
20220318_100309.jpg
 
Last edited:
All of this so far has yielded about a 20-23*C temperature delta from stock. Which now makes 1.5Ghz essentially perfectly usable outside of long term heavy load when the device becomes saturated.
AWESOME! So much difference. Good news for Pyrians that live near the tropics.
Is the stock thermal paste really that different of the thermal paste you have?
I remember somebody on the forum that drilled some holes in his Pyra which also resulted in extra cooling. I don't remember if that mod was acceptable aesthetically.
 
It's not thermal paste, as you would have in your PC underneath it's heatsink. That's a liquid or at the very least a gel or something. This is two layers of adhesive on some substrate. If you waved your PC around like you can a Pyra there's a possibility the liquid could squirt out the side, and actually it's the clamp around the heatsink in the main that keeps that in place. There's not room for that kind of clamping arrangement inside the Pyra so they needed to use an adhesive solid sticker instead. I would have though it's something that's sold as a thermally emissive pad, but actual numbers from these kind of things are all a bit stick in the air.
 
AWESOME! So much difference. Good news for Pyrians that live near the tropics.
Is the stock thermal paste really that different of the thermal paste you have?
I remember somebody on the forum that drilled some holes in his Pyra which also resulted in extra cooling. I don't remember if that mod was acceptable aesthetically.
I wish I'd taken some pictures of the heatsink that interfaces with the SoC. It does have a "industrial" thermal pad/adhesive square, but from my experience, most of these thermal adhesives are pretty horrendous (W/m K).
To put it into perspective, most industrial thermal adhesives are around 1W/mK usually, where as the thermal paste I'd applied is in the ~17W/mK. That means the process of "giving" the heat away is extremely inefficient and acts more of as an insulator.
I think the real issue here is that that clear electrical insulative coating on the bottom of the copper heatsink, is not cut out over the SoC and PMC, so it drastically reduces the thermal transfer coefficient of the solution.

I put a very thin thermal pad underneath the heatsink to put vertical pressure on the heatsink for better adhesion and prevent any kind of moving. Even though that's extremely unlikely, as the bend and heatsink inside the device has almost no clearance to move around, on top of how close the z-height is from the motherboard and the CPU board when inserted. It's a substantial difference. I personally think the better alternative is to put a thin thermal pad between the ZIF sockets, so the heat transfers into the I/O board, and has more area to travel by the ground plane in it, and also leverage that as a friction clamp to put more force on the heatsink and chips. The spacing in the device in this area is so tight, I'm not very concerned. I also put a thermal pad between the heatsink piece and the USB port it sits on, so it tacks it down there.
 
Interesting, I wonder 20 Degrees less Celsius, Fahrenheit, or Kelvin ?
Wouldn’t a Waterprofness means that the Heat can’t leave the Pyra?
 
A relative temperature of Celcius or Kelvin is the same thing. Kelvin uses the same interval as celcius, just with an added 364 or so that it goes down to 0 at absolute zero. Fahrenheit was an earlier attempt to avoid having the use negative numbers, by setting the zero point at the place where even salted water finally freezes. It also uses an interval which is only 7/9 of the celcius interval, making farenheit more accurate if you don't use decimal points. It's adittionally not an absolutely insane way to measure air temperature, since I've not found anywhere which has a record average low air temperature in negative fahrenheit, but only really if you don't understand negatives. But if so you'd have trouble understanding the liquification of gases.
 
Wouldn’t a Waterprofness means that the Heat can’t leave the Pyra?
Do you mean the lack of vents/holes in the Pyra? Then Yes.
Do you mean the material of the case? Then a little. Waterproof does not mean thermal insulation, and viseversa. Plastic does not conduct heat that well as a metal, but is not a total insulator either.

On the Pandora, which also heats up the battery before it get's hot overall, shows thermal dissipation near the nubs on the southcenter of the Pandora, and the usb outlet, which could burn your skin. I cooled the underside it with a wet towel, or wet toilet paper to keep on gaming in the summer. The nub-heat is very noticeable when you keep the Pandora closed, so for long usage (audioplayer, wifi to tv, compiling for hours), keep it open - Same for the Pyra - and we got neat temperature sensors to measure it, right?
 
Mind sharing that thermal paste brand/name?

How about this thermal pad?

Fujipoly Extremes are pretty great, it's what I have on my Laptop with a RTX 3080 for the VRAM!

I just spent $120 on cooling stuff at Digikey, fans, conductors, insulators, and another copper plate coated in PTE (like the stock one, I'll cut myself to make a larger heatsink).

I used Thermal Grizzly Kryonaut? I think... I have an entire box of thermal pads/pastes and I think that's the one I pulled out. Then for the pads I'm using a Silicone Graphite pad, from T-Global Technology out of Taiwan. I don't remember the part number, but you can find it on Digikey.

I also ordered a Aerogel based thermal insulator for between the CPU board and battery. It has a 0.02w/mk thermal transfer, so it should let the battery stay cool from the heat. Then I anticipate doing a push-pull config in some of the empty cavities with Sunons Maglev Fans around the USB ports. I just ordered a bunch of different sizes on these:

618591172001_5616378327001_5616376599001-vs.jpg

Finally, I decompiled the device tree binary the Pyra boots with and have figured out where the clock and voltage table is. So that should be a reasonably simple update to add in 125Mhz steps for the On-Demand governer to make better choices for heat/battery. Also, the vCore is totally linear throughout the voltage curve, so estimating both 1.7Ghz and 2Ghz overclock steps should be straightforward. What's funny is that according to the TI datasheet up to 1.5v vCore is in spec... Seeing as how 1.5ghz uses 1.3v, that means we should be able to get to about ~1900Mhz core clock and still be within the TI voltage spec.

I HOPE and think that with the fans and updated heatsink/ventilation to create static pressure in the device, I should be able to get to 2Ghz. If that's wise from a power consumption perspective is up to you, but I think it will be useful for web browsing and streaming, or compiling/games/emulation.
While I'm usually not one to experiment with my own more costly equipment I applaud the effort, it's very interesting to see what you are doing.
Thanks man! Whole point of the Pyra to me is to be something that challenges you to think of out of the box solutions to problems (and cause them yourself). Really just a super confusing rubics cube. I love this kind of stuff.

Interesting, I wonder 20 Degrees less Celsius, Fahrenheit, or Kelvin ?
Wouldn’t a Waterprofness means that the Heat can’t leave the Pyra?
That's °C from the ./temperatures script at load.
The conformal coating is only around the surrounding components and the edges of the packages to prevent any kind of shorts with using a bare copper heatsink, and not have to worry about electrically conductive thermal pastes. More of a piece of mind thing, and makes the board more resilient to accidents. The top of the SoC and chips are still bare, so thermal transfer is unaffected.
 
Last edited:
Adding more steps to the current set of cpu frequencies would be appreciated. I would suggest some caution in anyone expecting an overclock to work. The Pyra team spent many months hitting the code with random edits until it worked. But more eyes on it is always good of course.
 
Adding more steps to the current set of cpu frequencies would be appreciated. I would suggest some caution in anyone expecting an overclock to work. The Pyra team spent many months hitting the code with random edits until it worked. But more eyes on it is always good of course.
In my honest opinion, I think a top priority down the line is to just bite the bullet and pick a new SoC for an upgrade. Something that's more modern, has proper documentation and drivers, that creates less back porting and patching to get the Ti chip working properly.

I'd imagine basically just copying the Pine64's PinePhone Pro setup would be ridiculously ideal. Basically merging compatibility between the two devices, Android, Arch, Debian, all the work and compatibility of the project that's already out there. Would save 75% of the in house work for getting things to work.


Plus, looking at Box86's compatibility reports.. people are running 2009 era Steam games at playable frame rates on that Rockchip RK3399S. That's just not something we will EVER see from the Ti chip. I mean modern Dolphin, Wii, Switch, GC, PS2, etc, emulation. That would draw a stupid audience to getting a Pyra.

I'm not trying to sell anyone on anything, I'm just saying, a modern SoC with 4/8GB RAM, and maybe 128GB storage would attract a LOT of people looking to develop on a modern ARMv8 chip. Plus alleviate SO many pain points trying to maintain an essentially EOL chip that was clearly not meant to be in a portable (unknown of course).
 
Hi all !

@Asaggynoodle : thank you very much for your work on this topic, really appreciated :)

Do you think your proposed hardware and software modifications could find their way "upstream" (Pyra team / Letux / etc...) ?

Overheating issue is ranked #1 on my list of annoyances at the moment ;)

Cheers, Magic Sam
 
Hi all !

@Asaggynoodle : thank you very much for your work on this topic, really appreciated :)

Do you think your proposed hardware and software modifications could find their way "upstream" (Pyra team / Letux / etc...) ?

Overheating issue is ranked #1 on my list of annoyances at the moment ;)

Cheers, Magic Sam

I'd would like to think so. Nothing I'm doing is particularly.. "exotic" for the most part. I'm really just trying to surround the current limitations with modern technology to brute force a solution. Personally, I think these Sunon fans (once I get them this week, with the rest of my orders) would be truly 10/10 realistic implements to the Pyra. I've already done all the measurements of the empty space in the case, it's 100% certain the setup will work with relitively little modifications. Basically adding some small ventilation for inlets and outlets, and insulating heat from the battery. Fans will likely be connected to some 3v rail, or maybe GPIO if I'm feeling crazy.

The device tree should be very easy to roll out, it's basically just a standalone file when compiled. Easily updatable.

The heat issue is in my top list too. Basically cripples the functionality of the device once it's saturated under load for a while. Though this is because there's no air flow to get heat out of the device.
 
@Asaggynoodle This is great work mate, love it. I also looked at those fans for when I eventually get a Pyra, as it is very hot where I live.
I love a good hack, and am following with great interest! :)
 
It's easy to communicate with the pyra/letux kernel developers. Basically just sign up here:

I'd advise you to hold your fire from posting until you've got something to show, but if you need questions answered I can't think of a better place to ask them too.
 
A little Birdy dropped off a package at my house today! Holy moly these things are impressively small...

I also got my aerogel insulation, thermal pads, heatsinks, and copper sheets with coating on one side! I'll start strategizing on assembly soon!

If anyone has any schematics or knows which voltage rails are where, I'd appreciate it. I of course can find them with a multimeter, but not having to poke and prod around would be ideal! I'm mainly looking for 3/3.3v rails.

20220322_162610.jpg
20220322_162654.jpg
20220322_162902.jpg
 
I was eyeballing those a while ago,Interested in seeing how you make out with them.
 
Back
Top