GPIOSET(1) gpioset GPIOSET(1)

# [NAME](#NAME)

gpioset - libgpiod command-line utility

# [SYNOPSIS](#SYNOPSIS)

**gpioset** \[*OPTIONS*] *&lt;line=value&gt;*...

# [DESCRIPTION](#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](#OPTIONS)

[**--banner**](#banner)

display a banner on successful startup

[**-b**, **--bias** &lt;bias&gt;](#b)

specify the line bias Possible values: 'pull-down', 'pull-up', 'disabled'. (default is to leave bias unchanged)

[**--by-name**](#by)

treat lines as names even if they would parse as an offset

[**-c**, **--chip** &lt;chip&gt;](#c)

restrict scope to a particular chip

**-C**, **--consumer** &lt;name&gt; consumer name applied to requested lines (default is 'gpioset')

[**-d**, **--drive** &lt;drive&gt;](#d)

specify the line drive mode Possible values: 'push-pull', 'open-drain', 'open-source'. (default is 'push-pull')

[**-h**, **--help**](#h)

display this help and exit

[**-i**, **--interactive**](#i)

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**](#l)

treat the line as active low

[**-p**, **--hold-period** &lt;period&gt;](#p)

the minimum time period to hold lines at the requested values

[**-s**, **--strict**](#s)

abort if requested line names are not unique

[**-t**, **--toggle** &lt;period&gt;\[,period\]...](#t)

toggle the line(s) after the specified period(s) If the last period is 0 then gpioset exits else the sequence repeats.

[**--unquoted**](#unquoted)

don't quote line names

[**-v**, **--version**](#v)

output version information and exit

[**-z**, **--daemonize**](#z)

set values then detach from the controlling terminal

## [Chips:](#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:)

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](#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](#AUTHOR)

Bartosz Golaszewski &lt;brgl@kernel.org&gt;

# [REPORTING BUGS](#REPORTING_BUGS)

Report bugs to:  
Bartosz Golaszewski &lt;brgl@kernel.org&gt;  
linux-gpio &lt;linux-gpio@vger.kernel.org&gt;

# [COPYRIGHT](#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.

October 2026 gpioset v2.3.1 (libgpiod v2.2.1)

---

Document: gpioset(1) from libgpiod 2.3.1-r1 (Chainguard OS)
