Skip to content

lynix/fanboy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FanBoy FanBoy Logo

Open Source PWM Fan Controller

License: MIT Build Status

Summary

FanBoy is an Open Source DIY approach to providing a cross-platform PWM fan controller with temperature sensor support that can easily be modified to fit your needs.

FanBoy

Features

  • Four discrete PWM channels
    Supports multiple fans per channel (up to 40 W max. total power draw), auto-detection for disconnected fans and RPM sensing
  • Two temperature sensor inputs
    Supports standard 10 kΩ thermistors
  • Based on well-known Arduino platform
    Uses the ATmega32U4 of an Arduino Leonardo as MCU for minimal development overhead
  • Multiple operation modes per channel
    including fixed duty, linear and target temperature 1
  • Persistent data storage
    Stores all settings as well as last operation mode CRC-protected in EEPROM
  • Simple serial protocol
    Comes with a simple static library for communication abstraction as well as a command line utility for configuration

1 Planned but not implemented yet

Components

This DIY kit consists of multiple components that are reflected as subdirectories:

Folder Description Platforms
pcb PCB that can be manufactured very cheap via common PCB fabrication services Linux, Win32, Mac
firmware Firmware based on Arduino Core Linux, Win32, Mac
libfanboy Static C library that implements serial interface between host and FanBoy Linux, Win32, Mac
enclosure Simple 3D printable enclosure that fits a 2.5" drive slot -
fanboycli Command line client based on libfanboy Linux, Win32, Mac

ℹ️ In addition to these components there is a Qt based GUI called FanMan.

Contributing

Code

The code uses 4-space indentation and K&R style bracing. Usage of Arduino libraries is kept low to keep the possibility of switching to avr-libc. Code documentation is done inline (headers) using Doxygen.

Bugs / Features

Pull requests are always welcome. Feel free to report bugs or post questions using the issues function on GitHub.

License

This project is published under the terms of the MIT License. See the file LICENSE for more information.