OS Manuals

/usr/bin/gpioset

C library and command-line tools for controlling GPIO lines via the Linux GPIO character device uAPI

From libgpiod 2.3.2-r0 (enterprise-packages), captured 2026-11-08 by running gpioset --help (exit 0). permalink

Usage: /usr/bin/gpioset [OPTIONS] <line=value>...

Set values of GPIO lines.

Lines are specified by name, or optionally by offset if the chip option
is provided.
Values may be '1' or '0', or equivalently 'active'/'inactive' or 'on'/'off'.

The line output state is maintained until the process exits, but after that
is not guaranteed.

Options:
      --banner		display a banner on successful startup
  -b, --bias <bias>	specify the line bias
			Possible values: 'pull-down', 'pull-up', 'disabled'.
			(default is to leave bias unchanged)
      --by-name		treat lines as names even if they would parse as an offset
  -c, --chip <chip>	restrict scope to a particular chip
  -C, --consumer <name>	consumer name applied to requested lines (default is 'gpioset')
  -d, --drive <drive>	specify the line drive mode
			Possible values: 'push-pull', 'open-drain', 'open-source'.
			(default is 'push-pull')
  -h, --help		display this help and exit
  -i, --interactive	set the lines then wait for additional set commands
			Use the 'help' command at the interactive prompt to get help
			for the supported commands.
  -l, --active-low	treat the line as active low
  -p, --hold-period <period>
			the minimum time period to hold lines at the requested values
  -s, --strict		abort if requested line names are not unique
  -t, --toggle <period>[,period]...
			toggle the line(s) after the specified period(s)
			If the last period is 0 then gpioset exits else the sequence repeats.
      --unquoted	don't quote line names
  -v, --version		output version information and exit
  -z, --daemonize	set values then detach from the controlling terminal

Chips:
    A GPIO chip may be identified by number, name, or path.
    e.g. '0', 'gpiochip0', and '/dev/gpiochip0' all refer to the same chip.

Periods:
    Periods are taken as milliseconds unless units are specified. e.g. 10us.
    Supported units are 'm', 's', 'ms', and 'us' for minutes, seconds, milliseconds and
    microseconds respectively.

*Note*
    It should not be assumed that a line will retain its state after gpioset exits.
    When a process exits, any GPIO lines it has requested are automatically released.
    Once released, the state of a line may be modified by the kernel or another process.
    To guarantee the requested value, by default gpioset does not exit.
Options (15)
OptionDescriptionSource
--bannerdisplay a banner on successful startuphelp + man
-b, --bias biasspecify the line bias Possible values: 'pull-down', 'pull-up', 'disabled'.help + man
--by-nametreat lines as names even if they would parse as an offsethelp + man
-c, --chip chiprestrict scope to a particular chiphelp + man
-C, --consumer nameconsumer name applied to requested lines (default is 'gpioset')help + man
-d, --drive drivespecify the line drive mode Possible values: 'push-pull', 'open-drain', 'open-source'.help + man
-h, --helpdisplay this help and exithelp + man
-i, --interactiveset the lines then wait for additional set commands Use the 'help' command at the interactive prompt to get help for the supported commands.help + man
-l, --active-lowtreat the line as active lowhelp + man
-p, --hold-period periodthe minimum time period to hold lines at the requested valueshelp + man
-s, --strictabort if requested line names are not uniquehelp + man
-t, --toggle periodtoggle the line(s) after the specified period(s) If the last period is 0 then gpioset exits else the sequence repeats.help
--unquoteddon't quote line nameshelp + man
-v, --versionoutput version information and exithelp + man
-z, --daemonizeset values then detach from the controlling terminalhelp + man

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.