Thoughts on Panicking


As part of some work in collaboration with Open Device Partnership and Tweede golf, a question came up about how to think about panics in Embedded Rust code, and how different projects/ecosystems handle panicking.

This is a somewhat common question to answer in embedded systems, particularly when deciding what kinds of failures you intend your system to be robust against, and what strategies to employ when something inevitably goes wrong.

Like many systemic decisions, there are a lot of potential right answers, as well as a lot of wrong answers, and fairly often folks don't always explicitly plan for or against any particular scenario. The following discussion is aimed at helping folks early in the design process to consider what kind of system they would or would not like to build.

...read more

Embedded Rust in Production 2025


I'll be appearing on Memfault's Interrupt Live on Thursday (Apr 10th, 2025), and one of the questions that I want to answer is:

Where is Rust being used on production embedded devices today?

This is a question I get asked often, so I wanted to put together a list of projects I am aware of, cited as best as I can, so that I (or others presenting on the topic) can reuse it. This list includes both embedded linux as well as bare-metal/RTOS usage of Rust, as it is not always clear to separate from public information where it used.

This is certainly not an exhaustive list, just public examples I was able to cite, or information that was sent to me with the approval to publish.

If there's something you want me to add, or something I got wrong, send me an email!

...read more

A Rustacean's Guide to Embedded World 2025


Embedded World is a trade show for the development of Embedded Systems, located in Nuremberg Germany. This year, the show runs March 11th to March 13th.

Rust has showcased at Embedded World for the past few years, and the list of companies offering services in Rust continues to grow.

OneVariable GmbH will be presenting this year, and we put together a list of all the booths featuring services or support for Rust, to make sure we can visit them all while we're there.

Come say hello to all of the companies listed here, and support all the folks showcasing Rust at Embedded World 2025! Don't forget to ask your favorite silicon and tool vendors what their plans are for supporting Rust!

...read more

Postcard 2.0: Looking for Sponsors!


Quoting from the README:

Postcard is a #![no_std] focused serializer and deserializer for Serde. Postcard aims to be convenient for developers in constrained environments, while allowing for flexibility to customize behavior as needed.

Postcard released the first stable version, 1.0, in mid-2022. We are now working on a 2.0 release, and are looking for sponsors to make this work possible. If your company uses postcard, and would like to sponsor a portion of this effort, please send us an email!

Postcard is widely used in the embedded Rust ecosystem, but also in projects like ICU4X, bevy, and wasmtime, to efficiently encode and decode data.

Read on for more details about the 2.0 release and the future of postcard.

...read more

Thoughts on SPI flash and filesystems


I've been idly thinking about writing a simple (Q)SPI flash oriented filesystem lately. I think this is an interesting niche, the two file systems I am aware of in this space are:

To be clear, a general purpose file system is not anything I've designed before! I've designed simpler "slot based" or "log ring" filesystems, usually treating the whole flash as a ring buffer (for wear leveling), and overwriting the oldest data. This is much more similar to something like the sequential-storage crate by Dion Dokter from TweedeGolf.

...read more
Next > >