{"id":17325619,"url":"https://github.com/artivis/pi_fan_ctrl","last_synced_at":"2026-04-30T00:33:18.125Z","repository":{"id":77998565,"uuid":"269805002","full_name":"artivis/pi_fan_ctrl","owner":"artivis","description":"Fan control for the Raspberry Pi","archived":false,"fork":false,"pushed_at":"2020-06-07T21:11:10.000Z","size":4,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-01T09:42:44.347Z","etag":null,"topics":["fancontrol-script","python","raspberry-pi","snap","snapcraft"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/artivis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-05T23:14:48.000Z","updated_at":"2025-01-12T08:38:08.000Z","dependencies_parsed_at":"2023-05-01T17:31:13.006Z","dependency_job_id":null,"html_url":"https://github.com/artivis/pi_fan_ctrl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artivis%2Fpi_fan_ctrl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artivis%2Fpi_fan_ctrl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artivis%2Fpi_fan_ctrl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artivis%2Fpi_fan_ctrl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artivis","download_url":"https://codeload.github.com/artivis/pi_fan_ctrl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245782087,"owners_count":20671147,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fancontrol-script","python","raspberry-pi","snap","snapcraft"],"created_at":"2024-10-15T14:13:52.765Z","updated_at":"2026-04-30T00:33:18.089Z","avatar_url":"https://github.com/artivis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pi_fan_ctrl\n\nYet another variable fan controller for the RaspberryPi.\n\nThis script is based on the [instructable][instructable] tutorial of\n[Aerandir14][Aerandir14] available [at this link][tutorial].\n\nThe main differences are:\n-  set/get-able parameters\n-  the fan speed value ([0-100] %) is written to a file (optional)\n-  packaged as a snap for easier distribution\n\n## Installation\n\n```bash\n$ sudo snap install pi-fan-ctrl\n```\nYou should then connect the snap interface,\n```bash\n$ snap connect pi-fan-ctrl:hardware-observe\n$ snap connect pi-fan-ctrl:gpio pi4-devel:bcm-gpio-21\n```\n\n# Parameters\n\nThe parameters are all set/get-able through the commands:\n```bash\nsnap get/set pi-fan-ctrl \u003cparameters\u003e\n```\nThe available parameters and their default values are as follows,\n```yaml\n# Fan control configuration\n\ngpio:     21  # BCM used to drive transistor's base\nfan_min:  20  # [%] Fan minimum speed.\nsleep:     1  # [s] Time to wait between each refresh\npwm_freq: 25  # [Hz] Change this value if fan has strange behavior\n\nhyst: 1 # Fan speed will change only of the difference of temperature is higher than hysteresis\n\nfan_speed_out: True # Whether to write the fan speed to a file or not\n\n# !!! Not yet configurable !!!\n#\n# Configurable temperature and fan speed steps\n# temp_steps:  [50, 55,   60, 65,   70]   # [C]\n# speed_steps: [30, 47.5, 65, 82.5, 100]  # [%]\n```\n\nFinally, if `fan_speed_out: True` the fan speed will be written to a file\nin the snap. To retrieve the current fan speed simply issue,\n```bash\n$ cat /var/snap/pi-fan-ctrl/common/fan_speed\n45\n```\n\n[//]: # (URLs)\n\n[instructable]: https://www.instructables.com/\n[Aerandir14]: https://www.instructables.com/member/Aerandir14/\n[tutorial]: https://www.instructables.com/id/PWM-Regulated-Fan-Based-on-CPU-Temperature-for-Ras/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartivis%2Fpi_fan_ctrl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartivis%2Fpi_fan_ctrl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartivis%2Fpi_fan_ctrl/lists"}