Tutorials

Austin Yang \(\in\) Illini RoboMaster
[[email protected], https://www.illinirobomaster.com]

Last updated: 2025-10-18

Introduction

Welcome to the Illini RoboMaster tutorial series! This collection of tutorials covers embedded systems programming, robotics, and software development practices specifically tailored for competitive robotics.

Each tutorial is designed to be self-contained but also builds upon concepts from previous tutorials. We recommend following them in order for the best learning experience.

Tutorial List

An introduction to C++ programming concepts through the lens of CAN (Controller Area Network) communication on Linux systems. Covers basic C++ syntax, object-oriented programming, and Linux socket programming for CAN communication.
Beginner Estimated time: 30 minutes Prerequisites: Basic programming knowledge
A comprehensive tutorial on CAN protocol implementation at the hardware level using STM32 microcontrollers. Covers CAN frame structure, hardware abstraction layers, and real-time embedded programming concepts.
Intermediate Estimated time: 1 hour Prerequisites: C++ basics, embedded systems fundamentals
Detailed analysis of motor control code for the DJI M3508 motor. Covers class inheritance, virtual functions, interrupt handling, bit manipulation, and motor control algorithms including PID control.
Intermediate Estimated time: 1 hour Prerequisites: C++ OOP, basic motor communication

Getting Started

Prerequisites

To get the most out of these tutorials, you should have:

Development Environment

For these tutorials, we recommend:

Additional Resources

Documentation

Community


Ready to start? Begin with the C++ Introduction with Linux CAN tutorial to build your foundation!