Skip to content

Arduino Fan Controller v0.1.0 — Uno Stable

Choose a tag to compare

@johnlenfr johnlenfr released this 11 Oct 20:26
· 0 commits to main since this release

First stable release of the custom Arduino fan controller plugin for FanControl.

Features

  • 5 independent PWM fan controls (Arduino D5, D6, D9, D10, D11).
  • 2 RPM monitoring inputs (Arduino D2 and D3).
  • Automatic PWM/RPM sensor pairing in FanControl.
  • Automatic USB detection for the tested Arduino Uno.
  • Manual COM port fallback via %LOCALAPPDATA%\FanControl.ArduinoInterface\arduino_port.txt.
  • Portable plugin logging under %LOCALAPPDATA%.
  • 50% PWM safety fallback when serial commands are lost.

Hardware

  • Arduino Uno ATmega328P, 16 MHz.
  • BC337 open-collector transistor interface for each PWM output.
  • External 12 V fan power supply with common ground.
  • TACH pull-up resistors: 4.7 kΩ to Arduino 5 V.

Installation

  1. Download FanControl-Arduino-v0.1.0-uno-stable.zip from the release assets.
  2. Flash Firmware/ArduinoSketch.ino to the Arduino Uno.
  3. Install FanControl for Windows.
  4. Copy Plugin/FanControl.ArduinoInterface.dll into the Plugins folder beside FanControl.exe.
  5. Connect the Arduino and start FanControl.
  6. Follow Documentation/INSTALLATION.md for the hardware connections and verification.

Validation

Tested with Arduino Uno and FanControl installed at C:\FanControl.

The five controls and two RPM sensors load successfully. FAN 1 speed control, RPM feedback, automatic pairing and application restart have been tested.

Limitations: Automatic USB detection is currently specific to the tested Uno. Compatibility with Arduino Nano and installation under Program Files remain to be validated. PWM outputs use the default Arduino frequencies (~490/980 Hz), rather than the standard PC fan PWM frequency of ~25 kHz.

Notes

This is a custom hardware/software project. Ensure the 12 V fan supply and Arduino share a common ground. Do not power the fans from Arduino I/O pins.