I use it professionally. We implement a bunch of baremetal software in it, specifically bootloaders and security firmware. My take is that it's mostly been better than C. We can write code with much higher confidence that it's free from the types of bugs that plague C code if you're not careful. When we were crunching through large portions of code individually, integration was very painless, whereas in C the same kind of integration or refactoring work can be a nightmare. That said, the immaturity of the tooling is definitely a pain point. We have to do a lot more work to get tooling equivalent to what we could get from C, specifically in terms of integrating it into our build systems. And there are some dark corners where we're doing unusual things that the language didn't have in mind, and there's no escape hatch within the language yet to express what we want in pure Rust. Specifically this is painful for bootloaders, where the compiler assumes it knows about all code that's going to run on the processor, but in fact it doesn't because we're loading other code. Answer from BigPeteB on reddit.com
🌐
Reddit
reddit.com › r/embedded › is anyone using rust for embedded work ?
r/embedded on Reddit: Is anyone using Rust for embedded work ?
February 9, 2024 -

How are you finding it ? Are you using it on bare metal or with an (RT)OS ? What compiler are you using ? How is it better than C/C++ ?

Thanks

Edit

I'm looking at Rust for the fun of it. I'm just getting into it.

There are some things I like like:

- using {} as a placeholder for a var in a print statement. I don't like println!. Makes me think of Pascal.

- using AND, XOR, etc for bitwise ops.

- directly stating the size and type of the number - i32, u8, etc, instead of char, double, long, etc.

- slicing arrays is nice. Maybe I've been working in Python too much lately.

- I love /// and //! for generating doc right from the code comments.

Haven't used it enough to know what I don't like yet.

🌐
Rust
rust-lang.org › what › embedded
Embedded devices - Rust Programming Language
Thanks to Rust, we can take memory safety for granted, while other benefits of a zero-overhead language with a sophisticated type system help us develop maintainable software. Rust makes our customers happy, as well as our engineers. ... We think it’s really cool that we can use a modern nice language in the embedded space where usually there’s no alternative to C/C++
Discussions

Rust for embedded systems programming
You need to look into it yourself ands see if the libraries you need exist on Rust and are usable in extremely limited embedded stuff with no_std, if that’s what you mean. More on reddit.com
🌐 r/rust
6
21
September 30, 2023
Rust for Embedded Systems: Current state, challenges and open problems
Some of the survey responses highlight one of the biggest hurdles to rust adoption I've experienced though: · Rust has an education problem. People dramatically overestimate the correctness of their [C/C++] code and underestimate the potential severity of failures to meet that expectation. More on news.ycombinator.com
🌐 news.ycombinator.com
152
189
March 6, 2024
Is Rust suitable for embedded development with focus on wireless sensor nodes (and networks)? - Stack Overflow
It all depends on your definition of an "embedded system". ... Rust, like C++, can run on pretty much anything, especially if you're prepared to go no_std. What manufacturer APIs? Do they use FFI or some kind of networking to access? ... You can check out more at Embedded devices, but summarized it's very, very good ... More on stackoverflow.com
🌐 stackoverflow.com
What's the current status and the future of Rust language in embedded systems?

I believe that the barrier to it's current acceptance as a production ready embedded language is tooling.

For example, you want to get a GUI application running on a dev board with an attached LCD. For STM, you open up a suite of tools, pick your options graphically, hit the magic 'generate me' button, and you're up and running writing your domain logic in an hour.

Doing the same in Rust entails tracking down a supported HAL, ensuring that all of the peripherals needed are fully supported, spending a solid day lamenting the state of graphics libraries in Rust, spending a solid day dicking around with FFI interfaces, Spend a solid say explaining to your grandbosses that 'this IS better, we swear... '

When you're at the managerial level, time is money. Promises of memory safety and reliability sound amazing and all, but end of day, they want to ship shit yesterday.

More on reddit.com
🌐 r/embedded
23
22
December 8, 2021
🌐
Tweedegolf
tweedegolf.nl › en › blog › 96 › why-rust-is-a-great-fit-for-embedded-software-2023-update
Why Rust is a great fit for embedded software - 2023 update - Blog - Tweede golf
July 11, 2023 - Modeling is all about semantics, giving meaning to the code we write. And Rust is very good at that. With its extensive and very expressive type system, Rust allows you to embed meaning in your code.
🌐
Quora
quora.com › Are-there-any-downsides-to-using-Rust-instead-of-C-or-C-for-embedded-systems-development
Are there any downsides to using Rust instead of C or C++ for embedded systems development? - Quora
These days lots (most?) of embedded systems have multi-core CPUs, and Rust has facilities to allow you to easily make use of them, and to get it right (e.g. data races are not possible in safe Rust). In C you are on your own with concurrency — good luck and be very freaking careful! With Rust you still get C’s small footprint and fine control over how memory is used.
🌐
Medium
medium.com › @enravishjeni411 › rust-for-embedded-systems-a-beginner-friendly-guide-e8c171cfb359
Rust for Embedded Systems: A Beginner-Friendly Guide 🚀 | by Jenifer@CodingLover | Medium
October 19, 2024 - Safety: Rust helps prevent bugs that can cause your system to crash. Speed: Rust code is fast, just like C/C++. Concurrency: Rust allows multiple tasks to run at the same time safely — super useful in embedded systems.
🌐
ACM Digital Library
dl.acm.org › doi › 10.1145 › 3658644.3690275
Rust for Embedded Systems: Current State and Open Problems | Proceedings of the 2024 on ACM SIGSAC Conference on Computer and Communications Security
December 9, 2024 - Most embedded codebases are developed ... vulnerabilities, Rust, a performant memory-safe systems language, provides an optimal choice for developing embedded software....
🌐
Tweedegolf
tweedegolf.nl › en › blog › 39 › why-rust-is-a-great-fit-for-embedded-software
Why Rust is a great fit for embedded software - Blog - Tweede golf
June 11, 2020 - Now, while Rust is pretty good at guessing which type my variables should be, I have explicitly noted the type of led: gpioe::PE9<Output<PushPull>>. While that might look very scary to you, it actually illustrates what is so nice about the Rust type system in embedded context.
Find elsewhere
🌐
Reddit
reddit.com › r/rust › rust for embedded systems programming
r/rust on Reddit: Rust for embedded systems programming
September 30, 2023 -

Hello, I started learning rust last month and have been loving the uniqueness of it. The guarantees the compiler ensures makes it super nice, and based on the amount of errors the compiler catches, I feel rust would be a good language to learn embedded systems programming.

I am a 3rd year student in college, with a couple years experience in web development and cloud architecture in AWS, having little experience in Embedded Systems. I have finished the Rust Lang book and have began to read the Rust Embedded Discovery book. I want to use the Embedded Systems programming in rust to work with robotics and computer vision.

You might be biased given what subreddit I'm posting this on, but would someone be able to reassure me rust is a good platform to begin in robotics/computer vision over something like python? I lean more towards rust because the robust compiler which I would guess makes debugging much easier which is hard enough in embedded systems programming. Plus rust is cool 😎

Thanks! :)

🌐
Hacker News
news.ycombinator.com › item
Rust for Embedded Systems: Current state, challenges and open problems | Hacker News
March 6, 2024 - Some of the survey responses highlight one of the biggest hurdles to rust adoption I've experienced though: · Rust has an education problem. People dramatically overestimate the correctness of their [C/C++] code and underestimate the potential severity of failures to meet that expectation.
🌐
Embedded
embedded.com › home › embedded rust: where are we today?
Embedded Rust: where are we today? - Embedded
July 31, 2024 - The steep learning curve is steep, and developers might struggle to apply the language constructs to low-level embedded development. However, I think it’s a good idea to learn Rust and know what it offers you. We might not yet see Rust heavily in the embedded software space for several years. Don’t be surprised, though, if Rust makes up 10% or more of embedded systems in a decade.
🌐
Rust Embedded
docs.rust-embedded.org › book
Introduction - The Embedded Rust Book
Welcome to The Embedded Rust Book: ... systems, such as Microcontrollers. Embedded Rust is for everyone who wants to do embedded programming while taking advantage of the higher-level concepts and safety guarantees the Rust language provides....
🌐
Opensource.com
opensource.com › article › 21 › 10 › rust-embedded-development
Use Rust for embedded development | Opensource.com
October 25, 2021 - There are key features you'll hear about Rust, and in this article, Kang demonstrates that many of these features are exactly why Rust also happens to be great for embedded systems.
🌐
Embedded
embedded.com › home › 5 roadblocks to rust adoption in embedded systems
5 roadblocks to Rust adoption in embedded systems - Embedded
June 13, 2023 - Rust’s memory safety capabilities make it an exciting language, but there are some significant roadblocks that will slow adoption in embedded systems.
🌐
Bluefruit Software
bluefruit.co.uk › quality › is-rust-ready-for-embedded-software
Is Rust ready for embedded software? - Bluefruit Software
October 18, 2023 - Rust offers fine-grained control over memory and performance. It can be compiled to work on bare-metal systems by stripping away the standard library. All this means is it’s perfectly usable for real-time applications.
🌐
TrustInSoft
trust-in-soft.com › resources › blogs › rusts-rise-hybrid-code-needs-advanced-analysis
Rust’s Rise in Embedded Systems
December 28, 2025 - Rust is rapidly gaining traction across industries, becoming a go-to choice for embedded systems. When looking at programming language rankings, Rust adoption in embedded systems has increased by 15% in a single year and by 28% over two years ...
🌐
arXiv
arxiv.org › abs › 2311.05063
[2311.05063] Rust for Embedded Systems: Current State, Challenges and Open Problems (Extended Report)
September 5, 2024 - We collected a dataset of 2,836 RUST embedded software spanning various categories and 5 Static Application Security Testing ( SAST) tools. We performed a systematic analysis of our dataset and surveys with 225 developers to investigate our research questions. We found that existing RUST software support is inadequate, SAST tools cannot handle certain features of RUST embedded software, resulting in failures, and the prevalence of advanced types in existing RUST software makes it challenging to engineer interoperable code.
🌐
Lohr Dev
blog.lohr.dev › embedded-rust
Embedded Rust in Production ..? - Michi's Blog - Michael Lohr
October 21, 2024 - "Thanks to its direct access to both hardware and memory, Rust is well suited for embedded systems and bare-metal development." - GitHub
🌐
Promwad
promwad.com › news › rust-embedded-systems
5 Reasons to Use Rust in Embedded Systems for Automotive and Industrial
June 11, 2024 - Still, it combines low-level management ... and many other applications. Rust's popularity and adoption in embedded systems have been evidenced by various sources highlighting its relevance and growth....
Top answer
1 of 3
6

Sure!

You can check out more at Embedded devices, but summarized it's very, very good for embedded development - as a technology. It has better memory safety than the C-family, it's optimized for fast compilation in the current paradigm and it seems to be doing okay with concurrency (okay-er than Embedded C). It also seems to be fairly well-balanced with newer microprocessors, which knowing the hoops some producers are jumping through recently to push out their products on the market - will definitely help you if you run into particularly janky components (which in my experience of budget electronics, you will encounter a lot with clone producers) Besides, you can integrate it with an already existing C codebase so you can add your new code to a priory existing example of an application which does what you want your Rust application to do, then reverse-engineer it. This will be a great help for you if you're starting out now.

Somewhat paradoxically, I would also strongly advise you to wait if you want to start your career in this direction. Rust is absolutely not mature enough for complex projects on an industrial scale. On one hand most producers of chips don't care much for it - so for the moment it's a one-way relationship with small producers. On the other hand, some of my contacts have had some strange bugs while wrapping up and starting testing their prototypes including, but not limited to, unexplained behaviors and even stack overflows due to not-so-great libraries being worked on at an accelerated rate and not being cleaned all the time.

2 of 3
4

Yes, Rust is suitable for communication and encryption protocols as well as intrusion detection systems in resource-constraint environments like sensor nodes in WSNs. Rust has several advantages over C/C++ for these applications, including stronger memory safety guarantees, faster compile times, and better support for concurrency. However, it is still in early stages of development and there are some limitations compared to C/C++, such as a lack of support for certain hardware architectures, operating systems, and manufacturer APIs. With continued development, these limitations are likely to be addressed in the foreseeable future.

🌐
Espressif Developer
developer.espressif.com › blog › rust-embedded-a-development-power-duo
Rust + Embedded: A Development Power Duo · Developer Portal
April 19, 2023 - In other words, Rust guarantees memory safety at compile time through ownership and borrowing system. This is especially important in embedded development where memory/resource limitations can make such bugs more challenging to detect and resolve. Concurrency : Rust provides excellent support ...