Maker.io main logo
TUTORIAL
560

Intro to Embedded Rust Part 1: What is Rust?

By ShawnHymel

In this tutorial, we look at the history of Rust, its advantages and disadvantages, and show how to create a basic "Hello, World!" application.

TUTORIAL
63

Intro to Embedded Rust Part 6: Generics and Traits

By ShawnHymel

Generics and traits are two of Rust's most powerful features for writing flexible, reusable code without sacrificing type safety or performance. We’ll examine both generics and traits in this tutorial.

TUTORIAL
125

Intro to Embedded Rust Part 5: Reading from an I2C Temperature Sensor

By ShawnHymel

In this tutorial, we'll explore how to communicate with external digital devices using Inter-Integrated Circuit (I2C), one of the most popular communication protocols in embedded systems.

TUTORIAL

Intro to Embedded Rust Part 10: Interrupts

By ShawnHymel

In this tutorial, we'll explore how to configure and handle timer interrupts on the Raspberry Pi Pico 2, creating a blinking LED program where the processor spends most of its time sleeping while hardware interrupts handle all the timing.

TUTORIAL
37

Intro to Embedded Rust Part 9: Test-Driven Development

By ShawnHymel

In this tutorial, we'll explore how to apply TDD principles to embedded Rust by writing unit tests for our TMP102 driver library.

TUTORIAL
51

Intro to Embedded Rust Part 8: Lifetimes and Lifetime Annotations

By ShawnHymel

In this tutorial, we’ll discuss the concept of lifetimes and demonstrate a few ways in which you can help the compiler (and borrow checker) understand your intentions with references by using lifetime annotations.

TUTORIAL
174

Intro to Embedded Rust Part 3: USB Serial Logging and Debugging

By ShawnHymel

In this tutorial, we'll expand our blinking LED project to add USB serial communication, enabling us to send debug messages from our Raspberry Pi Pico 2 to a computer.

TUTORIAL
62

Intro to Embedded Rust Part 7: Creating a TMP102 Driver Library and Crat

By ShawnHymel

In this tutorial, we'll learn how to create a reusable library (crate) in Rust by extracting our TMP102 sensor code into a separate package that can be shared across multiple projects.

TUTORIAL
1,685

Intro to ROS Part 1: What is the Robot Operating System (ROS)?

By ShawnHymel

In this post, we’ll introduce ROS. We’ll focus specifically on ROS 2, which is the current and actively developed version of the framework. Whether you're new to robotics or looking to understand the tools powering today’s most advanced robots, this is the place to start.