embedded-rust
Accessing STM32 AHB-AP with ESP32 and Embedded Rust
Use an ESP32 and Embedded Rust to communicate with an STM32 through SWD. Learn how to power up the debug system, select the AHB Access Port, and verify the connection by reading the AP IDR.
Can You Use ESP32 as SWD Programmer for STM32 with Rust?
Build a simple SWD debug probe with an ESP32 and Rust. Learn how the ARM Serial Wire Debug protocol works, communicate with an STM32 Blue Pill, and read the target’s Debug Port IDCODE.
Display Room Temperature on LCD with Arduino Uno and Rust
Build a temperature sensor with Embedded Rust on the Arduino Uno. Learn how to read an NTC thermistor with the ATmega328P ADC, calculate temperature using the Beta equation, and display the result on a 16x2 I2C LCD.
Make the micro:bit's LED Matrix React to Sound with Rust
Embedded Rust code using Embassy and microbit-bsp to read the micro:bit V2’s built-in microphone and make its onboard LED matrix react to sound.
POWMAN P-State and Low-Power Modes on Raspberry Pi Pico 2 (RP2350) with Rust
Explore the RP2350’s POWMAN P-state and low-power features with Embedded Rust. Learn how to use the AON Timer and RP2350 PAC to put the Pico 2 into a deep low-power state and wake it up.
Can I Use Rust with Arduino Uno? Getting Started with Embedded Rust
Learn how to use Embedded Rust with the Arduino Uno. Get started with Rust on the ATmega328P and discover the tools and libraries needed to build your first Rust program.
UART Communication Between ESP32 and Raspberry Pi Pico in Rust
Learn how to connect a Raspberry Pi Pico to an ESP32 using UART with Embedded Rust. Configure serial communication, wire the boards correctly, and exchange data between the two microcontrollers.
Blinking an LED on STM32 Blue Pill (STM32F103C8T6) with Embedded Rust
Learn how to blink the onboard LED on the STM32 Blue Pill (STM32F103C8T6) using Embedded Rust and the stm32f1xx-hal crate. We also introduce GPIO, the PAC and HAL, and the basics of controlling digital outputs.
Setting Up an Embedded Rust Development Environment
Set up a complete Embedded Rust development environment. Install Rust, configure the ARM Cortex-M target, install probe-rs, and verify your setup before programming embedded microcontrollers.
Analyzing PIO Blink Using Logic Analyzer on Raspberry Pi Pico with Embedded Rust
In this post, we use a logic analyzer to study a GPIO signal generated by a PIO state machine on the RP2040. We derive the timing from instruction cycles and validate it on real hardware with Embedded Rust.
Working with Fixed-Point Numbers in Rust Using the fixed Crate
In this post, we take a quick look at fixed-point numbers and how to use them in Rust. We also briefly explain why they are useful in embedded and other scenarios, with examples using the fixed crate.
Getting started: How to Learn Embedded Rust for Beginners
Want to learn Embedded Rust but not sure where to begin? In this post, I will show you how to get started with Embedded Rust and share tutorials, books, videos, and other useful resources you can learn from.