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
rust-embedded avatar

rust-embedded/embedded-hal

0
View on GitHub↗
2,600 stars·269 forks·Rust·Apache-2.0·14 views

Embedded Hal

Embedded-hal is a hardware abstraction layer for embedded microcontrollers that defines common traits allowing peripheral drivers to remain entirely independent of specific hardware platforms. The library provides platform-agnostic interfaces that decouple driver logic from microcontroller architectures, utilizing zero-cost trait abstractions that compile down to direct hardware register manipulations without runtime overhead or memory allocation.

The project features asynchronous execution support and synchronous-to-asynchronous adaptation, enabling non-blocking peripheral operations and cooperative multitasking in resource-constrained environments. It includes shared bus coordination utilities that let multiple device drivers safely share a single communication bus without signal conflicts, alongside specialized communication protocol traits, polling methods, and stream mode management.

Additional capabilities cover byte-oriented stream processing for hardware and virtual connections, custom error handling via associated types, and automated diagnostic message formatting for inspecting system states across custom types.

Features

  • Hardware Abstraction Layers - Serves as a foundational hardware abstraction layer defining common traits for embedded microcontrollers.
  • Bus-Sharing Arbitration - Supplies safe coordination utilities letting multiple device drivers share a communication bus safely.
  • Hardware Drivers - Defines platform-agnostic traits allowing peripheral drivers to remain independent of hardware platforms.
  • Decoupled Driver Architectures - Deploys trait-based generic boundaries that decouple peripheral drivers from specific microcontrollers.
  • Embedded Async Multitasking - Enables non-blocking peripheral operations and cooperative multitasking on resource-constrained microcontrollers.
  • Asynchronous Hardware Interfaces - Runs peripheral operations using modern asynchronous execution models with non-blocking await syntax.
  • Embedded Peripheral Interfacing - Provides a set of platform-agnostic driver interface traits for embedded microcontrollers.
  • Hardware Abstraction Layers - Provides portable driver abstractions that work across different microcontroller platforms without modification.
  • Input-Output Interfaces - Provides custom input and output traits tailored for bare-metal and resource-constrained environments.
  • Synchronous-to-Asynchronous Wrappers - Converts blocking hardware operations into non-blocking asynchronous interfaces for cooperative multitasking.
  • Associated Types - Uses associated types on interface traits to allow custom error definitions without memory allocation.
  • Asynchronous Operation Execution - Executes peripheral and I/O operations asynchronously without blocking the main execution flow.
  • Generalized Error Handling for Custom Types - Implements associated error types on traits enabling custom error handling without dynamic dispatch or allocation.
  • Bare-Metal Runtimes - Handles byte-oriented I/O operations in constrained bare-metal environments without standard libraries.
  • Zero-Allocation Runtime Models - Provides stream and I/O traits that operate entirely without standard libraries or heap allocators.
  • Zero-Cost Abstraction Patterns - Defines zero-overhead interface contracts compiling directly down to hardware register manipulations.
  • Polling Operations - Executes polling-based operations through supplementary modules to check hardware status.
  • Byte Stream Capture - Models byte-oriented communication streams for hardware and virtual connections using reader and writer traits.
  • Synchronous Adaptation Wrappers - Bridges synchronous and asynchronous stream traits to support flexible driver execution modes.
  • Stream Mode Management - Separates blocking read and write operations from availability check traits to handle asynchronous data flow safely.

Star history

Star history chart for rust-embedded/embedded-halStar history chart for rust-embedded/embedded-hal

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 Embedded Hal

These projects share indexed features with Embedded Hal. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • blinker-iot/blinker-pyblinker-iot avatar

    blinker-iot/blinker-py

    4,396View on GitHub↗

    Blinker-py is a Python library and asynchronous hardware interface designed to connect Linux-based single board computers, such as the Raspberry Pi, to a remote IoT cloud platform. It functions as a communication bridge and hardware abstraction layer that enables the remote monitoring and control of physical components. The project provides a TCP socket communication client for bidirectional, real-time data exchange. It maps cloud-side virtual controls to physical GPIO pins, allowing remote interfaces to trigger physical actions on connected hardware through a cloud bridge. The library incor

    Pythonbleblinkerembedded
    View on GitHub↗4,396
  • openmind/om1OpenMind avatar

    OpenMind/OM1

    2,636View on GitHub↗

    OM1 is a multimodal AI agent runtime and orchestration framework designed to connect large language models to physical robot hardware and sensors. It provides an execution environment that processes audio, video, and sensor data to drive autonomous decisions and actions in real-world settings. The system integrates a robotics SLAM and navigation stack with a hardware abstraction layer, allowing high-level AI commands to be translated into low-level motor and actuator instructions. It distinguishes itself by incorporating blockchain-based governance to enforce immutable operational rules and p

    Pythonllmmultiagentrobotics
    View on GitHub↗2,636
  • raspberrypi/pico-examplesraspberrypi avatar

    raspberrypi/pico-examples

    3,835View on GitHub↗

    This project is a reference library of firmware examples and a development framework for creating embedded C applications on the RP2040 microcontroller. It provides a collection of hardware peripheral drivers and foundational patterns for managing system resources in resource-constrained environments. The library features reference implementations for programmable I/O state machines, allowing for the creation of custom hardware-level protocols. It also provides a multicore embedded framework to distribute computational workloads across multiple processor cores using symmetric processing. The

    C
    View on GitHub↗3,835
  • tock/tocktock avatar

    tock/tock

    6,351View on GitHub↗

    Tock is a secure embedded operating system and microcontroller kernel designed to isolate untrusted applications and drivers. It functions as a memory-safe process isolator that uses a combination of hardware memory protection and language-level type safety to execute mutually distrustful applications on bare metal. The system distinguishes itself through a hardware abstraction layer that decouples high-level components from specific microcontroller implementations using standardized traits. It further employs a virtualization layer to allow multiple independent software components to share a

    Rust
    View on GitHub↗6,351
Compare all 30 related projects→

Frequently asked questions

What does rust-embedded/embedded-hal do?

Embedded-hal is a hardware abstraction layer for embedded microcontrollers that defines common traits allowing peripheral drivers to remain entirely independent of specific hardware platforms. The library provides platform-agnostic interfaces that decouple driver logic from microcontroller architectures, utilizing zero-cost trait abstractions that compile down to direct hardware register manipulations without runtime overhead or memory allocation.

What are the main features of rust-embedded/embedded-hal?

The main features of rust-embedded/embedded-hal are: Hardware Abstraction Layers, Bus-Sharing Arbitration, Hardware Drivers, Decoupled Driver Architectures, Embedded Async Multitasking, Asynchronous Hardware Interfaces, Embedded Peripheral Interfacing, Input-Output Interfaces.

Which projects share features with rust-embedded/embedded-hal?

Projects with overlapping indexed features include: blinker-iot/blinker-py — Blinker-py is a Python library and asynchronous hardware interface designed to connect Linux-based single board… tock/tock — Tock is a secure embedded operating system and microcontroller kernel designed to isolate untrusted applications and… raspberrypi/pico-examples — This project is a reference library of firmware examples and a development framework for creating embedded C… openmind/om1 — OM1 is a multimodal AI agent runtime and orchestration framework designed to connect large language models to physical… bodmer/tft_espi — TFT_eSPI is an Arduino TFT display library and anti-aliased graphics engine used to drive displays via SPI or parallel… embassy-rs/embassy — Embassy is an asynchronous framework for microcontrollers that provides a runtime for cooperative multitasking. It…

Curated searches featuring Embedded Hal

Hand-picked collections where Embedded Hal appears.
  • Rust Embedded Microcontroller Frameworks
  • Embedded, IoT and hardware
  • Developer resource directory