🌐
Rust
rust-lang.org › what › embedded
Embedded devices - Rust Programming Language
Look under the hood of foundational embedded libraries. Read ... At Sensirion we recently used Rust to create an embedded demonstrator for Sensirion’s Particulate Matter Sensor.
🌐
GitHub
github.com › rust-embedded
Rust Embedded · GitHub
To make embedded systems programming more accessible for people that are not already embedded systems developers. ... Documentation on how to use the Rust Programming Language to develop firmware for bare metal (microcontroller) devices
Discussions

Question: Hardware for easy start in embedded rust
I'd suggest you get some ARM Cortex-M based hardware. STM-32 uC (for example a discovery board http://www.st.com/en/evaluation-tools/stm32f3discovery.html ) are a good start and have good support in the Rust ecosystem. The discovery book ( https://rust-embedded.github.io/discovery/ ) is a good starting poin. More on reddit.com
🌐 r/rust
20
42
March 1, 2019
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
Guidance on the Compatibility of Rust with STM32F3 Microcontroller and Various Sensors/Device
Hello everyone, I'm currently interning at a company where we need to select the appropriate technology and hardware for our project. As a beginner, I'm feeling a bit overwhelmed. I have experience with Rust but not with embedded technology. They have assigned me the task of researching whether ... More on users.rust-lang.org
🌐 users.rust-lang.org
0
0
June 20, 2023
Which hardware to choose for learning embedded Rust?
ESP32-C3 is (kind of) cheap, has an official rust SDKs and the advantage of not needing a separate debug probe (which you do more or less need for the Pi Pico). Also it has WIFI. That being said, I haven't done much more than the equivalent of "Hello world" on mine and so I can't really give an extensive review. More on reddit.com
🌐 r/rust
29
36
July 26, 2024
🌐
GitHub
github.com › rust-embedded › awesome-embedded-rust
GitHub - rust-embedded/awesome-embedded-rust: Curated list of resources for Embedded and Low-level development in the Rust programming language · GitHub
embedded-cli: CLI library with autocompletion, subcommands, options, help and history support. embedded-crc-macros: Macros implementing portable CRC algorithms and build-time lookup table generation. embedded-update: Pluggable firmware update protocol for embedded devices. embedded-tls: A TLS 1.3 implementation that runs in a no-std environment. embedded-websocket: A lightweight server and client websocket library for embedded systems. endian_codec: (En/De)code rust types as packed bytes with specific order (endian).
Starred by 7.8K users
Forked by 467 users
🌐
Medium
murraytodd.medium.com › rust-embedded-frameworks-hardware-and-setup-0ae4084ebf2d
Rust Embedded Frameworks, Hardware, and Setup | by Murray Todd Williams | Medium
September 22, 2024 - Arguably the point of a microcontroller is to interact with the world via electronic devices. We get inputs in the form of sensors and our outputs can be in the form of things that make light or sound or move things via servos. After we do our simple LED example, I’m going to move to two sensor examples, one that gets digital sensor information via the I2C bus, and another that uses an analog pin input to read a value in terms of voltage. My first Rust I2C project worked with an old BMP180 barometric pressure sensor that is not made anymore, but I’ve found an upgraded BMP390 that has a nice feature of having a plug that is compatible with SparkFun Qwiic I2C connectors.
🌐
Rust Embedded
docs.rust-embedded.org › book
Introduction - The Embedded Rust Book
Welcome to The Embedded Rust Book: An introductory book about using the Rust Programming Language on “Bare Metal” embedded systems, such as Microcontrollers.
🌐
Rust-embedded
rust-embedded.org
Rust Embedded Working Group
We do Embedded Rust, defined broadly as Rust for resource-constrained environments and platforms where hardware-level work is critical. Our job is to work with the community to improve the embedded ecosystem, maintain and develop core crates used for Embedded Rust, and coordinate community ...
🌐
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 · It all started in 2022, with me getting annoyed by our C implementation of a small piece of software running on an ESP32 (a microcontroller with built-in internet connectivity). The purpose of the software was to read messages via UART (serial interface/protocol, often used to communicate between embedded devices) and send them to some cloud services via MQTT (messaging protocol, often used to communicate between IoT devices).
🌐
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 - And that's exactly what this crate is. embedded_hal provides traits that can be used to describe all kinds of peripherals and clocks. It enables you to write platform-agnostic drivers, which can run on any CPU Rust supports, and that has the right peripherals available. embedded_hal is the foundation for device-specific hardware abstraction libraries, as we'll see shortly.
Find elsewhere
🌐
Reddit
reddit.com › r/rust › [deleted by user]
[deleted by user] : r/rust
December 24, 2023 - many ESP32, RP2040 and STM32 chips have good rust support. For wifi stuff an ESP32 will likely be the best choice, but IMO it’s worth getting one cheap dev board of each – e.g. a black pill with an STM32411, a pi pico (or two, so you can use the second as a debug probe) and an ESP32 devkit ...
🌐
Opensource.com
opensource.com › article › 21 › 10 › rust-embedded-development
Use Rust for embedded development | Opensource.com
October 25, 2021 - DEVICE = ' -march=armv7-a -marm -msoft-float' CFLAGS = DEVICE + ' -Wall' AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp -D__ASSEMBLY__ -I.' LINK_SCRIPT = 'link.lds' LFLAGS = DEVICE + ' -nostartfiles -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,system_vectors,--allow-multiple-definition'+\ ' -T %s' % LINK_SCRIPT CPATH = '' LPATH = '' Compile and run QEMU to see your work. Rust can be called in C code, but what about calling C in your Rust code?
🌐
Rust Documentation
doc.rust-lang.org › beta › embedded-book › intro › hardware.html
Hardware - The Embedded Rust Book
A single-core ARM Cortex-M4F processor with hardware support for single-precision floating point operations and a maximum clock frequency of 72 MHz.
🌐
Embedded Rust
docs.rust-embedded.org › faq.html
Frequently Asked Questions - Embedded Rust documentation
If your device architecture is there then that means that, in principle, rustc supports your device. However, an architecture like ARM can be very broad covering several ISAs and extensions. Instead, you’ll want to work with a compilation target tailored to your device. Custom compilation targets are out of scope for this document; you should refer to the embedonomicon for more information.
🌐
Reddit
reddit.com › r/rust › question: hardware for easy start in embedded rust
r/rust on Reddit: Question: Hardware for easy start in embedded rust
March 1, 2019 -

One of my latest hobby is doing some simple hardware projects with Arduino. I've been doing it in Arduino IDE with their dialect of C++.

Frankly I find both are painful to use. Arduino IDE is a tiny bit smarter than windows notepad and C/C++ is hard get right due to unsafely.

I'd love to try using rust and use Intellij IDEA for programming my projects. Would be great to be able to to use cargo for managing dependencies, running tests and (ideally) deploying to device.

I tried setting up rust avr, but it's too unstable and I couldn't even get their blink sample project to work due to some llvm bugs.

The question is: what analogous hardware should I consider investing in to use instead of Arduino? What microcontroller family have the best support in rust ecosystem?

🌐
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.
🌐
Rust Programming Language
users.rust-lang.org › embedded
Guidance on the Compatibility of Rust with STM32F3 Microcontroller and Various Sensors/Device - embedded - The Rust Programming Language Forum
June 20, 2023 - They have assigned me the task ... and the STM32F3 microcontroller: Serial Module FTDI Basic MQ-4 Gas Detector AHT20, BMP280, F-28, DS18B20, AM2302, DHT22, AM2303, AHT10, BME280, BMP1......
🌐
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 - Using Rust's delightful type system, embedded-hal has models (Rust developers would call them 'traits') for all kinds of peripherals, in terms of which drivers and HALs can be written. For instance, embedded-hal's model of SPI peripherals allows drivers to be written in terms of what we can expect from SPI peripherals to support.
🌐
Embedded
embedded.com › home › 5 roadblocks to rust adoption in embedded systems
5 roadblocks to Rust adoption in embedded systems - Embedded
June 13, 2023 - The RFCs and the Rust documentation effectively serve as the informal specification of the language. Commercial support for Rust in safety-critical applications and other areas will be nonexistent without a formal language specification. The Rust compiler, known as rustc, is free and open source, but there isn’t a commercial version.
🌐
Bluefruit Software
bluefruit.co.uk › quality › is-rust-ready-for-embedded-software
Is Rust ready for embedded software? - Bluefruit Software
October 18, 2023 - Bringing Rust to the embedded arena relies on LLVM architecture support, which often means it’s not possible for older or more niche microcontrollers. But it’s an ideal candidate for newer, widely supported targets (like those with ARM architecture) provided there is enough library support for the task which the device ...
🌐
Reddit
reddit.com › r/rust › which hardware to choose for learning embedded rust?
r/rust on Reddit: Which hardware to choose for learning embedded Rust?
July 26, 2024 -

Hello my fellow Rustaceans,

I am a beginner in Rust programming and have completed a few common beginner projects. I am looking to dive into embedded systems using Rust and am trying to decide which hardware platform to start with. Specifically, I am considering the Raspberry Pi, STM32 Microcontrollers, and Arduino Boards. Each platform has its own merits, but I'm unsure which one would be the best fit for a beginner in both embedded systems and Rust.

I am considering factors like the ease of getting started with Rust on the platform, the availability of learning resources and community support, the potential for growth and learning advanced concepts, and the practicality and relevance of projects that can be done with each hardware.

Could you please share your experiences and recommendations on which platform would be the best to start with? Any specific models or starter kits would also be greatly appreciated.

Thank you in advance for your help!

🌐
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.