#minimalist #fan #case #control #threaded #raspberry-pi #argon-one

app argonfand

Single threaded minimalistic ArgonOne case fan control

5 releases (stable)

1.0.3 Jun 26, 2021
1.0.2 Jun 18, 2021
1.0.1 Jun 17, 2021
1.0.0 Apr 30, 2021
0.1.0 Apr 9, 2021

#1601 in Hardware support

MIT/Apache

11KB
245 lines

ArgonOne Fan Service

Requirements

  • Create: /etc/modules-load.d/raspi-conf.conf

    and fill it with i2c-dev

  • Add to /boot/config.txt

    must contain

    dtparam=i2c_arm=on
    dtparam=i2s=on
    

    Example:

    enable_gic=1
    dtparam=i2c_arm=on
    dtoverlay=vc4-kms-v3d,i2c-rtc,ds1307,pcf85063
    initramfs initramfs-linux.img followkernel
    enable_uart=1
    

Raspberry PI must be fully restarted after this so i2c module will be loaded.

Run

ArgonOne case for Raspberry Pi 4B fan service.

./build.sh
sudo argonfand -g # generate default config, depends on case location it should be adjusted
sudo argonfand -f 100 # enforce max speed and exit
sudo argonfand # start service

ArgonOne case fan is quite noisy so for your own comfort it should never be exposed to direct light and settings should set speed to 0 if temperature is below 55.

Service

systemctl status argonfand.service
systemctl start argonfand.service
systemctl enable argonfand.service

Config

Config file must exists before starting application and is located:

/etc/argonfand.toml

Format:

verbose = false
delay = 1000

[[values]]
temp = 45
speed = 0

[[values]]
temp = 54
speed = 10

[[values]]
temp = 55
speed = 50

[[values]]
temp = 65
speed = 80

[[values]]
temp = 80
speed = 100

Dependencies

~1–1.7MB
~36K SLoC