GPIOMON(1) gpiomon GPIOMON(1)

# [NAME](#NAME)

gpiomon - libgpiod command-line utility

# [SYNOPSIS](#SYNOPSIS)

**gpiomon** \[*OPTIONS*] *&lt;line&gt;*...

# [DESCRIPTION](#DESCRIPTION)

Wait for events on GPIO lines and print them to standard output.

Lines are specified by name, or optionally by offset if the chip option is provided.

# [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 'gpiomon')

[**-e**, **--edges** &lt;edges&gt;](#e)

specify the edges to monitor Possible values: 'falling', 'rising', 'both'. (default is 'both')

[**-E**, **--event-clock** &lt;clock&gt;](#E)

specify the source clock for event timestamps Possible values: 'monotonic', 'realtime', 'hte'. (default is 'monotonic') By default 'realtime' is formatted as UTC, others as raw u64.

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

display this help and exit

[**-F**, **--format** &lt;fmt&gt;](#F)

specify a custom output format

[**--idle-timeout** &lt;period&gt;](#idle)

exit gracefully if no events occur for the period specified

[**-l**, **--active-low**](#l)

treat the line as active low, flipping the sense of rising and falling edges

[**--localtime**](#localtime)

format event timestamps as local time

[**-n**, **--num-events** &lt;num&gt;](#n)

exit after processing num events

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

debounce the line(s) with the specified period

[**-q**, **--quiet**](#q)

don't generate any output

[**-I**, **--initial-state**](#I)

print initial states of the lines

[**-N**, **--numeric**](#N)

display line values as '0' (inactive) or '1' (active)

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

abort if requested line names are not unique

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

don't quote line or consumer names

[**--utc**](#utc)

format event timestamps as UTC (default for 'realtime')

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

output version information and exit

## [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.

## [Format specifiers:](#Format_specifiers:)

%o

GPIO line offset

%l

GPIO line name

%c

GPIO chip name

%e

numeric edge event type ('1' - rising or '2' - falling)

%E

edge event type ('rising' or 'falling')

%S

event timestamp as seconds

%U

event timestamp as UTC

%L

event timestamp as local time

# [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 gpiomon v2.3.1 (libgpiod v2.2.1)

---

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