awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
golemparts avatar

golemparts/rppalArchived

0
View on GitHub↗
1,463 stars·128 forks·Rust·MIT·18 views

Rppal

This library provides a collection of low-level abstractions for interacting with hardware peripherals on Raspberry Pi devices using the Rust programming language. It serves as a type-safe interface for controlling physical pins and managing communication with external electronic components and sensors.

The project distinguishes itself through its use of compile-time abstractions that map high-level function calls directly to hardware instructions, ensuring minimal runtime overhead. It provides consistent access to hardware by wrapping kernel-level device interfaces and memory-mapped registers into safe, trait-based abstractions that allow for interchangeable driver implementations.

The library covers a broad range of hardware integration capabilities, including the management of standard serial communication protocols such as I2C, SPI, and UART. It also supports pulse-width modulation and general-purpose input and output pin control, enabling the integration of industrial sensors and the triggering of actuators.

The software is distributed as a crate, providing a structured approach to embedded systems development and hardware interfacing on Linux-based single-board computers.

Features

  • GPIO Libraries - Provides a library for interacting with physical hardware peripherals including GPIO, I2C, PWM, SPI, and UART.
  • Serial Peripheral Interfaces - Facilitates synchronous communication between host systems and peripheral hardware using standard serial protocols.
  • Hardware Peripheral Control - Interacts with physical input and output pins to read sensor data and trigger actuators.
  • Hardware Pin Control - Controls physical pins and electronic components on single-board computers for custom hardware projects.
  • Embedded Systems Development - Builds low-level software for interacting with hardware peripherals like I2C, SPI, and UART.
  • Rust Hardware Interfaces - Provides low-level abstractions for controlling electronic components and sensors directly from Rust.
  • Peripheral Access Crates - Provides type-safe drivers for communicating with external hardware devices through standard protocols.
  • Sensor Integrations - Connects specialized electronic sensors to host systems for real-time data collection and automation.
  • Serial Communication Interfaces - Maintains stable data links with serial devices using UART controllers and adapters.
  • Hardware Abstraction Layers - Provides consistent APIs for platform-independent sensor and component drivers.
  • Pin Interrupt Handlers - Executes callbacks upon hardware pin state changes using kernel-level interrupt signals.
  • Sysfs Interfaces - Wraps kernel-level sysfs device interfaces into safe programming abstractions for consistent hardware access.
  • Physical Register Mapping - Maps physical hardware register addresses into process memory for low-latency register manipulation.
  • Hardware Controller IO - Provides low-level IO operations for hardware communication controllers using standard system file descriptors.
  • Delegate-Based Hardware Abstraction - Defines common interfaces for peripheral communication to allow interchangeable driver implementations.
  • Zero-Cost Abstraction Patterns - Maps high-level function calls to hardware instructions at compile time to eliminate runtime overhead.

Star history

Star history chart for golemparts/rppalStar history chart for golemparts/rppal

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Rppal

These projects share indexed features with Rppal. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • tinygo-org/tinygotinygo-org avatar

    tinygo-org/tinygo

    17,529View on GitHub↗

    TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to resource-constrained microcontrollers and WebAssembly environments. It provides a bare-metal runtime environment that enables high-level code execution without the need for a traditional operating system, utilizing an LLVM-based backend to generate efficient machine instructions. The project distinguishes itself through aggressive optimization techniques tailored for small hardware, including a static memory allocation strategy and whole-program dead code elimination that significantly re

    Goadafruitarduinoarm
    View on GitHub↗17,529
  • hybridgroup/gobothybridgroup avatar

    hybridgroup/gobot

    9,425View on GitHub↗

    Gobot is a robotics framework for the Go programming language designed for developing robotics, drones, and IoT applications. It provides a hardware abstraction layer with standardized drivers to interact with GPIO, I2C, SPI, and PWM interfaces across various single-board computers and microcontrollers. The framework functions as an IoT device orchestrator and BLE device manager, enabling the coordination of multiple sensors, actuators, and Bluetooth Low Energy peripherals. It includes specialized interfaces for drone control, allowing for the management of flight maneuvers and video streams

    Goarduinobeaglebonebeaglebone-black
    View on GitHub↗9,425
  • nasa/fprimenasa avatar

    nasa/fprime

    10,766View on GitHub↗

    F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight software. It provides a modular architecture that decouples software logic from communication interfaces, allowing developers to define system structures through a domain-specific modeling language. This model-based approach enables automated code generation, ensuring consistency across complex system topologies while maintaining strict interface contracts between software modules. The framework distinguishes itself through its integrated build system and ground data operations suite

    C++componentscppembedded
    View on GitHub↗10,766
  • s-matyukevich/raspberry-pi-oss-matyukevich avatar

    s-matyukevich/raspberry-pi-os

    13,854View on GitHub↗

    This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level implementation of kernel engineering, focusing on the fundamental construction of an OS from the hardware level up. The system is distinguished by its comprehensive approach to ARM64 processor control, featuring a red-black tree task scheduler and a hierarchical page table system for virtual memory management. It implements a sophisticated privilege model that handles transitions between kernel and user modes, ensuring process isolation through address space splitting and exception level m

    Carmarmv8assembler
    View on GitHub↗13,854
Compare all 30 related projects→

Frequently asked questions

What does golemparts/rppal do?

This library provides a collection of low-level abstractions for interacting with hardware peripherals on Raspberry Pi devices using the Rust programming language. It serves as a type-safe interface for controlling physical pins and managing communication with external electronic components and sensors.

What are the main features of golemparts/rppal?

The main features of golemparts/rppal are: GPIO Libraries, Serial Peripheral Interfaces, Hardware Peripheral Control, Hardware Pin Control, Embedded Systems Development, Rust Hardware Interfaces, Peripheral Access Crates, Sensor Integrations.

Which projects share features with golemparts/rppal?

Projects with overlapping indexed features include: tinygo-org/tinygo — TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to… hybridgroup/gobot — Gobot is a robotics framework for the Go programming language designed for developing robotics, drones, and IoT… nasa/fprime — F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight… s-matyukevich/raspberry-pi-os — This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level… petoicamp/opencat-quadruped-robot — OpenCat-Quadruped-Robot is a development framework and motion control API for building four-legged robots. It provides… open-smartwatch/open-smartwatch-os — Open-smartwatch-os is an operating system designed for resource-constrained wearable devices. It provides a…

Curated searches featuring Rppal

Hand-picked collections where Rppal appears.
  • Raspberry Pi GPIO Libraries