`adafruit-feather-rp2040` logo

`adafruit-feather-rp2040`

Free

Board Support Crate for the [Adafruit Feather RP2040] [![crates.io](https://img.shields.io/crates/v/adafruit-feather-rp2040.svg)](https://crates.io/crates/adafruit-feather-rp2040)

FreeFree tier
Type
Open Source

About `adafruit-feather-rp2040`

The adafruit-feather-rp2040 crate is a Board Support Package (BSP) for the Adafruit Feather RP2040 microcontroller board, part of the rp-hal-boards repository by the rp-rs community. Built on top of rp2040-hal, this crate provides pre-configured pin mappings for the Feather RP2040's hardware layout, enabling Rust developers to write embedded applications without manually setting up pin assignments. The repository includes example programs demonstrating key features like GPIO, I2C, SPI, and more. It is designed for use with the Raspberry Silicon RP2040 chip and follows the same structure as other BSPs in the workspace.

Key Features

Pre-configured pin mappings for Adafruit Feather RP2040
Includes rp2040-hal for high-level drivers
Example programs for common peripherals (GPIO, I2C, SPI, etc.)
Part of the rp-rs/rp-hal-boards workspace
Supports Rust embedded development with no_std

Pros & Cons

Pros
  • Provides out-of-the-box pin setup for the Feather RP2040
  • Well-integrated with the rp-hal ecosystem
  • Actively maintained community project
  • Includes examples to accelerate development
Cons
  • Only supports the Adafruit Feather RP2040 board
  • Requires familiarity with Rust embedded development toolchain
  • Limited to RP2040 microcontroller family

Best For

Embedded software development on Adafruit Feather RP2040Rust-based firmware for IoT devices and prototypingLearning embedded Rust with a real board

FAQ

What is a Board Support Package (BSP)?
A BSP is a Rust crate that provides board-specific configurations, such as pin mappings and peripheral setup, so you can write code that works directly on a particular hardware board without manual configuration.
How do I use this crate?
Add `adafruit-feather-rp2040` as a dependency in your Cargo.toml and ensure you have the `thumbv6m-none-eabi` target installed. Then use the provided APIs to access the board's peripherals.
Can I use this crate with other RP2040 boards?
No, this crate is specific to the Adafruit Feather RP2040. For other boards like the Raspberry Pi Pico, use the corresponding BSP crate (e.g., `rp-pico`).