{"id":18188007,"url":"https://github.com/hypfer/wififancon","last_synced_at":"2025-04-07T13:47:47.093Z","repository":{"id":70162615,"uuid":"481980895","full_name":"Hypfer/WiFiFanCon","owner":"Hypfer","description":"Control 12V PC Fans via Wi-Fi","archived":false,"fork":false,"pushed_at":"2024-08-25T11:32:38.000Z","size":1542,"stargazers_count":9,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-13T16:44:13.218Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Berry","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hypfer.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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},"funding":{"github":"hypfer","ko_fi":"hypfer"}},"created_at":"2022-04-15T14:14:53.000Z","updated_at":"2024-08-25T11:32:42.000Z","dependencies_parsed_at":"2024-08-25T12:37:41.657Z","dependency_job_id":null,"html_url":"https://github.com/Hypfer/WiFiFanCon","commit_stats":{"total_commits":5,"total_committers":2,"mean_commits":2.5,"dds":"0.19999999999999996","last_synced_commit":"f8de5e754b4a29c3cd6155154350265105af9ce5"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hypfer%2FWiFiFanCon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hypfer%2FWiFiFanCon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hypfer%2FWiFiFanCon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hypfer%2FWiFiFanCon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hypfer","download_url":"https://codeload.github.com/Hypfer/WiFiFanCon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247666011,"owners_count":20975787,"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":[],"created_at":"2024-11-03T02:04:20.784Z","updated_at":"2025-04-07T13:47:47.068Z","avatar_url":"https://github.com/Hypfer.png","language":"Berry","funding_links":["https://github.com/sponsors/hypfer","https://ko-fi.com/hypfer"],"categories":[],"sub_categories":[],"readme":"# WiFiFanCon\n\nControl 12V PC Fans via Wi-Fi and [Tasmota](https://github.com/arendst/Tasmota)\n\n[\u003cimg src=\"./img/board.jpg\" width=650\u003e](./img/board.jpg)\n[\u003cimg src=\"./img/tasmota_home.png\"\u003e](./img/board.jpg)\n\n## Features\n\n- Support of up to four 4-Pin PWM 12V PC Fans\n- Individual RPM Monitoring for all 4 Fans\n- Full control via a Webinterface\n- Optional MQTT support with Home Assistant Autodiscovery utilizing [hct](https://github.com/fmtr/hct)\n- Extension headers to allow for customization with e.g. additional temperature probes\n- Very easy beginner-friendly THT soldering\n- Fits snugly into an isolated 45ct junction box\n\n## Where?\n\nHead over to the [./pcb](./pcb) for the pcb.\n\nFor the firmware, install [Tasmota](https://github.com/arendst/Tasmota) e.g. using their fancy fully browser-based installer, then check out the [./berry](./berry) folder.\n\n## Why?\n\nI do have quite a few heat-producing devices such as servers or Hi-Fi equipment, which are trapped in whatever\nfurniture from Ikea barely fit them. This achieves a clean look but also kills the hardware due to insufficient ventilation.\n\nMy first solution for this was to add a few very silent 12V Noctua NF-A14 PWM PC Fans and run them at 5V with 33% duty cycle using an Arduino nano.\nWhile that worked just fine, after a year, I've noticed quite a lot of dust buildup on the Fans as well as everything else.\n\nTherefore, I was looking for a way to periodically run the Fans at full speed to blow away whatever dust buildup there might be.\nHow else would you do that if not via MQTT automated by Home Assistant?\n\n## Pictures?\n\n[\u003cimg src=\"./img/box1.jpg\" width=650\u003e](./img/box1.jpg)\n[\u003cimg src=\"./img/box2.jpg\" width=650\u003e](./img/box2.jpg)\n[\u003cimg src=\"./img/avr.jpg\" width=650\u003e](./img/avr.jpg)\n\n## How?\n\nAs it turns out, the ESP32 offers everything required for such a project.\nIt has Wi-Fi, it can do 25kHz PWM with more than 4 channels and it is also capable of monitoring the Fan speed.\nFurthermore, as it is available as a full devkit PCB, flashing, soldering and everything else is very easy.\n\nTherefore, I basically just needed to design a PCB that features a DC Jack, some Fan Headers and connects everything in a neat package.\nBecause it is only 70x70mm in size, it perfectly fits into these dirt-cheap german junction boxes, which you can get for 45ct each.\n\n## Why not use something else?\n\nWhile there are other projects on GitHub achieving similar things, they didn't really 100% fit my requirements, which are:\n\n- Set Fanspeed to x%\n- Don't care about temperature\n- Show up in home assistant\n- Be very easy to solder\n\n## License\n\nThis hardware is licensed under the\n[Creative Commons Attribution-ShareAlike 4.0 International License][cc-by-sa].\n\n[![CC BY-SA 4.0][cc-by-sa-image]][cc-by-sa]\n\nThe software is licensed under the Apache-2.0 license.\n\n[cc-by-sa]: http://creativecommons.org/licenses/by-sa/4.0/\n[cc-by-sa-image]: ./img/cc-by-sa.png\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhypfer%2Fwififancon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhypfer%2Fwififancon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhypfer%2Fwififancon/lists"}