Control a Raspberry Pi's hardware from Ruby. GPIO goes through libgpiod v2 — the Linux GPIO character device (uAPI v2) — rather than the deprecated sysfs interface. PWM is either the hardware peripheral through sysfs or timed in Ruby on any line; I2C and SPI are ioctl calls on /dev/i2c-N and /dev/spidev, needing no libgpiod at all. On top sits a gpiozero-style device layer: LED, Button, Motor, PWMLED, RGBLED, Servo, and drivers for the ADT7410 temperature sensor, ST7032 character LCD and MCP3208 ADC. Bound through the stdlib `fiddle`, which is built with the interpreter and so matches any Pi's architecture, unlike the precompiled `ffi` gem.
Required Ruby Version
>= 3.3
Authors
ITO Yosei
Versions
- 0.1.0 September 29, 2026 (69.5 KB)