`embassy-mspm0` logo

`embassy-mspm0`

Free

Safe, idiomatic Rust HAL for MSPM0 and MSPS003 microcontrollers

FreeFree tier
Type
Open Source

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.