Embedded devices

Why Rust?

A microscope

Powerful static analysis

Enforce pin and peripheral configuration at compile time. Guarantee that resources won’t be used by unintended parts of your application.

Learn more
A RAM stick

Flexible memory management

Dynamic memory allocation is optional. Use a global allocator and dynamic data structures. Or leave out the heap altogether and statically allocate everything.

Learn more
Gears

Fearless concurrency

Rust makes it impossible to accidentally share state between threads. Use any concurrency approach you like, and you’ll still get Rust’s strong guarantees.

Learn more
Handshake

Interoperability

Integrate Rust into your existing C codebase or leverage an existing SDK to write a Rust application.

Learn more
Luggage trolley

Portability

Write a library or driver once, and use it with a variety of systems, ranging from very small microcontrollers to powerful SBCs.

Learn more
Shield Logo

Community driven

As part of the Rust open source project, support for embedded systems is driven by a best-in-class open source community, with support from commercial partners.

Learn more

Get started!

DIP-6 package

The discovery book

Learn embedded development from the ground up—using Rust!

Read
TFQP-16 package

The Embedded Rust book

Already familiar with Embedded development? Jump in with Rust and start reaping the benefits.

Read
BGA package

The Embedonomicon

Look under the hood of foundational embedded libraries.

Read

More Documentation

Production use

At Sensirion we recently used Rust to create an embedded demonstrator for Sensirion’s Particulate Matter Sensor. Due to the easy cross-compilation and the availability of many high quality crates on crates.io we quickly ended up with a fast and robust demonstrator.

– Raphael Nestler, Software Engineer, Sensirion

At Airborne Engineering Ltd. we recently used Rust to write an Ethernet bootloader, blethrs, for our in-house data acquisition system. Rust is a promising language and we’re excited to use it for our future projects, embedded and otherwise.

– Dr. Adam Greig, Instrumentation Engineer, Airborne Engineering Ltd.

[Rust] enables us to ship software faster and more correct than we thought possible. 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.

– Marc Brinkmann, CEO, 49nord

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++

– Aleksei Arbuzov, Senior Software Engineer, Terminal Technologies