|
||
---|---|---|
docs | ||
src | ||
.gitignore | ||
license | ||
makefile | ||
readme.md |
Kulifuli — The Arduino Half
Kulifuli is an Arduino Micro based PC fan controller with the option to send a fake tachometer PWM signal back to the motherboard. This is useful for for example server motherboards that refuse to operate unless such a signal is received. (Such as the one in my HP Proliant that always spins its fans at 100% after the latest firmware update. Thank you HP, very cool of you to do that.)
This repository contains the Arduino side of the software, in addition to information about the hardware. For the software to run on the host see this repository.
Building
Requirements: GNU Coreutils, GNU Make, Arduino CLI, GCC for AVR
This project uses the standard Arduino core library obtained via Arduino CLI, but we do not use it as a build tool.
To obtain said library:
arduino-cli core update-index
arduino-cli core install arduino:avr
To build the project:
make build
The firmware image for the Arduino Micro should now be present as build/kulifuli.hex
.
Flashing
Additional requirement: AVRDUDE
Connect the Arduino Micro to your computer over USB. If USB serial support is set up correctly the
device should now have a path it can be referenced by, e.g. /dev/ttyACM0
on Linux. Create a file
named local.make
in the root of the project containing arduino_serial_port =
followed by this
path.
Now flash the firmware image to the device:
make upload
Hardware
The hardware design is extremely simple, it contains no active components other than the Arduino Micro. Two case fans can be connected to the male fan headers, and the female fan connectors should be connected to their original headers on the motherboard. The fan controller sits in between the fans and the motherboard, passing through the power and ground but intercepting the control signals.
You can obtain a netlist file of this circuit here.