Files
openclaw/notes/raspii-fan-curve-2026-02-08.md
Clawd Bot ca9b510922 chore: align with upstream openclaw/openclaw and overlay local additions
- Reset master to upstream/main (16,697 commits)
- Overlay 2,271 local-only files (skills, tools, workspace, configs, apps)
- Restore IDENTITY.md and USER.md templates
- Build verified, gateway running, Discord working

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 07:40:46 +01:00

1.3 KiB
Raw Permalink Blame History

Raspberry Pi (192.168.1.24) fan noise investigation + fix

TL;DR

Pi fan was spinning unnecessarily high at normal temps. I implemented a simple temperature→PWM curve via a systemd timer.

Observations (during investigation)

  • CPU temp: ~5560°C
  • Fan sensor: pwmfan (hwmon1)
  • Before: pwm1=75 → ~2630 RPM at ~56°C
  • Test showed lower PWM reduces RPM on this box:
    • pwm1=60 → ~2125 RPM
    • pwm1=45 → ~1260 RPM
    • pwm1=35 → ~770 RPM (still stable at ~5660°C)

What I changed (on the Pi)

Created:

  • /usr/local/sbin/pwmfan-curve.sh
  • /etc/systemd/system/pwmfan-curve.service
  • /etc/systemd/system/pwmfan-curve.timer

Enabled:

  • systemctl enable --now pwmfan-curve.timer

The curve (PWM 0255) ramps up aggressively above 70°C for safety.

Safety notes

  • The script forces pwm1_enable=1 (manual mode) and sets pwm1 based on CPU temp.
  • If you later install another fan controller (fancontrol / vendor service), ensure theyre not fighting.
  • Docker “extract cleanup DeadlineExceeded / RST_STREAM CANCEL” errors were seen during a large pull; Docker later successfully pulled images.

Follow-ups

  • Consider moving Zabbix off the Pi (saves ~600MB DB data) once target host has disk headroom.