Power Saving Practices

Basic and expert power-saving practices for ALPON X5 AI and ALPON X4 — disable Wi-Fi, HDMI, unused services and USB ports, stop background applications, then tune CPU cores and the CPU frequency governor.

Power Saving Practices for ALPON

Efficient power management is crucial for embedded systems, particularly for industrial edge devices like the ALPON X5 AI and ALPON X4. Optimizing power consumption extends operational time, reduces thermal output, and enhances system reliability. This guide collects five basic practices you can apply in minutes and three expert techniques for when every milliwatt counts.

ALPON X5 AI ALPON X4 Power System tuning
ALPON · Tutorial · System · Power saving
How do I reduce power consumption on ALPON?

Start with the basics: block Wi-Fi with rfkill when you do not use it, disable HDMI output from raspi-config, disable services you do not need with systemctl, unbind unused USB ports, and stop unnecessary background applications. For deeper savings, underclock and undervolt the CPU, take CPU cores offline when the load is low, and set the conservative CPU governor with cpufrequtils so the frequency follows the load. The commands are identical on ALPON X5 AI and ALPON X4.

Overview

Every subsystem you leave running on an ALPON X5 AI or ALPON X4 draws power whether or not your application uses it. The practices below are grouped in two tiers: Basic power saving switches off peripherals and services you do not need and is safe to apply on any deployment; Expert power saving changes how the CPU itself behaves and can affect stability or performance, so it deserves testing before it reaches production.

The commands are identical on ALPON X4 and ALPON X5 AI. By following these practices you can optimize energy efficiency while maintaining system functionality — for mission-critical applications, always test changes before applying them to production systems.

Before you start

All commands run on the device itself, in a shell opened over SSH or through the ALPON Cloud remote terminal. They need root privileges, so run them as root or prefix them with sudo as shown. Apply one change at a time and confirm your application still behaves as expected before moving to the next.

Basic power saving

These simple steps can help reduce power consumption on your device.

  1. 1

    Disable Wi-Fi if it is not used

    If Wi-Fi is not needed, turning it off can save power. Block the wireless radio with rfkill:

    bash · block Wi-Fi
    sudo rfkill block wifi
  2. 2

    Disable HDMI

    If you do not need HDMI output, you can disable it to save power. Open the Raspberry Pi configuration menu:

    bash · open raspi-config
    sudo raspi-config

    This menu also allows various other configurations.

  3. 3

    Disable services you do not use

    Each enabled service starts at boot and consumes CPU time and memory. Disable the ones your deployment does not rely on — for example Bluetooth or the desktop display manager:

    bash · disable unused services
    sudo systemctl disable bluetooth.service
    sudo systemctl disable lightdm
    ... etc.
  4. 4

    Disable unused USB ports

    Shutting down unused USB ports can help reduce power consumption. Unbind the port from the USB driver:

    bash · unbind a USB port
    echo '1-1' | sudo tee /sys/bus/usb/drivers/usb/unbind
  5. 5

    Stop background applications

    Terminating unnecessary applications and background services reduces CPU load:

    bash · stop a process
    sudo killall [name]
    Leave the sixfab processes alone

    Avoid terminating any processes started by the sixfab user.

Expert power saving

For advanced users, here are additional power-saving techniques that can significantly reduce power consumption on your device. Please note that some of these steps may impact system stability or performance, so proceed with caution.

  1. 6

    Underclock and undervolt the CPU

    Reducing the CPU's clock speed and voltage can save energy, but it may cause instability. Ensure you test thoroughly and monitor system performance.

    Stability risk

    This step may impact system stability or performance. Proceed with caution, and for mission-critical applications test the change before applying it to production systems.

  2. 7

    Manage CPU cores based on system load

    Dynamically enabling or disabling CPU cores according to system load can conserve power during low activity periods. Save the following script as /usr/local/bin/manage-cores.sh to manage CPU cores based on load:

    /usr/local/bin/manage-cores.sh
    #!/bin/bash
    # Disable cores when load is low
    
    if [ $(cat /proc/loadavg | cut -d ' ' -f1 | cut -d '.' -f1) -lt 2 ]; then
        echo 0 > /sys/devices/system/cpu/cpu3/online
        echo 0 > /sys/devices/system/cpu/cpu2/online
    fi
    # Enable when load increases
    
    if [ $(cat /proc/loadavg | cut -d ' ' -f1 | cut -d '.' -f1) -gt 4 ]; then
        echo 1 > /sys/devices/system/cpu/cpu2/online
        echo 1 > /sys/devices/system/cpu/cpu3/online
    fi

    The script takes cpu2 and cpu3 offline when the one-minute load average drops below 2 and brings them back once it rises above 4. It writes to /sys, so it must run as root.

  3. 8

    Set the CPU governor

    Setting a conservative CPU governor allows the system to adjust the CPU frequency dynamically, depending on the load, which helps in balancing performance and power savings. Install and configure the CPU frequency utilities:

    bash · conservative governor
    sudo apt-get install cpufrequtils
    sudo cpufreq-set -g conservative
    echo 'GOVERNOR="conservative"' | sudo tee /etc/default/cpufrequtils

    These expert-level strategies can help optimize power usage, especially in environments where battery life and power efficiency are priorities.

Ready when…

Unused radios, ports, and services are off, only the processes your application needs are running, and — if you applied the expert practices — the CPU scales its cores and frequency with the load. Your ALPON X5 AI or ALPON X4 now draws less power and runs cooler while keeping its full functionality; re-test after every change before rolling it out to production devices.


Did this page help you?