Giter Club home page Giter Club logo

fanboy's Introduction

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.

fanboy's People

Contributors

lynix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

fanboy's Issues

Would there be interest in updating this with a MicroFanboy?

image

I made a much smaller version of this to fit with my smaller available size available to me, keeping all of the same functionality but reducing it to 2 fans, wondering if you would be interested in a patch to add this version to the official one? I could submit it in Fritzing format if you would like?

Re-layout PCB to fit one-way 2.5" enclosure

Re-arrange the PCB layout to make it fit into a 2.5" drive enclosure. Important point is to move the connectors around so that all cables go out on one side. This allows for a (to-be-designed, 3D-printable) enclosure to be mounted in a drive bay.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.