LinuxCommandLibrary

vcgencmd

Get Raspberry Pi hardware configuration and status

TLDR

List all available commands

$ vcgencmd commands
copy

Print the current CPU temperature
$ vcgencmd measure_temp
copy

Print the current voltage
$ vcgencmd measure_volts
copy

Print the throttled state of the system as a bit pattern
$ vcgencmd get_throttled
copy

Print the bootloader configuration (only available on Raspberry Pi 4 models)
$ vcgencmd bootloader_config
copy

Display help
$ vcgencmd --help
copy

SYNOPSIS

vcgencmd command [args ...]

PARAMETERS

apis
    List all available API commands and versions

bootloader_config
    Display bootloader configuration variables

bootloader_update
    Check/update bootloader firmware

clk_config
    Display current clock configuration

codec_enabled
    Check if specified codec (e.g., H264, MPG2) is enabled

config
    Display all config.txt parameters

display_power <0|1>
    Turn HDMI display power on (1) or off (0)

file
    Firmware file operations (e.g., file seek, read)

get_camera
    Detect supported cameras

get_config
    Query config.txt value (e.g., arm_freq)

get_firmware_version
    Retrieve VideoCore firmware version

get_lcd_info
    Get LCD panel information

get_mem
    Show ARM or GPU memory split

get_throttled
    Return throttling status bitmap

measure_clock
    Measure frequency of clock (e.g., arm, core, v3d)

measure_temp
    Read SoC temperature in 0.1C units

measure_volts
    Measure voltage (e.g., core, sdram_c)

otp_dump
    Dump One-Time Programmable memory

pmicrd
    Read PMIC register

read_edid
    Read EDID data from display

version
    Show mailbox property interface version

DESCRIPTION

vcgencmd is a command-line utility exclusive to Raspberry Pi devices, enabling direct communication with the Broadcom VideoCore GPU firmware via the mailbox interface. It provides critical hardware telemetry and control, including CPU/GPU temperature monitoring, clock frequency measurements, voltage readings, configuration queries from config.txt, throttling status, firmware versioning, display power control, codec status, and more. This tool is indispensable for diagnostics, performance optimization, overclocking validation, and scripting automated health checks on Raspberry Pi models from Zero to 5.

Invoked by specifying a subcommand and optional arguments, it returns human-readable output or raw values suitable for parsing. For example, vcgencmd measure_temp outputs the SoC temperature in Celsius, while vcgencmd get_throttled reveals a bitmap indicating thermal or power issues. Running vcgencmd apis dynamically lists all supported commands for the installed firmware, accommodating hardware-specific features. Widely used in monitoring tools like raspberrypi-ui-mods and custom dashboards, it helps prevent damage from overheating or undervoltage.

CAVEATS

Available only on Raspberry Pi with VideoCore firmware; some commands need root or specific hardware (e.g., camera). Output formats may vary by model/firmware.

COMMON CLOCK IDS

arm, core, h264, ispu, v3d, uart, pwm, emmc, pixel, vec, hdmi, dpi
Use vcgencmd measure_clock ? for full list.

THROTTLING BITMAP

Hex output bits:
0: under-voltage
1: freq capped
2: throttled now
3: soft temp limit
16-19: flags have occurred.

COMMON CONFIG ITEMS

arm_freq, gpu_freq, over_voltage, sdram_split, core_freq, dtoverlay.

HISTORY

Developed by Broadcom for Raspberry Pi firmware since 2012; evolved with each Pi generation (1-5), adding model-specific commands like PMIC support in Pi 4/5.

SEE ALSO

vcdbg(1), raspi-config(8), raspinfo(1)

Copied to clipboard