Rusty Feather is an experiment with Rust on the Adafruit RP2040 Feather and several Feather and StemmaQT boards.
Make sure you have the latest stable version of Rust installed, along with the right target support.
rustup self update
rustup update stable
rustup target add thumbv6m-none-eabi
Other stuff?
#cargo install cargo-hf2
cargo install elf2uf2-rs --locked
cargo install cargo-binutils
Next, clone the project.
git clone https://github.com/jstevej/rusty-feather.git
Build, check size, convert from elf to hf2, load on RP2040.
cargo build --release
cargo size --release
cargo size --release --bin rusty-feather -- -A
elf2uf2-rs target/thumbv6m-none-eabi/release/rusty-feather rusty-feather.uf2
cp rusty-feather.uf2 /Volumes/RPI-RP2
There are probably a lot of options out there for accessing the USB serially, but the simplest is screen
. First, take a look at ls /dev/tty.*
and figure out which one is the RP2040. Then, run screen /dev/tty.yourRP2040
. Use Ctrl-A Ctrl-D to exit screen
.
Useful tool: cargo tree
and cargo tree -d
(show duplicates).
How to update Cargo.toml
dependencies?
If starting from scratch note the following:
- Red LED
- Neopixel
- USB serial
- CO2 sensor
- E-Ink display
- VOC sensor
- Magnetometers
- Accelerometers
- make runner to automate
elf2uf2-rs
andcp
steps, and/or... - figure out why
cargo hf2 --release
doesn't work - Buttons
- Knobs
- Servo
- SH1107 Display
Distributed under the MIT License. See LICENSE
for more information.