-v Output the current version including the board revision of the Raspberry Pi.
-g Use the BCM_GPIO pins numbers rather than wiringPi pin numbers. Note: The BCM_GPIO pin numbers
are always used with the export and edge commands.
-1 Use the physical pin numbers rather than wiringPi pin numbers. Note: that this applies to the P1
connector only. It is not possible to use pins on the Revision 2 P5 connector this way, and as
with -g the BCM_GPIO pin numbers are always used with the export and edge commands.
-xextension
This causes the named extension to be initialised. Extensions comprise of a name (e.g. mcp23017)
followed by a colon, then the pin-base, then more optional parameters depending on the extension
type. See the web page on http://wiringpi.com/the-gpio-utility/-p Use the PiFace interface board and its corresponding pin numbers. The PiFace will always appear at
pin number 200 in the gpio command. You can assign any pin numbers you like in your own programs
though.
read<pin>
Read the digital value of the given pin and print 0 or 1 to represent the respective logic levels.
write<pin><value>
Write the given value (0 or 1) to the pin. You need to set the pin to output mode first.
toggle<pin>
Changes the state of a GPIO pin; 0 to 1, or 1 to 0.
Note unlike the blink command, the pin must be in output mode first.
blink<pin>
Blinks the given pin on/off. Press Control-C to exit.
Note: This command explicitly sets the pin to output mode.
aread<pin>
Read the analog value of the given pin. This needs to be used in conjunction with a -x flag to add
in an extension that handles analog inputs.
e.g. gpio -x mcp3002:200:0 aread 200
will read the first analog input on an mcp3002 SPI ADC chip.
awrite<pin><value>
Write the analog value to the given pin. This needs to be used in conjunction with a -x flag to
add in an extension that handles analog inputs.
e.g. gpio -x mcp4802:200:0 awrite 200 128
will write the value 128 to the first DAC port on an mcp4802 chip on the Pi's SPI bus 0.
wb<value>
Write the given byte to the 8 main GPIO pins. You can prefix it with 0x to specify a hexadecimal
number. You need to set pins to output mode first.
readall
Output a table of all GPIO pins values. The values represent the actual values read if the pin is
in input mode, or the last value written if the pin is in output mode.
The readall command is usable with an extension module (via the -x parameter), but it's unable to
determine pin modes or states, so will perform both a digital and analog read on each pin in-turn.
pwm<pin><value>
Write a PWM value (0-1023) to the given pin. The pin needs to be put into PWM mode first.
clock<pin><frequency>
Set the output frequency on the given pin. The pin needs to be put into clock mode first.
mode<pin><mode>
Set a pin into input, output or pwm mode. Can also use the literals up, down or tri to set the
internal pull-up, pull-down or tristate (off) controls.
The ALT modes can also be set using alt0, alt1, ... alt5.
unexportall
Un-Export all the GPIO pins in the /sys/class/gpio directory.
exports
Print a list (if any) of all the exported GPIO pins and their current values.
export Export a GPIO pin in the /sys/class/gpio directory. Use like the mode command above however only
in, out, high and low are supported at this time. Note that the pin number is the BCM_GPIO number
and not the wiringPi number. The high and low commands pre-set the output value at the same time
as the export to output mode.
Once a GPIO pin has been exported, the gpio program changes the ownership of the
/sys/class/gpio/gpioX/value and if present in later kernels, the /sys/class/gpio/gpioX/edge pseudo
files to that of the user running the gpio program. This means that you can have a small script of
gpio exports to setup the gpio pins as your program requires without the need to run anything as
root, or with the sudo command.
edge This exports a GPIO pin in the /sys/class/gpio directory, set the direction to input and set the
edge interrupt method to none, rising, falling or both. Use like the export command above and
note that BCM_GPIO pin number is used not not wiringPi pin numbering.
Like the export commands above, ownership is set to that of the calling user, allowing subsequent
access from user programs without requiring root/sudo.
unexport
Un-Export a GPIO pin in the /sys/class/gpio directory.
wfi<pin><mode>
This set the given pin to the supplied interrupt mode: rising, falling or both then waits for the
interrupt to happen. It's a non-busy wait, so does not consume and CPU while it's waiting.
drive group value
Change the pad driver value for the given pad group to the supplied drive value. Group is 0, 1 or
2 and value is 0-7. Do not use unless you are absolutely sure you know what you're doing.
usbp high | low
Change the USB current limiter to high (1.2 amps) or low (the default, 600mA) This is only
applicable to the Model B+ and the Model B, v2.
pwm-bal/pwm-ms
Change the PWM mode to balanced (the default) or mark:space ratio (traditional)
pwmr Change the PWM range register. The default is 1024.
gbr channel
This reads the analog to digital converter on the Gertboard on the given channel. The board
jumpers need to be in-place to do this operation.
gbw channel value
This writes the supplied value to the output channel on the Gertboards SPI digital to analogue
converter. The board jumpers need to be in-place to do this operation.