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.