Monitoring Raspberry Pi Power Efficiency with CLI Commands
Learn how to check your Raspberry Pi’s power status, voltage, current consumption, temperature, and more using the command line interface. …
Updated August 15, 2023
Learn how to check your Raspberry Pi’s power status, voltage, current consumption, temperature, and more using the command line interface.
Checking your Raspberry Pi’s power status is an essential task for ensuring optimal performance and preventing hardware damage. This article will guide you through checking your Raspberry Pi’s power status and usage using command line interface (CLI) commands.
There are two main methods to check the power consumption of a Raspberry Pi:
- Using the
vcgencmd
command, which is built into the Raspbian operating system - Using the
i2cget
command with an external power monitor IC like INA219 or INA32221
Method 1: Checking Power Status using vcgencmd Command
The vcgencmd
command is a built-in tool in Raspbian that provides various information about the system, including power status. To use it, open up a terminal window on your Raspberry Pi and type the following command:
vcgencmd get_throttled
This command will return a series of flags showing any current throttling issues with your Raspberry Pi. The most common throttle reasons are:
0x500000
- Under-voltage detected (pi is not getting enough power)0x10000
- Arm frequency capped (pi is too hot and needs to cool down)0x2000000
- Throttled due to the GPU memory being too high0x400000
- Throttled due to the GPU not being able to reach the set frequency0x8000000
- System clock frequency capped
If any of these flags are present, you may need to address them by adjusting power supply or cooling solutions.
Method 2: Checking Power Status using I2C Interface
If you have an external power monitor IC like INA219 or INA32221 connected to your Raspberry Pi, you can use the i2cget
command to check power status. First, make sure you have the necessary libraries installed:
sudo apt-get install i2c-tools libi2c-dev
Next, determine the I2C bus and address of your power monitor IC. For INA219, it’s usually on bus 1 at address 0x40
. You can use the following command to check:
sudo i2cdetect -y 1
This will output a grid showing all connected I2C devices. Look for your power monitor IC’s address. Once you have the bus and address, you can use i2cget
to read the voltage, current, and power consumption values:
# Read voltage (in mV)
sudo i2cget -y 1 0x40 0x02
# Read current (in mA)
sudo i2cget -y 1 0x40 0x01
# Calculate power consumption (voltage * current / 1000)
Checking Temperature
To check the temperature of your Raspberry Pi, you can use the vcgencmd
command:
vcgencmd measure_temp
This will return the temperature in Celsius with a format like temp=39.2'C
. If the temperature is too high (typically above 60-70°C), you may need to add more heat sinks or improve airflow around your Pi.
Conclusion
Checking your Raspberry Pi’s power status and usage can help ensure optimal performance and prevent hardware damage. The vcgencmd
command provides a quick and easy way to check for throttling issues, while using an external power monitor IC like INA219 or INA32221 allows for more detailed monitoring of voltage, current, and power consumption. Additionally, checking temperature is important to prevent overheating and damage to your Pi’s components.