`embassy-mspm0`
FreeSafe, idiomatic Rust HAL for MSPM0 and MSPS003 microcontrollers
FreeFree tier
About `embassy-mspm0`
The embassy-mspm0 HAL is a Rust hardware abstraction layer for all MSPM0 and MSPS003 chips from Texas Instruments. It provides safe, idiomatic APIs for embedded development and implements the embedded-hal (1.0), embedded-hal-async, embedded-io, and embedded-io-async traits. The HAL is designed to run on any executor and uses feature flags based on chip nomenclature (excluding temperature rating and distribution format) to target specific microcontrollers. It is part of the Embassy embedded async ecosystem and requires Rust and appropriate toolchains.
Key Features
Provides safe, idiomatic Rust API for MSPM0 and MSPS003 chips
Implements embedded-hal 1.0 and embedded-hal-async traits
Implements embedded-io and embedded-io-async traits
Runs on any executor
Uses feature flags for chip selection (e.g., mspm0g3507pm)
Part of the Embassy async embedded ecosystem
Pros & Cons
Pros
- Safe and idiomatic Rust bindings reduce memory errors
- Async support enables efficient concurrent embedded tasks
- Compatible with any executor, flexible runtime integration
- Well-documented with chip-specific docs at docs.embassy.dev
- Part of a mature, active ecosystem (Embassy)
Cons
- Limited to MSPM0 and MSPS003 family of microcontrollers
- Requires Rust toolchain and familiarity with embedded-hal concepts
- Feature flag naming requires referring to datasheet nomenclature
- Relatively new compared to more established HALs (C-based)
Best For
Developing embedded firmware for Texas Instruments MSPM0 and MSPS003 microcontrollersBuilding async Rust applications on MSPM0 platformsLeveraging embedded-hal compatible drivers and peripheralsCreating cross-platform embedded projects using Embassy ecosystem
FAQ
What chips does embassy-mspm0 support?
It supports all MSPM0 and MSPS003 chips, with feature flags based on MCU platform, product family, device subfamily, flash memory, and package type.
Does embassy-mspm0 work with any executor?
Yes, the crate can run on any executor, providing interoperability with various async runtimes.
What traits does embassy-mspm0 implement?
It implements embedded-hal (1.0), embedded-hal-async, embedded-io, and embedded-io-async traits.