Crate rtic[][src]

Real-Time Interrupt-driven Concurrency (RTIC) framework for ARM Cortex-M microcontrollers

HEADS UP This is an beta pre-release; there may be breaking changes in the API and semantics before a proper release is made.

IMPORTANT: This crate is published as cortex-m-rtic on but the name of the library is rtic.

The user level documentation can be found here.

Don’t forget to check the documentation of the #[app] attribute (listed under the reexports section), which is the main component of the framework.

Minimum Supported Rust Version (MSRV)

This crate is guaranteed to compile on stable Rust 1.36 (2018 edition) and up. It might compile on older versions but that may change in any new patch release.

Semantic Versioning

Like the Rust project, this crate adheres to SemVer: breaking changes in the API and semantics require a semver bump (a new minor version release), with the exception of breaking changes that fix soundness issues – those are considered bug fixes and can be landed in a new patch release.


pub use rtic_monotonic;
pub use rtic_monotonic::embedded_time as time;



Makes locks work on N-tuples, locks the mutexes from left-to-right in the tuple. These are used to reduce rightward drift in code and to help make intentions clearer.



Newtype over &'a mut T that implements the Mutex trait



A monotonic clock / counter definition.


Memory safe access to shared resources



Sets the given interrupt as pending

Attribute Macros


Attribute used to declare a RTIC application