Programming the Raspberry Pi Pico with Rust
A guide for getting projects done with the Raspberry Pi Pico using Rust
This page is an Index
When programming for microcontrollers, there are (often frustrating) limitations that are not present when programming for platforms with operating systems. This page is an index of posts that tackle the theory of microcontroller programming and gives examples of how to do those things on the Raspberry Pi Pico, using Rust.
I made this post on day 1 of my journey with Rust and the Pico
Quick Start
Preparing a computer for programming with Rust, connecting to the Raspberry Pi Pico, and how to blink an onboard LED.
Controlling Digital Outputs
How to configure GPIO pins on the Raspberry Pi Pico to function as digital outputs using Rust.
Handling Inputs
Configure pins on the Raspberry Pi Pico to handle incoming signals from devices in the field, specifically button presses in this instance.
Understanding GPIO
What is GPIO? What kinds of GPIO can the Raspberry Pi Pico handle? And How to use these GPIO respectively in a given project? High-level answers with code provided here.
PWM Outputs
Set up instructions for creating PWM outputs on the Raspberry Pi Pico.
LCD Menu Pt.1
Hardware configuration for SSD1306 LCD Menu with Raspberry Pi Pico.
LCD Menu Pt.2
Unit testing for embedded systems wasn’t something I was able to easily figure out. Here is my trick to getting those setup. I highly recommend learning this so that debugging steps can be done on your dev machine!
Using the HW-390 with the Raspberry Pi Pico
Description of the sensor, useful links, and some ideas for how to program your system to more simply integrate with this sensor, and others like it.
LCD Menu Pt.3
Designing A Control Structure for an LCD Menu for a Raspberry Pi Pico Project is a surprisingly challenging task. Follow along in this post for a bit of insight into considerations for menu navigation and UI control of an application.
Understanding ADC
How to implement a field device that provides feedback to the Raspberry Pi Pico via ADC pins.
Automation of Decision Making in Plain Terms
A practical application where decision making logic must be done to update application state and thus, outputs. This post shows a way to make code readable, and maintainable by focusing on clean abstraction.
Updating Application State from IO Devices
Description of the sensor, useful links, and some ideas for how to program your system to more simply integrate with this sensor, and others like it.
Don’t forget about the search utility!
I’ve covered non-embedded programming with Rust on My Blog as well and searching might find what you need!