Skip to content
/ chilld Public

POC: Thermal controller for the Raspberry Pi Compute Module 4 IO Board.

License

Notifications You must be signed in to change notification settings

tmsmr/chilld

Repository files navigation

ChillD

POC: Thermal controller for the Raspberry Pi Compute Module 4 IO Board.

ChillD is a simple user space thermal controller for the CM4IO. It periodically...

  • Reads the BCM2711's temperature using the Generic Thermal Sysfs driver of the linux kernel
  • Calculates the target fan speed in a linear manner
  • Controls a fan connected to the PWM fan connector on the CM4IO board

I mainly built this as an application example for https://github.com/tmsmr/cm4iofan. Please note should-i-use-this-for-my-247-running-project.

Requirements

See https://github.com/tmsmr/cm4iofan#requirements

Usage

Get it

  • Clone the Repository and build the chilld executable using go build, or
  • Build the executable using go install github.com/tmsmr/[email protected] to find it in $GOPATH/bin, or
  • Download the latest tagged version from the Release page

Use it

  • No configuration needed (nor available at the moment...)
  • Execute it: ./chilld

Comments

System service

  • Feel free to adjust and use chilld.service
  • Scripts for OpenRC, SysVinit, ... shouldn't be a big deal

User with access to I2C

ChillD needs a user with access to the I2C bus. If you are using Raspian/RaspiOS, the group i2c should be available for that purpose.

Otherwise you may:

  • Add a user for ChillD: useradd -r -M -s /bin/false chilld
  • Add the I2C group: groupadd i2c
  • Add the user to the created group: usermod -aG i2c chilld
  • Add a udev rule to assign the group: echo 'KERNEL=="i2c-[0-9]*", GROUP="i2c"' >> /etc/udev/rules.d/10-i2c_group.rules

About

POC: Thermal controller for the Raspberry Pi Compute Module 4 IO Board.

Topics

Resources

License

Stars

Watchers

Forks

Languages