No description
Find a file
2025-09-01 20:19:51 +02:00
src Set duty cycle as cli arg, rename executable 2025-08-24 12:23:04 +02:00
.gitignore Initial commit 2025-08-23 20:01:14 +02:00
Cargo.lock Update indirect dependency serialport to 4.7.3 2025-08-25 20:14:19 +02:00
Cargo.toml Set duty cycle as cli arg, rename executable 2025-08-24 12:23:04 +02:00
license Add readme and license 2025-09-01 20:19:51 +02:00
readme.md Add readme and license 2025-09-01 20:19:51 +02:00

Kulifuli — The Host 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 host side of the software. For the software to run on the Arduino Micro as well as hardware information see this repository.

Building

Requirements: Rust compiler, Cargo

Simply run:

cargo build --release

The executable should now be present as target/release/kulifuli.

Running

kulifuli $serial_device $duty_cycle

The serial device argument is the path to the Arduino Micro USB serial device, e.g. /dev/ttyACM0 on Linux. The duty cycle argument is the desired duty cycle for the PWM fans connected to the fan controller to be run at. This is an integer range where 0 is 0% and 79 is 100%. Going below 19 is unlikely to have an effect with most fans.