Maker.io main logo
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
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
351

Intro to Embedded Rust Part 2: Blinking an LED

By ShawnHymel

This guide walks you through the process of blinking an LED with embedded Rust on a Raspberry Pi Pico 2 (RP2350).

TUTORIAL
1,167

Introduction to Zephyr Part 12: How to Create a Custom Board Definition

By ShawnHymel

Want to run Zephyr on custom hardware? Learn how to create a custom board definition, configure peripherals, and build a sample application.

TUTORIAL
843

Introduction to Zephyr Part 11: WiFi and IoT

By ShawnHymel

This tutorial provides a practical example of using Zephyr’s networking APIs for WiFi and HTTP operations with an ESP32-S3.

TUTORIAL
1,375

Introduction to Zephyr Part 10: Graphics with LVGL and Display Drivers

By ShawnHymel

Discover how to configure ST7735R with Zephyr and build functional GUIs using the lightweight and versatile LVGL graphics library.

TUTORIAL
1,287

Introduction to Zephyr Part 9: Interrupts and Workqueues

By ShawnHymel

Discover how to implement GPIO interrupts and workqueues in Zephyr to build robust and responsive embedded systems.

TUTORIAL
919

Introduction to Zephyr Part 8: Multithreading

By ShawnHymel

Learn how to control GPIO pins independently by implementing multithreading in Zephyr RTOS to manage concurrent tasks on an ESP32-S3.

TUTORIAL
1,645

Introduction to Zephyr Part 7: Debugging with OpenOCD and GDB

By ShawnHymel

Learn how to debug ESP32 with OpenOCD and GDB in Zephyr RTOS, from hardware connections to step-by-step code execution.

TUTORIAL
1,319

Introduction to Zephyr Part 6: Device Driver Development

By ShawnHymel

Learn how to create a custom device driver in Zephyr, connect pushbuttons to an ESP32, and build flexible hardware interactions using Devicetree bindings.

TUTORIAL
1,321

Introduction to Zephyr Part 5: Devicetree Bindings

By ShawnHymel

Understand the role of Devicetree bindings in Zephyr and how bindings connect Devicetree descriptions to driver code with an example ADC project on the ESP32-S3.

TUTORIAL
2,015

Introduction to Zephyr Part 4: Devicetree Tutorial

By ShawnHymel

Discover how to abstract hardware with Devicetree, creating adaptable applications for various boards.