Automagic fan control for the Nvidia Jetson Nano
You will need a 5V PWM fan for this to make any sense.
I used the Noctua nf-a4x20 5V PWM fan.
Additionally, I recommend you use the barrel jack with a 4A power supply.
I will assume you use the standard image on your jetson nano.
Python 3 should be pre-installed on the jetson nano.
You can check this using python3 --version
(3.5 or higher should be fine.)
otherwise, you can install it with
sudo apt install python3-dev
run
sudo ./install.sh
The script will automatically run at boot time.
It's a set-it-and-forget-it type thing, unless you want to mess with the fan speeds.
open /etc/automagic-fan/config.json with your favorite editor (I'm using nano):
sudo nano /etc/automagic-fan/config.json
you will find the following lines:
{
"FAN_OFF_TEMP":35,
"FAN_MAX_TEMP":70,
"UPDATE_INTERVAL":1,
"BUF_LEN":40,
"MAX_PERF":1
}
FAN_OFF_TEMP
is the temperature (°C) below which the fan is turned off.
FAN_MAX_TEMP
is the temperature (°C) above which the fan is at 100% speed.
The script interpolates linearly between these two points.
UPDATE_INTERVAL
tells the script how often to update the fan speed (in seconds).
MAX_PERF
values greater than 0 maximize system performance by setting the CPU and GPU clock speeds to the maximum.
BUF_LEN
Buffer length for lowpass filtering the temperature.
You can use either integers (like 20) or floating point numbers (like 20.125) in each of these fields.
The temperature precision of the thermal sensors is 0.5 (°C), so don't expect this to be too precise.
Any changes in the script will be will be applied after the next reboot.
You can run
sudo service automagic-fan restart
to apply changes immediately.
If you suspect something went wrong, please check:
sudo service automagic-fan status