pigglet

Crates.iopigglet
lib.rspigglet
version0.7.3
created_at2025-06-17 14:40:22.041055+00
updated_at2025-11-25 15:13:10.148711+00
descriptionA CLI agent for interacting with local Raspberry Pi GPIO Hardware from piggui GUI
homepagehttps://mackenzie-serres.net/pigg/
repositoryhttps://github.com/andrewdavidmackenzie/pigg/
max_upload_size
id1715826
size183,522
Andrew Mackenzie (andrewdavidmackenzie)

documentation

https://github.com/andrewdavidmackenzie/pigg/README.md

README


layout: page title: Pigglet

GH Action codecov

Packaging status Support pigg on drips.network

pigglet - Raspberry Pi GPIO CLI tool

pigglet is a "headless" command line utility that interacts with Raspberry Pi GPIO hardware, and can either apply a config supplied from file and stop, or can listen for config changes from a remote piggui and report input level changes to the GUI.

Main features:

  • Runs on a Pi to allow piggui GUI running on other platforms to configure GPIO Outputs and visualize GPIO inputs, with remote connections over TCP or Iroh-net
  • Pre-built images for different CPU architecture, along with installers. See INSTALLING.md
  • GPIO config is saved and restored across power failure or device re-start.
  • mDNS discovery supported enabling the piggui GUI to discover them.
  • Here are two videos showing the two ways to use it, with pigglet running on a RPi shown via VNC.

You can see more gifs and videos of features here

See what's new in latest release

Website

Details

If built on the Pi (with the "pi_hw" feature), then it has a real GPIO hardware backend.

It can be built on macOS/Linux/Windows/Pi with the "fake_hw" feature for a fake hardware backend, mainly used for development (hence enabled on dev build).

It takes an optional config file as a command line option. It will load the GPIO configuration from the file (like piggui can) and it will apply it to the hardware then stop.

It will print out connection info at startup and start listing for Iroh network connections from piggui instances, then the user can interact with it and visualize inputs level changes from the piggui GUI.

Porky

porky is an embedded application developer for the Raspberry Pi Pico and Pi Pico W for remote interaction with the Pico's GPIO hardware. It can be connected to over TCP or USB.

For more details see porky's README.md

Supported Hardware and Operating Systems

Application Arch Supported Device OS Supported Asset
pigglet Apple Silicon macOS 15 pigglet-aarch64-apple-darwin.tar.xz
x86_64 macOS 15 pigglet-x86_64-apple-darwin.tar.xz
x86_64 Ubuntu 24.04 pigglet-x86_64-unknown-linux-gnu.tar.xz
x86_64 Windows 10 pigglet-x86_64-pc-windows-msvc.msi
aarch64 Pi400 Pi OS pigglet-aarch64-unknown-linux-gnu.tar.xz
aarch64 Pi4 Pi OS pigglet-aarch64-unknown-linux-gnu.tar.xz
aarch64 Pi5 Pi OS pigglet-aarch64-unknown-linux-gnu.tar.xz
arm Pi Zero Pi OS (32bit) pigglet-arm-unknown-linux-gnu.tar.xz
aarch64 Pi Zero 2 Pi OS (64bit) pigglet-aarch64-unknown-linux-gnu.tar.xz
armv7 musl Pi3B Ubuntu 18.04.6 LTS pigglet-armv7-unknown-linux-musleabihf.tar.xz

Installing

See INSTALLING.md

Help

See HELP.md for help with known issues. We hope to grow this and maybe link with the GUI and reported errors.

Building from Source

See BUILDING.md

Running Piggui and Pigglet

For details on running pigglet in the foreground or as a system service. See RUNNING.md

Contributing

See CONTRIBUTING.md

License

See LICENSE

Code of Conduct

See CODE_OF_CONDUCT.md

Security

See SECURITY.md

Commit count: 3183

cargo fmt