vcgencmd
Get Raspberry Pi hardware configuration and status
TLDR
List all available commands
Print the current CPU temperature
Print the current voltage
Print the throttled state of the system as a bit pattern
Print the bootloader configuration (only available on Raspberry Pi 4 models)
Display help
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
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)


