domain-embedded

Design embedded no_std Rust firmware with heapless structures and interrupt-safe ownership patterns.

1.4k|110|Updated Jan 17, 2026
One-click install
npx skills add https://github.com/actionbook/rust-skills --skill domain-embedded
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: domain-embedded
Source: https://github.com/actionbook/rust-skills/tree/main/skills/domain-embedded
Command: npx skills add https://github.com/actionbook/rust-skills --skill domain-embedded

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill helps developers design and reason about embedded Rust projects that operate under no_std constraints, providing domain-driven guidance to avoid heap usage, ensure interrupt safety, and manage hardware ownership.

Core Features & Use Cases

  • Domain-driven guidance for embedded/no_std Rust, including memory, concurrency, and hardware access patterns.
  • Design recommendations for no-heap, core-only code using static patterns like heapless structures and singleton ownership.
  • Use Case: When building a Cortex-M MCU firmware with RTIC, this skill guides architecture choices, peripheral ownership, and safe interrupt handling.

Quick Start

To begin, explain the no_std constraints of a target MCU, outline an ownership model for a peripheral, and provide a minimal example of a static data structure using heapless.

Frequently Asked Questions about domain-embedded

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design embedded Rust no_std firmware without heap usage?

To design embedded Rust no_std firmware without heap usage, apply static ownership patterns and use heapless data structures. This ensures memory safety for microcontroller projects by avoiding dynamic allocation.

What is the best way to ensure interrupt safety in bare-metal Rust projects?

Ensure interrupt safety in bare-metal Rust projects by applying static ownership patterns and heapless data structures. This prevents data races by avoiding heap allocation and managing peripheral access safely.

How do I manage hardware ownership for a peripheral in RTIC?

Manage hardware ownership for a peripheral in RTIC by outlining a singleton ownership model. This grants exclusive, compile-time-verified access to microcontroller hardware resources without runtime overhead.

Can I use heapless data structures for no-heap embedded Rust design?

Yes, you can use heapless data structures for no-heap embedded Rust design. They provide fixed-size, stack-allocated collections that satisfy no_std constraints and ensure interrupt-safe, static memory patterns.

When do I need no_std constraints for microcontroller firmware?

You need no_std constraints for microcontroller firmware when building bare-metal projects that require interrupt-safe, no-heap patterns. This environment lacks an operating system and standard library support.