embedded-rust

Configure Rust projects for bare-metal embedded development with probe-rs and defmt.

159|20|Updated Feb 20, 2026
One-click install
npx skills add https://github.com/mohitmishra786/low-level-dev-skills --skill embedded-rust
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: embedded-rust
Source: https://github.com/mohitmishra786/low-level-dev-skills/tree/main/skills/embedded/embedded-rust
Command: npx skills add https://github.com/mohitmishra786/low-level-dev-skills --skill embedded-rust

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill simplifies the process of developing bare-metal embedded systems using Rust, covering everything from project setup and flashing to debugging and efficient logging.

Core Features & Use Cases

  • Project Setup: Provides Cargo.toml and .cargo/config.toml configurations for common embedded targets.
  • Flashing & Debugging: Guides users on using probe-rs for deploying and debugging firmware on microcontrollers.
  • Logging: Demonstrates defmt for efficient, low-overhead logging in embedded environments.
  • Concurrency: Introduces the RTIC framework for real-time, interrupt-driven applications.
  • Panic Handling: Explains different strategies for handling panics in no_std environments.

Quick Start

Configure your project for embedded Rust development by adding the necessary dependencies and target triples to your Cargo.toml and .cargo/config.toml files.

Frequently Asked Questions about embedded-rust

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

FAQPage Schema
How do I set up a bare-metal embedded Rust project for a specific microcontroller architecture?

To set up bare-metal embedded Rust, you need to configure your project by adding necessary dependencies and target triples to your Cargo.toml and .cargo/config.toml files for the specific microcontroller architecture. This establishes the foundational build environment for no_std development.

Can I use probe-rs to flash and debug Rust firmware directly on microcontrollers?

Yes, probe-rs can be used to flash and debug Rust firmware directly on microcontrollers. It provides the necessary tooling for deploying binaries to embedded hardware and stepping through code execution during development.

What is the best way to handle logging in a no_std embedded Rust environment?

The best way to handle logging in a no_std embedded Rust environment is using defmt. Defmt provides efficient, low-overhead logging specifically designed for resource-constrained embedded systems, ensuring minimal binary size impact.

How does RTIC handle real-time concurrency in bare-metal Rust firmware?

RTIC handles real-time concurrency in bare-metal Rust firmware by providing a framework for building real-time, interrupt-driven applications. It manages task scheduling and interrupt handling without requiring a traditional operating system.

What strategies exist for handling panics in Rust no_std environments?

Handling panics in Rust no_std environments requires specific panic handling strategies since standard library features are unavailable. The Skill explains various approaches to safely catch and manage panics in bare-metal embedded systems to ensure system stability.

Does this embedded Rust Skill support multiple microcontroller architectures?

Yes, this embedded Rust Skill supports various microcontroller architectures. It provides project configuration guidance and development workflows tailored for bare-metal systems across different hardware targets within no_std environments.