---
name: "gpioset"
section: "1"
platform: "linux"
package: "libgpiod"
version: "2.3.1-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/gpioset"
---

# gpioset(1)

libgpiod command-line utility

## NAME

gpioset - libgpiod command-line utility

## SYNOPSIS

**gpioset** \[*OPTIONS*\] *\<line=value\>*...

## DESCRIPTION

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

- **-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.

## AUTHOR

Bartosz Golaszewski \<brgl@kernel.org\>

## REPORTING BUGS

Report bugs to:\
     Bartosz Golaszewski \<brgl@kernel.org\>\
     linux-gpio \<linux-gpio@vger.kernel.org\>

## COPYRIGHT

Copyright © 2017-2023 Bartosz Golaszewski License: GPL-2.0-or-later\
 This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
