--- layout: page title: Pigglet --- ![GH Action](https://github.com/andrewdavidmackenzie/pigg/actions/workflows/build_and_test.yml/badge.svg) [![codecov](https://codecov.io/gh/andrewdavidmackenzie/pigg/graph/badge.svg?token=Lv5SstEMGO)](https://codecov.io/gh/andrewdavidmackenzie/pigg) 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](../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. - Video with Dialog: https://youtu.be/aToJ1aT7NeM - Video using CLI argument: https://youtu.be/zcEa_Oke014 You can see more gifs and videos of features [here](../assets/features.md) See what's new in [latest release](https://github.com/andrewdavidmackenzie/pigg/releases/latest) [Website](https://mackenzie-serres.net/pigg/) ## 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](../porky/) ## Supported Hardware and Operating Systems | Application | Arch Supported | Device | OS Supported | Asset | |-------------|----------------|-----------|--------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------| | pigglet | Apple Silicon | | macOS 15 | [pigglet-aarch64-apple-darwin.tar.xz](https://github.com/andrewdavidmackenzie/pigg/releases/latest/download/pigglet-aarch64-apple-darwin.tar.xz) | | | x86_64 | | macOS 15 | [pigglet-x86_64-apple-darwin.tar.xz](https://github.com/andrewdavidmackenzie/pigg/releases/latest/download/pigglet-x86_64-apple-darwin.tar.xz) | | | x86_64 | | Ubuntu 24.04 | [pigglet-x86_64-unknown-linux-gnu.tar.xz](https://github.com/andrewdavidmackenzie/pigg/releases/latest/download/pigglet-x86_64-unknown-linux-gnu.tar.xz) | | | x86_64 | | Windows 10 | [pigglet-x86_64-pc-windows-msvc.msi](https://github.com/andrewdavidmackenzie/pigg/releases/latest/download/pigglet-x86_64-pc-windows-msvc.msi) | | | aarch64 | Pi400 | Pi OS | [pigglet-aarch64-unknown-linux-gnu.tar.xz](https://github.com/andrewdavidmackenzie/pigg/releases/latest/download/pigglet-aarch64-unknown-linux-gnu.tar.xz) | | | aarch64 | Pi4 | Pi OS | [pigglet-aarch64-unknown-linux-gnu.tar.xz](https://github.com/andrewdavidmackenzie/pigg/releases/latest/download/pigglet-aarch64-unknown-linux-gnu.tar.xz) | | | aarch64 | Pi5 | Pi OS | [pigglet-aarch64-unknown-linux-gnu.tar.xz](https://github.com/andrewdavidmackenzie/pigg/releases/latest/download/pigglet-aarch64-unknown-linux-gnu.tar.xz) | | | arm | Pi Zero | Pi OS (32bit) | [pigglet-arm-unknown-linux-gnu.tar.xz](https://github.com/andrewdavidmackenzie/pigg/releases/latest/download/pigglet-arm-unknown-linux-gnu.tar.xz) | | | aarch64 | Pi Zero 2 | Pi OS (64bit) | [pigglet-aarch64-unknown-linux-gnu.tar.xz](https://github.com/andrewdavidmackenzie/pigg/releases/latest/download/pigglet-aarch64-unknown-linux-gnu.tar.xz) | | | armv7 musl | Pi3B | Ubuntu 18.04.6 LTS | [pigglet-armv7-unknown-linux-musleabihf.tar.xz](https://github.com/andrewdavidmackenzie/pigg/releases/latest/download/pigglet-armv7-unknown-linux-musleabihf.tar.xz) | ## Installing See [INSTALLING.md](../INSTALLING.md) ## Help See [HELP.md](../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](../BUILDING.md) ## Running Piggui and Pigglet For details on running `pigglet` in the foreground or as a system service. See [RUNNING.md](../RUNNING.md) ## Contributing See [CONTRIBUTING.md](../CONTRIBUTING.md) ## License See [LICENSE](../LICENSE) ## Code of Conduct See [CODE_OF_CONDUCT.md](../CODE_OF_CONDUCT.md) ## Security See [SECURITY.md](../SECURITY.md)