Introduction - pRustIO Guide

# Introduction

pRustIO is a Command-Line Interface (CLI) tool that makes it easier to develop embedded projects using Rust. It can connects the Rust `cargo` build system with the C/C++ embedded world by automatically linking the Arduino framework to the application.

## Core Concepts

pRustIO has two different build modes, depending on what you need for your project:

- Pure Mode (Default): Works completely inside the Rust system using the `arduino-hal` library. It does not use any extra C or C++ code. This gives you smaller and memory safe applications.
- Hybrid Mode (`--hybrid`): Sets up your project to use the standard Arduino C++ framework. pRustIO creates a hidden PlatformIO workspace, compiles the C/C++ libraries, and allows you to use Arduino functions (like `pinMode` and `digitalWrite`) in your Rust code using the `prustio-arduino` crate.

## Supported Boards

pRustIO supports many popular Arduino and AVR boards. You can see the full list directly from your command line using the tool.

    # Show all supported boards
    prustio boards

    # Search for a specific board (e.g., nano)
    prustio boards nano

Commonly supported boards include the Uno, Nano, Mega 2560, Leonardo, and Micro.