No description
Find a file
2025-09-01 19:19:48 +02:00
docs Add final EOL to circuit diagram SVG 2025-09-01 19:19:48 +02:00
src Switch project to GNU Make + VS Code 2025-08-25 20:12:34 +02:00
.gitignore Add VS Code workspace files to gitignore 2025-09-01 14:50:08 +02:00
license Add GPLv3 2025-09-01 17:53:25 +02:00
makefile Add comments regarding implicit rules & 1200 baud touch 2025-08-26 12:48:13 +02:00
readme.md Remove broken netlist file and references to it 2025-09-01 18:48:50 +02:00

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.

Circuit diagram of the hardware