HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
rust-embedded
awesome-embedded-rust
Languages & Compilers2018–2025
rust-embedded / awesome-embedded-rust

awesome-embedded-rust

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

16Distinct people
17Mentions
0Explicit recommenders
8.2KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

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

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year17 dated mentions

Observed mentions: 2018-09-19 07:25:22 UTC to 2025-03-09 15:18:12 UTC.

012342018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC303
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC303
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC404
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC202
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC211

What Hacker News says

17 sources
Can the developer or any Rust users comment on using Sonatino with the Rust ESP32-S3 toolchain? Is there an SVD file defining the Sonatino's specialized peripherals so one can use rust2svd to create a Peripheral Access Crate (PAC) specific to the Sonatino? I'm interested in the other ergonomic Rust HAL representations as well. https://github.com/esp-rs/esp-pacs/tree/main/esp32s3 https://github.com/rust-embedded/svd2rust https://github.com/rust-embedded/awesome-embedded-rust?tab=r...
In Show HN: Sonatino – small audio dev board based on ESP32-S3
The overall argument that Rust's use in embedded has a long way to go is fairly accurate. A foundational crate like embedded-hal reached 1.0 only 2 months ago, 8 years after Rust 1.0. On the other hand, this crate reaching 1.0 means the rest of the ecosystem can now mature alongside it. The paper could use a few minor corrections and improvements. For example, they go through thousands of crates in crates.io to give the impression of completeness, but it would have been better to go though a more curated source like https://github.com/rust-embedded/awesome-embedded-rust. It doesn't matter if the quality of random one off crates that someone hacked over a weekend is poor, it does matter if the crates recommended by the community are poor. But I suppose their analysis would look impressive then. The other nit is that they think that the exi
Read the rest
stence of even one instance of unsafe is a problem. This is a mistake that people unfamiliar with Rust make.
In Rust for Embedded Systems: Current state, challenges and open problems
I agree with a sibling comment point that Arduino's main strength is that it simplifies the installation of tooling, not that the code is particularly easy. But, on the code side, I think that embedded-hal is excellent https://docs.rs/embedded-hal/latest/embedded_hal/ Here are the supported boards https://github.com/rust-embedded/awesome-embedded-rust#hal-i... There's a book on rust on esp https://esp-rs.github.io/book/ Here's how to blink a led using esp-idf-hal, targetting espressif https://github.com/esp-rs/esp-idf-hal/blob/master/examples/b... /! Blinks an LED //! //! This assumes that a LED is connected to GPIO4. //! Depending on your target and the board you are using you should change the pin. //! If your board doesn't have on-board LEDs don't forget to add an appropriate resistor. //! use esp_idf_hal::
Read the rest
delay::FreeRtos; use esp_idf_hal::gpio::*; use esp_idf_hal::peripherals::Peripherals; fn main() -> anyhow::Result<()> { esp_idf_sys::link_patches(); let peripherals = Peripherals::take().unwrap(); let mut led = PinDriver::output(peripherals.pins.gpio4)?; loop { led.set_high()?; // we are sleeping here to make sure the watchdog isn't triggered FreeRtos::delay_ms(1000); led.set_low()?; FreeRtos::delay_ms(1000); } }
In Rust on Espressif chips – 2023 Roadmap
Thanks! I knew no Rust at all before starting. Yikes was it frustrating to learn a completely new language. I had to go through the whole rust book, not skipping any basics, in order to get there. I also assigned myself a homework assignment to get used to the concepts. See the other blog post on wyldcard.io/blog Honestly, by the time I got to the finished prototype, I could have just done the whole thing with Javascript. Although intending to use an SDM32F7 for the finished project, it was really convenient to use a raspberry pi for development. Using VS Code, I could program remotely on the pi from my Mac and iterate really quickly. the awesome-embedded-rust[1] repo was very helpful. TBH, embedded rust really feels like it's not ready for hobbysists who aren't embedded experts already. [1] https://github.com/rust-embedded/awesome-embedd
Read the rest
In Show HN: Trading cards made with e-ink displays
I don't think the poor quality code is due to Rust itself. I think manpower is a big part of it. Rust doesn't inherently lead to good quality code, which the article implies. Re code examples - Here's the Rust Awesome Embedded List - a collection of tools (especially hardware support drivesr) - https://github.com/rust-embedded/awesome-embedded-rust Most of them aren't suitable for use in practical projects; they're missing important features like non-blocking operation, low-power modes, DMA etc - these are all things that will come up in embedded projects, but aren't needed for the "hello world" examples they include. Part of this is from attempting to conform to embedded-HAL traits, which support only the broadest feature sets.
In Rust Editors to Replace TextMate 2 – The Agony of Despair
See Tock OS https://www.tockos.org/ for another Rust-based embedded OS with a fairly comparable design to Hubris. The debugging capabilities of Humility make an interesting comparison to what's provided by cargo-embed https://probe.rs/docs/tools/cargo-embed/ and the Knurling Tools https://knurling.ferrous-systems.com/tools/ by Ferrous Systems. Ultimately, the embedded space (including all sorts of low-level, retro, "bare-metal", remote etc. programming) has common needs and it would be convenient to see more widespread cooperation among these projects, improving reliability and avoiding wasteful duplication of work. More resources at https://github.com/rust-embedded/awesome-embedded-rust
In Oxide on My Wrist: Hubris on PineTime was the best worst idea
If you are supporting Windows or Linux, and are supporting the x86 platform, then for me the only reasons to use C++ over Rust are for compatibility with existing code/libraries, or lack of Rust expertise on the team and no time to learn Rust. If you are working in an embedded environment Rust is still very capable, but the tooling for Rust does not seem at the level of the embedded tooling for C and C++. You can still use Rust for embedded, and there are success stories to be found in the links below. [1] https://www.rust-lang.org/what/embedded [2] https://rust-embedded.github.io/book/ [3] https://github.com/rust-embedded/awesome-embedded-rust [4] https://github.com/rust-embedded/cortex-m-quickstart
In Bjarne Stroustrup Weighs in on Distributed Systems, Type Safety and Rust
I'm definitely on super thin ice with C -- C++ is the surer bet. To be fair, there are also people who have been working tirelessly to improve C++ so they're not getting left behind either. I do think eventually it could replace C though -- because rust with `unsafe` blocks still has the possibility of being safer than C. This could be a boon to security critical software, as long as the performance margin isn't too hard. Shops that have found ways to write safe C will likely never move (they don't need to), but new ones might pick rust where they might have picked C otherwise. BTW, the embedded support in rust is really impressive for such a young language: https://github.com/rust-embedded/awesome-embedded-rust
In Programming Language Rankings: January 2019
Probably because of snippets like this one: "the idea of putting "Embedded" on the front page and trying to advertise Rust as a useful embedded language isn't just laughable--it's dangerous. Rust is so far from useful in embedded that people who try to use it will NEVER come back" Embedded is still at its early development stages, just like WASM and just like asynchronous network programming. Still, all those are on the front page. WASM a year ago and wasm todays is a tremendous difference. A year ago, in my opinion, WASM was something for experimentation. Now, a lot of the ecosystem "just works" and is developing really quickly. You can write a working JS library and upload it to NPM without even touching a line of JavaScript code. Async (network) programming in Rust with async/await is promising but still in flux, so the ecosystem hasn'
Read the rest
t settled yet. Still, a lot of systems already use it in production. Embedded in Rust a year ago was mostly a list of blogposts, an early draft of HAL traits and some random register binding crates. You had to use nightly, and your code would frequently break. But in just a few weeks, you'll be able to use Embedded on stable, there is an active ecosystem developing around svd2rust, groups like stm-rs and lpc-rs are forming and a lot of device agnostic drivers have already been written. Combine that with a very promising preview of a new version of the RTFM framework. It's not production ready yet, but I'd estimate it will be within 2 years. See https://github.com/rust-embedded/awesome-embedded-rust for a summary of the ecosystem. The problem with the post above is not that it's written in a strong tone. It's that it's uninformed, generalizing and unfair.
In A new look for rust-lang.org

Showing the 15 most recent of 17 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.