embedded-hal

A Hardware Abstraction Layer (HAL) for embedded systems (by rust-embedded)

Embedded-hal Alternatives

Similar projects and alternatives to embedded-hal

  1. rust

    Empowering everyone to build reliable and efficient software.

  2. Stream

    Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.

    Stream logo
  3. Killed by Google

    Part guillotine, part graveyard for Google's doomed apps, services, and hardware.

  4. crates.io

    The Rust package registry

  5. wokwi-features

    Wokwi Feature requests & Bug Reports

  6. cross

    “Zero setup” cross compilation and “cross testing” of Rust crates

  7. cxx

    Safe interop between Rust and C++

  8. embassy

    Modern embedded framework, using Rust and async.

  9. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  10. nomicon

    The Dark Arts of Advanced and Unsafe Rust Programming

  11. mrustc

    Alternative rust compiler (re-implementation)

  12. winsafe

    Windows API and GUI in safe, idiomatic Rust.

  13. awesome-embedded-rust

    Curated list of resources for Embedded and Low-level development in the Rust programming language

  14. ulisp

    A version of the Lisp programming language for ATmega-based Arduino boards.

  15. tock

    A secure embedded operating system for microcontrollers

  16. avr-hal

    embedded-hal abstractions for AVR microcontrollers

  17. cppcoro

    A library of C++ coroutine abstractions for the coroutines TS

  18. moddable

    Tools for developers to create truly open IoT products using standard JavaScript on low cost microcontrollers.

  19. nesper

    Program the ESP32 with Nim! Wrappers around ESP-IDF API's.

  20. rust-cpp

    Embed C++ directly inside your rust code!

  21. microzig

    MicroZig is a toolbox for building embedded applications in Zig.

  22. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better embedded-hal alternative or higher similarity.

embedded-hal discussion

Log in or Post with

embedded-hal reviews and mentions

Posts with mentions or reviews of embedded-hal. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-03-09.
  • Online Embedded Rust Simulator
    5 projects | news.ycombinator.com | 9 Mar 2025
    I've been ramping up on the embedded Rust ecosystem over the last few weeks. I'm pretty excited about it partly because it makes this aspect of embedded development much more approachable. On https://crates.io I can usually find a driver for whatever peripheral I want to use in my project. And the driver usually implements the embedded-hal [1] interface, so the more I get familiar with that interface, the easier it becomes to implement any arbitrary peripheral into my project. In the event that there does not already exist a crate for my peripheral, I have an extensive ecosystem [2] of open source driver code that I can refer to in order to figure out how to implement the driver.

    I think this could help with the "dark art of reading datasheets" problem. E.g. last night I was curious about how the driver for a 28BYJ-48 stepper motor would work, so I looked at the code [3] for its driver and got a pretty good sense of what's going on. If I were to now attempt to read the datasheet, a lot of it would now make sense. In other words I think it's too daunting to read a datasheet and then try to implement code. The way to get comfortable with datasheets is to first look at code and then find the relevant parts of the datasheet.

    [1] https://github.com/rust-embedded/embedded-hal

    [2] https://crates.io/keywords/embedded-hal-driver

    [3] https://github.com/MnlPhlp/uln2003

  • Announcing the new async-hal! Featuring embedded IO traits and new interrupt-based executor
    4 projects | /r/rust | 8 Jun 2023
    What is the difference between this and https://github.com/rust-embedded/embedded-hal/tree/master/embedded-hal-async?
  • Introducing async-hal! A hardware abstraction layer for embedded devices with futures
    1 project | /r/rust | 26 May 2023
    Maybe worth mentioning if you (or someone else) hasn't seen it before, the embedded-wg is also working on an async version of the embedded-hal traits, embedded-hal-async.
  • Microsoft is rewriting core Windows libraries in Rust
    6 projects | /r/programming | 29 Apr 2023
    In that case you want to keep most of the unsafe in the HAL crate, and expose an interface as safe as possible. To give you an idea, is it since 2018 that a "generic" DMA safe implementation is in discussion https://github.com/rust-embedded/embedded-hal/issues/37
  • Stop Comparing Rust to Old C++
    10 projects | /r/cpp | 31 Jan 2023
    Does something like embedded hal exist in the C/C++ world? ( https://github.com/rust-embedded/embedded-hal )
  • not entirely new to rust, but very new to rust+arduino,.... eli5 the differences between these projects?
    2 projects | /r/rust | 12 Jan 2023
    worth mentioning also is embedded-hal but my understanding is this has absolutely nothing to do with arduino, so despite being embedded probably not what I want.
  • Google announce secure Rust-based OS for embedded system
    8 projects | /r/embedded | 18 Oct 2022
    The ecosystem is great and growing, It really benefits from a language-standard embedded HAL which makes writing cross-platform drivers a cinch - e.g., you can write a bit-banged MDIO driver and use it on anything that has a timer and a two IO pins, from a Zynq Ultrascale to an arduino. Sure, this is possible in C - but Rust really benefits from a less fragmented ecosystem here.
  • Want to volunteer for your projects
    1 project | /r/learnrust | 14 Jul 2022
    Have you thought about writing/contributing to embedded-hal compatible crates (a sensor module driver for example)? It's always good to contribute to an eco system.
  • STM32F4 Embedded Rust at the HAL: GPIO Button Controlled Blinking
    3 projects | dev.to | 27 Jun 2022
    📝 At the time of writing this post, it came to my attention that there is an additional HAL that targets STM32 device families (the stm32-hal). From what I figure, right now there seem to be two approaches for developing HALs. The first approach is trait driven so to speak where the embedded-hal is used as a foundation. The second approach is more application-driven and provides a high-level API that targets several families of a device. However, this exists only for the stm32 through the stm32-hal. Right now, the first approach is what I found to be more widespread as it covers different microcontrollers and what this post is based on.
  • Why doesn’t V8 fit on my microcontroller?
    9 projects | news.ycombinator.com | 1 Jun 2021
    I can write a library for an OLED device that is driven by an platform agnostic I2C device that will run on any microcontroller that implements the necessary abstractions.

    The `embedded-hal` (https://github.com/rust-embedded/embedded-hal) are these abstractions that allow this to happen

  • A note from our sponsor - SaaSHub
    www.saashub.com | 7 Jul 2025
    SaaSHub helps you find the best software and product alternatives Learn more →

Stats

Basic embedded-hal repo stats
12
2,281
7.4
3 months ago

Sponsored
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io

Did you know that Rust is
the 5th most popular programming language
based on number of references?