I realized after my Ugoos box died that overheating is a big problem with cheap Android TV boxes. A teardown of the Ugoos box shows that it does not have any heatsink or fan at all!
The X96 Air does have a heatsink, but the heatsink is located at the bottom of the casing with no ventilation.
In this default configuration, with the ambient room temperature at 25c and playing a 1080p video, I was seeing the CPU temperature at 67c.
I drilled a couple of holes at the bottom of the casing.
The CPU temperature fell to 59c with the box raised about 2cm with plastic blocks.
I retrieved an old 5V laptop fan:
Then cut and strip away a spare USB cable:
Secure the fan to the bottom of the casing with double-sided tape, then plug the fan into the box's USB connector.
The CPU now runs at 43c, a huge drop from the no-fan situation!
The only problem is the fan is always running when the box is powered up, and I cannot find any way to control the fan programmatically. Which is a shame, because otherwise it would be possible to write a script to only turn on the fan when the CPU gets too hot, and turn it off when the CPU temperature drops sufficiently.
I have fixed this problem with a USB relay module and a python script I wrote called CH340-fan-control.py
ReplyDeletehttps://github.com/danboid/CH340-fan-control
Very cool! Will check it out. Thanks!
Delete