Yes, it’s definitely possible to lower the CPU frequency on your Orange Pi Zero to save power and reduce heat. Armbian allows you to adjust CPU frequencies using the cpufreq subsystem, which manages the CPU’s clock speed dynamically based on system load. You can also set a fixed frequency to reduce power consumption.

1️⃣ Check the Available CPU Frequencies

First, let’s check which CPU frequencies are available on your system. Run the following command to list the possible CPU frequencies:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

It should show a list of frequencies in kHz (for example: 864000 1080000 1200000), which are the speeds that the CPU can switch between.


2️⃣ Set a Fixed Frequency (Lower Power/Heat)

If you want to set a lower frequency to save power and reduce heat, you can change the CPU scaling governor or set a fixed frequency.

a. Check the current governor:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

The result could be something like ondemand, performance, powersave, etc.

b. Set the governor to powersave (recommended for low power):

echo "powersave" | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

This will lower the CPU frequency when the system is idle, reducing power consumption and heat.


c. Set a specific CPU frequency:

If you prefer to set a fixed lower frequency, run this (for example, to set it to 864 MHz):

echo 864000 | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed

You can replace 864000 with one of the available frequencies from the previous step.


3️⃣ Make the Change Permanent

To make the frequency or governor change persistent across reboots, you’ll need to add it to your system configuration files.

Option 1: Use Armbian-config (GUI Method)

Armbian has a built-in configuration tool armbian-config that allows you to change the CPU governor and frequencies easily.

  1. Run:
    sudo armbian-config
    
  2. Navigate to System -> CPU frequency scaling.
  3. Select Powersave for the governor or choose a fixed frequency.

Option 2: Set it via rc.local

Alternatively, you can add the commands to set the CPU frequency or governor in /etc/rc.local so they are executed at boot.

  1. Open the file for editing:
    sudo nano /etc/rc.local
    
  2. Before exit 0, add the following lines:
    echo "powersave" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    
    Or to set a specific frequency:
    echo 864000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
    
  3. Save and exit (CTRL+X, then Y, then ENTER).

4️⃣ Monitor CPU Frequency

To check the current CPU frequency in real time, you can run:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

It will return the current frequency in kHz.


5️⃣ Additional Power-Saving Tips

  • Disable unused peripherals like Wi-Fi, Bluetooth, or HDMI (as you’ve already done).
  • Enable CPU idle states by making sure the system uses s2idle or deep idle instead of keeping the CPU running at full power.
  • Disable unnecessary services to minimize the load on the CPU.

By lowering the CPU frequency and adjusting the governor, you can save power and reduce heat on your Orange Pi Zero. This is a great way to extend battery life if you’re running it on a portable power supply, or just to reduce the system’s temperature.