Maker.io main logo

Projects 查看全部

PROJECT
909

Adding Object Detection Vision to the XRP Robot

By ShawnHymel

This guide demonstrates how to add a custom object detection machine learning model to the XRP robot.

PROJECT
1,015

Intro to the Google Coral Dev Board Micro: Custom Object Detection

By ShawnHymel

This tutorial demonstrates how to train and deploy a custom object detection model for the Google Coral Dev Board Micro.

PROJECT
726

Tiny Reinforcement Learning (TinyRL) for Robotics

By ShawnHymel

This project demonstrates using reinforcement learning to solve the swing-up problem on an inverted pendulum

PROJECT
197

Hyperparameter Optimization with Meta Ax

By ShawnHymel

This tutorial demonstrates hyperparameter tuning using Meta's Ax framework for a common reinforcement learning problem

PROJECT
3,694

How to Tune a PID Controller

By ShawnHymel

In this tutorial, we demonstrate how to manually tune a PID controller.

PROJECT
6,344

Introduction to PID Controllers

By ShawnHymel

In this post, we cover the basic theory behind PID controllers. PID stands for “Proportional, Integral, Derivative," and they are commonly used in industrial settings to control various processes.

Blogs

BLOG
492

Digit: A Wearable Companion Bot with AI Voice Interaction

By ShawnHymel

Digit's AI-powered brain enables local real-time voice conversations using Hopper Chat and Llama 3. Learn how to set it up with NVIDIA Jetson Orin Nano.

Tutorials 查看全部

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
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
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.