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