Skip to content

Arduino FanControl v0.3.0 — Voltage Monitoring & OLED Improvements

Choose a tag to compare

@johnlenfr johnlenfr released this 13 Oct 18:48
· 0 commits to main since this release

This release builds on v0.2.0 with voltage monitoring, ADC calibration, OLED diagnostics, and improved sensor naming.

What's New

  • 12V voltage monitoring: Read the external fan power supply voltage through Arduino A0 using a 27 kΩ / 10 kΩ voltage divider.
  • Adjustable ADC VREF: Calibrate the voltage measurement directly from the OLED menu, with 10 mV increments.
  • EEPROM persistence: ADC reference and other configuration settings are retained after a restart.
  • Free RAM monitoring: Display available SRAM on the OLED diagnostics page.
  • Improved OLED interface: Updated FANS STATUS and MENU CONFIG screens, with optimized refresh to prevent flickering.
  • Unified FanControl naming:
    • Arduino FAN 1 PWM through Arduino FAN 5 PWM
    • Arduino FAN 1 RPM and Arduino FAN 2 RPM
    • Arduino TEMP 1 and Arduino TEMP 2
  • Optional OLED: Build the firmware with ENABLE_OLED enabled or disabled.

Existing Features

  • 5 independent PWM fan outputs
  • 2 RPM monitoring inputs
  • 2 DS18B20 temperature sensor inputs
  • FanControl Windows plugin
  • SSD1306 OLED display with single-button navigation
  • Configurable PWM failsafe
  • Automatic menu timeout after 30 seconds

Hardware

  • Arduino Uno / Nano, ATmega328P, 16 MHz
  • External 12V power supply for fans
  • Optional SSD1306 I²C OLED
  • Optional DS18B20 temperature probes

Important: The 12V measurement requires the appropriate voltage divider. Never connect 12V directly to an Arduino analog input.

Installation

  1. Download FanControl.ArduinoFanController_v0.3.0.zip from the assets below.
  2. Install the Arduino libraries: OneWire, DallasTemperature, and U8g2.
  3. Upload Firmware/ArduinoSketch.ino to your Arduino.
  4. Close FanControl.
  5. Copy Plugin/FanControl.ArduinoInterface.dll into your FanControl Plugins directory.
  6. Restart FanControl and verify the detected controls and sensors.

Validation

Tested on an Arduino Uno with FanControl under Windows. OLED navigation, EEPROM settings persistence, ADC voltage calibration, and plugin integration have been validated.

Individual hardware testing of all five PWM outputs is not yet complete.

Credits

Based on the original Arduino FanControl plugin by [Yanat000](https://github.com/Yanat000/FanControl.ArduinoFanController).

Thanks to Yanat000 and the FanControl project for the original work.