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
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
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
Integrate Rust into your existing C codebase or leverage an existing SDK to write a Rust application.Learn more
Write a library or driver once, and use it with a variety of systems, ranging from very small microcontrollers to powerful SBCs.Learn more
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
– Jonathan Pallant, Senior Consultant, Cambridge Consultants
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