Software fan control with PID controller for ODroid XU4 and Odroid C2.
This python script replaces native fan control for Odroid XU4 with software-controlled one or starts control for custom-built Odroid C2 fan which uses GPIO PWM as control.
Implementated controller is standard discrete PID with integration boundaries.
By default it uses zero derivative constant (which is fine for thermal control) and will try to keep average temperature below 52°C. However, most of the constants can be changed by program arguments.
For defaults run either:
./fan-control.py --device XU4
or
./fan-control.py --device C2
./fan-control.py --help