periph is a Go library that unifies hardware I/O on single-board computers and embedded Linux devices, exposing clean interfaces for GPIO, I²C, SPI, UART, PWM, and more. Its philosophy is “no daemon, no codegen”—you link a Go package and speak directly to the hardware via stable abstractions, keeping deployments simple and auditable. The project auto-detects host capabilities at runtime and selects the best driver backend, smoothing over kernel and board differences across Raspberry Pi, BeagleBone, and other platforms. A large set of device drivers (sensors, displays, LED controllers, storage, RTCs) give you batteries-included building blocks for prototypes and production systems. Command-line tools like periph-info help verify wiring, enumerate buses, and inspect capabilities before you ship. The API favors composability and testability, so you can mock buses and pins and keep logic unit-testable even when targeting real hardware.

Features

  • Unified Go interfaces for GPIO, I²C, SPI, UART, PWM, 1-Wire and more
  • Host detection and backend selection for popular SBCs and kernels
  • Growing catalog of sensor and display drivers with examples
  • Zero-daemon, zero-codegen deployment with plain static binaries
  • CLI utilities for board inspection, bus probing, and quick validation
  • Mockable connections for unit tests and CI without hardware attached

Project Samples

Project Activity

See All Activity >

Categories

Libraries

License

Apache License V2.0

Follow Periph

Periph Web Site

Other Useful Business Software
Go From AI Idea to AI App Fast Icon
Go From AI Idea to AI App Fast

One platform to build, fine-tune, and deploy ML models. No MLOps team required.

Access Gemini 3 and 200+ models. Build chatbots, agents, or custom models with built-in monitoring and scaling.
Try Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Periph!

Additional Project Details

Programming Language

Go

Related Categories

Go Libraries

Registered

2025-10-10