← All projects
Teaching & Mentoring

Weekly Robotics Workshop Series

Organize and teach weekly hands-on workshops for students on robotics, ROS 2, drones and embedded systems.

Role
Organizer & Instructor
Period
Jan 2025 – Present
Partners
EIU FabLab
Status
Ongoing
STM32EmbeddedROS 2F1TENTHDronesRobotics
Students and robots after a workshop session at the EIU FabLab.
Students and robots after a workshop session at the EIU FabLab.

Overview

Since January 2025, I have been running a weekly workshop series at the EIU FabLab for students who want to get hands-on with robotics. The series is split into workshops, each a multi-session track built around one small robot or platform. Students start from the fundamentals and finish by making that robot work themselves.

Topics so far include embedded programming on STM32, ROS 2, the F1TENTH autonomous racing platform and drones. Recordings of the lectures are shared on YouTube so students can review them at their own pace.

My role

I organize the series. I prepare the lecture content and hands-on exercises, teach the sessions, and help students debug their code and robots during the labs.

Workshops

Select a workshop to see its goal, learning path and lecture recordings.

Workshop 1 — STM32 And Two-Wheeled Self-Balancing Robot

Two-wheeled self-balancing robot with an STM32 controller board
Workshop 01 · Embedded systems & control

Goal: program a two-wheeled self-balancing robot from scratch — from blinking an LED on the STM32 to keeping the robot upright with an IMU-based attitude estimator and an LQR controller.

CSTM32IMU EKFLQR

Watch the lectures

Robot platform

The workshop is built around a small two-wheeled self-balancing robot with a custom STM32 controller board, so every module can be tried directly on real hardware.

Overview of the self-balancing robot: mechanical design, sensing and actuation, electronics and firmware, technical specifications
The robot platform: 3D-printed frame, IMU and encoder motors, STM32L476 board with an ESP32-C3 co-processor; a 200 Hz loop with attitude estimation and LQR.

Learning path

  1. C programming

    The C fundamentals used throughout the workshop.

  2. STM32 peripherals

    Configure and use the microcontroller peripherals that drive the robot's sensors and motors.

    GPIOsExternal Interrupt TimersTimer Interrupt PWMADC SPIDMAUART
  3. IMU calibration

    Calibrate the IMU before its data is used for estimation.

  4. From IMU data to rotation

    Represent the robot's orientation and compute it from each sensor.

    Euler angles & rotation matrices Accelerometer & magnetometer → XYZ Gyroscope → Euler angles Quaternions
  5. Attitude estimation with an EKF

    Fuse the sensor data with an Extended Kalman Filter to estimate the robot's attitude.

  6. LQR control

    Design a Linear–Quadratic Regulator that keeps the robot balanced.

  7. Final goal: a self-balancing robot

    Put everything together and program the two-wheeled self-balancing robot.

In class

Workshop 2 — F1TENTH Autonomous Racing

The 1/10-scale F1TENTH car used in the workshop
Workshop 02 · ROS 2 & autonomous driving

Goal: build the autonomy stack of a 1/10-scale F1TENTH car step by step — from Linux, Python and ROS 2 basics to mapping, localization, path tracking and obstacle avoidance.

UbuntuPythonROS 2 SLAM ToolboxAMCL Pure PursuitRRT*

Watch the lectures

Robot platform

The workshop uses a 1/10-scale F1TENTH car with a 2D LiDAR, a depth camera and an IMU, an NVIDIA Jetson Xavier NX for onboard compute, and a VESC motor controller — all running ROS 2.

Overview of the F1TENTH platform: chassis, sensors, Jetson Xavier NX, ROS 2 software architecture and research topics
The F1TENTH platform: chassis and power board, sensors (Hokuyo UST-10LX, RealSense D435i, BNO055), Jetson Xavier NX, and the ROS 2 perception–planning–control stack.

Learning path

  1. Ubuntu basics

    Working with Linux and the terminal — the environment used for the rest of the workshop.

  2. Python & OOP

    Python and object-oriented programming for writing ROS 2 nodes.

  3. Math review

    The math behind the algorithms in the later modules.

    CalculusLinear Algebra Statistics & Probability
  4. ROS 2 basics

    Core ROS 2 concepts and tools.

    WorkspacePackage NodeTopic ServiceLaunch file ParametersMultithreading Debugging toolsTransforms (TF2)
  5. Automatic Emergency Braking (AEB)

    Stop the car before it hits an obstacle.

  6. Wall following with PID

    Keep the car at a set distance from the wall with a PID controller.

  7. 2D mapping with SLAM Toolbox

    Build a 2D map of the track.

  8. Localization with AMCL

    Localize the car in the 2D map.

  9. Waypoints & Pure Pursuit

    Create waypoints and track them with the Pure Pursuit algorithm.

  10. Obstacle avoidance with RRT & RRT*

    Plan paths around obstacles with sampling-based planners.

  11. Final goal: an autonomous F1TENTH car

    Put mapping, localization, path tracking and obstacle avoidance together on the car.

In class

More workshops

Write-ups for the other topics (e.g. drones) are coming soon.

← All projects