← edu.uzlin.com Course 1: Computer Science Course 2: Robotics
UZLIN Build Lab, course 2 of 2 ROBOTICS

Robotics: from a blinking LED to a walking robot that sees

A hands-on course in five levels. Students start with safety, electricity and their first program, then build three robots of growing difficulty: a robotic arm, a self-balancing robot and a two-legged walking robot. In the last level they simulate their robot with ROS 2 and give it vision. Students keep the robots they build.

Instructor: Narek Tigranyan, university lecturer in digital manufacturing, robotics and computer science, and Founder/CTO of UZLIN Technologies

Ages
15+
Levels
5
Length
40 weeks
Format
2 sessions a week
Language
MicroPython

01 Course description

Robotics is taught the way engineers learn it: by building. Each level ends with a working robot, and each robot reuses what came before. The arm teaches servos, sensors and wireless control. The balancing robot adds motors, batteries and feedback control. The biped adds mechanics, CAD and kinematics. The final level moves the biped into simulation and adds a camera.

Programming is taught in MicroPython on the Raspberry Pi Pico 2 W, always tied to something that moves, lights up or senses. The final level adds a Raspberry Pi 5 running Linux and ROS 2. No experience is needed to start.

Students keep their robots: each student finishes Level 1 with a robotic arm, Level 2 with a self-balancing robot and Level 3 with a two-legged walking robot. Each level ends with an assessment, and its result decides whether the student continues to the next level.

How this course relates to Course 1: Computer Science

Computer Science teaches the concepts and the code; Robotics is the hands-on engineering. They share the Pico and reinforce each other: a robot built here can become the Computer Science final project. Each course can also be taken on its own.

02 Five levels at a glance

LevelThemeWhat students finish withLength
0FoundationsFirst MicroPython programs on the Pico5 weeks
1Robotic armA 3D printed arm with manual control, record and replay, sensor-triggered pick-and-place and phone control over Wi-Fi10 weeks
2Self-balancing robotA two-wheeled robot that balances, recovers from a push and drives by phone10 weeks
3Two-legged robotA biped that walks forward, turns and stays upright8 weeks
4Simulation, vision and AIThe Level 3 biped modelled in ROS 2 and Gazebo, seeing and moving, with parts tested on the real robot7 weeks

03 What students learn to do

StrandFromTo
Electronicslighting an LED safelypowering motors from a LiPo battery through a driver, with fuses and clean grounding
Sensingreading a buttoncombining a gyroscope and accelerometer into a reliable tilt angle; finding objects with a camera
Controlif/else reactionsPID feedback loops running on a fixed schedule across two processor cores
Mechanicsassembling a printed armdesigning legs in CAD and calculating joint angles with kinematics
Systemsone board on a deska phone-controlled robot and a simulated humanoid connected through ROS 2

04 The levels, lesson by lesson

Every lesson has a basic track (build and code) and an advanced track (more maths, theory and extensions), so beginners and confident students work on the same robot at their own depth. Each lesson is marked by difficulty:

B BeginnerI IntermediateA Advanced, or advanced track only
0

Foundations

5 weeks · 10 sessions

Final robot: First MicroPython programs on the Pico.

Students work safely, understand basic electricity and how a microcontroller works, and run their first MicroPython programs.

LessonTopicKey ideasLevel
0.1Lab safetySoldering, hot tools, 3D printer, batteries, moving robotsB
0.2Electricity basicsVoltage, current, resistance, power, series and parallel, Ohm’s lawB
0.3Tools and schematicsMultimeter, breadboard, reading schematics and datasheetsB
0.4SolderingTechnique and safety; soldering headers onto the PicoB
0.5Computer architectureRP2350 cores, registers, clock, RAM versus flash, pinoutI
0.6Binary and numbersBinary, hex, signed integers, overflow, floating versus fixed pointI
0.7Logic gatesAND, OR, NOT, XOR, truth tables, and/or/not in codeI
0.8Pico setupBOOTSEL, UF2, MicroPython, Thonny, REPL, main.py, Git basicsB
0.9Pico limits and first programs3.3 V pins, current per pin, onboard LED and temperature sensorB
0.10Debugging and testingTracebacks, print logging, testing one part at a timeI

6 beginner, 4 intermediate and 0 advanced lessons.

1

Robotic arm

10 weeks · 20 sessions

Final robot: A 3D printed arm with manual control, record and replay, sensor-triggered pick-and-place and phone control over Wi-Fi.

Each pair builds a servo arm with 3 or 4 joints. Status lights show its mode: green for manual, red for recording, blue for replay.

LessonTopicKey ideasLevel
1.1LEDsDigital output, polarity, choosing a safe resistor with Ohm’s lawB
1.2PWM and RGB LEDsDuty cycle, fading, colour mixing, tones with a buzzerB
1.3Buttons and switchesPull-ups, NO/NC contacts, debouncing, edge detection, limit switchesB
1.4Analog inputVoltage dividers, potentiometers and light sensors, the ADC, scaling to 0–180°B
1.5Servos and motor power50 Hz PWM, pulse width, separate 5 V supply, shared ground, decouplingB
1.6Switching bigger loadsTransistors, MOSFETs, flyback diodes, relays, hardware emergency stopI
1.7Non-blocking codeTime checks, timers, interrupts for buttonsI
1.8State machinesOne button cycles manual, record and replay, with status lightsI
1.93D printingHow FDM printing works, PLA versus PETG, slicing, printer safetyB
1.10Simple CADTinkercad, or Fusion 360 on the advanced track: designing a sensor mountB
1.11Torque and choosing servosLevers, torque at each joint, why the shoulder works hardestI
1.12Building the armJoints, degrees of freedom, assembling the printed armB
1.13Record and replayMovements stored as lists of angles and saved to flashI
1.14Serial communicationUART, baud rate, Pico to laptop, a short overview of network layersB
1.15I2C and the OLED displayBus addresses and scanning; a screen showing the arm’s mode and anglesI
1.16SensingDistance, motion (PIR), light and temperature sensors; the laser distance sensor over I2C; watchdog timer; sensor-triggered pick-and-placeI
1.17Wi-Fi basicsStation and access point mode, IP addresses, DHCPI
1.18Phone controlA web page with sliders, WebSockets on the advanced track, connection-loss failsafeA
1.19IntegrationFinishing builds, fixing wiring, rehearsing the demoB
1.20Final demoStudents present and explain their phone-controlled armB

11 beginner, 8 intermediate and 1 advanced lessons.

Optional extras for the advanced track: Forward kinematics of the arm, MQTT and IoT dashboards, flip-flops.

2

Self-balancing robot

10 weeks · 20 sessions

Final robot: A two-wheeled robot that balances, recovers from a push and drives by phone.

Students move from servos to real motors. The order is power and motors first, then sensing, then timing, then control, so each hard topic builds on the one just before it.

LessonTopicKey ideasLevel
2.1Batteries and safetyLiPo cells, capacity, C rating, charging, storage and fire safetyB
2.2Voltage regulatorsLinear versus switching regulators, heat, efficiencyI
2.3Power budgetsCurrent per motor, stall current, wire and fuse sizingI
2.4DC motorsTorque, speed, back EMF, gear motorsB
2.5H-bridge driversDirection and speed with PWM, the TB6612 driverI
2.6Grounding and noiseStar grounding, motor noise, decoupling, separating logic and motor powerI
2.7Bits and registersBitwise operations, masking, shifting, memory-mapped I/OI
2.8EncodersQuadrature encoders, counting pulses, measuring speedI
2.9The motion sensorReading the MPU6050’s registers: raw acceleration and rotationI
2.10Filtering sensor dataNoise, moving average, low-pass filterI
2.11Measuring tiltAccelerometer and gyro angles, the complementary filterA
2.12Multi-threadingBoth cores: sensing on one, control on the other; locks and ring buffersA
2.13Real-time computingDeadlines, latency, jitter, fixed loop rate, race conditionsA
2.14Feedback controlOpen versus closed loop; P, I and D, first tried on a line-following, obstacle-avoiding robotA
2.15PID tuningMotor speed control, a tuning method, loop timingA
2.16Wireless drivingUDP for fast commands, Bluetooth phone app or gamepadI
2.17Building the robotChassis, mounting the sensor, combining sensor, filter, PID and motorsA
2.18Balance tuningTuning the balance loop, then the speed loop; recovering from a pushA
2.19Live telemetryA live dashboard of tilt and PID values over WebSockets or MQTT, to tune fasterA
2.20Final demoThe robot balances, recovers from a push and drives by phoneB

3 beginner, 9 intermediate and 8 advanced lessons.

Optional extras for the advanced track: PIO state machines for encoders, the Kalman filter, robot-to-robot messaging, MicroPython versus C, sleep modes and memory management.

3

Two-legged robot

8 weeks · 16 sessions

Final robot: A biped that walks forward, turns and stays upright.

Students learn how robot bodies move, design and print their own legs, and build a small walking robot. It reuses earlier work: servo skills from Level 1, and the motion sensor, filter and phone control from Level 2.

LessonTopicKey ideasLevel
3.1Maths refresherTrigonometry, vectors, angles in radiansB
3.2Forces and torque in legsTorque at hip, knee and ankle; sizing servos for a standing robotI
3.3Centre of mass and stabilityThe support polygon, why robots tip overI
3.4Gears and actuatorsGear ratios, backlash, linkages; steppers and brushless motorsI
3.5Forward kinematicsFrom joint angles to foot positionI
3.6Inverse kinematicsFrom foot position to joint angles, reachable spaceA
3.7Matrices and transformsRotation matrices, frames, chaining jointsA
3.8CAD for robot partsFusion 360: parametric design, servo pockets, tolerancesI
3.9Designing a legHip, knee and ankle joints; printing and testingI
3.10Buses and smart servosSPI, comparing protocols, RS-485 and smart servos, CAN bus, DMAI
3.11Static walkingKeeping the centre of mass over the foot, keyframe walkingI
3.12Gait generationSmooth foot paths, interpolation, timing between legsA
3.13Building the bipedAssembling Otto DIY or the students’ own design; wiring, enclosures and reliabilityA
3.14Balance feedbackReusing the motion sensor and filter to correct posture while walkingA
3.15Turning and controlTurning, phone control, final tuningA
3.16Final demoThe biped walks forward, turns and stays uprightA

1 beginner, 8 intermediate and 7 advanced lessons.

Optional extras for the advanced track: Designing a simple robot control board in KiCad.

4

Simulation, vision and AI

7 weeks · 14 sessions

Final robot: The Level 3 biped modelled in ROS 2 and Gazebo, seeing and moving, with parts tested on the real robot.

Students move to Linux and ROS 2, simulate their biped, add vision, and get a first taste of robot learning. Neural networks and reinforcement learning are on the advanced track; the basic track uses that time for colour tracking and polishing the simulation.

LessonTopicKey ideasLevel
4.1Linux and the Raspberry PiRaspberry Pi 5, the terminal, processes and threadsI
4.2ROS 2 basicsNodes, topics, messages, publishers and subscribersI
4.3ROS 2 and microcontrollersConnecting the Pico to ROS 2 through a serial bridgeA
4.4Robot modelsURDF: links and joints describing the bipedA
4.5SimulationGazebo: physics, sensors, testing gaits before the real robotA
4.6Control in simulationJoint controllers, running the Level 3 gait in GazeboA
4.7Cameras and imagesPixels, colour spaces, OpenCV basicsI
4.8Colour trackingThresholding, finding an object’s position in the imageI
4.9Neural network detectionA pretrained object detection model; on-device classification on the Pico (TinyML)A
4.10Vision-guided actionThe robot turns or reaches towards an object it sees; reactive behaviours and testing autonomy safelyA
4.11Robot learningRewards and training a walking policy in simulationA
4.12Sim-to-real and ethicsWhy simulation differs from reality; robot safety, ethics and the futureI
4.13IntegrationConnecting vision, simulation and the real robot; rehearsing the demoA
4.14Final demoThe humanoid model sees and moves in Gazebo, with parts tested on the real robotA

0 beginner, 5 intermediate and 9 advanced lessons.

Optional extras for the advanced track: mapping simple environments.

05 How progress is measured

Each level ends with an assessment: a working demo of the level’s robot that the student can explain, together with their lab work. The result decides whether the student continues to the next level.

ComponentWhat it showsWeight
Lab workLesson-by-lesson building, measuring and coding, recorded in an engineering logbook40%
Final projectThe level’s robot demonstrated live, with an explanation of how it works50%
ParticipationTeamwork, safety habits and helping other students10%

06 Hardware and software

Used inDetail
All levelsRaspberry Pi Pico 2 W, breadboard, components, MicroPython and Thonny
Level 1MG90S servos, a 3D printed arm, distance, light, motion and temperature sensors, a buzzer and a small OLED display
Level 2Gear motors with encoders, TB6612 motor driver, 2S LiPo battery, MPU6050 motion sensor
Level 3Stronger metal-gear servos, 3D printed legs designed in Fusion 360, or the Otto DIY kit
Level 4Raspberry Pi 5 with a camera; ROS 2, Gazebo and OpenCV on Ubuntu Linux
In the labA 3D printer for every robot part, plus an oscilloscope, a spectrum analyser and a network analyser for demonstrations of signals students otherwise can’t see

07 Safety

The first lesson is about safety, and safety rules return whenever new equipment appears: soldering irons, the 3D printer, LiPo batteries and moving robots. Every robot has a hardware emergency stop and a software failsafe that stops it if the connection is lost. Walking robots are tested on a soft mat with a safety string.

Course 2 of 2, UZLIN Build Lab. Lesson order and content may be adjusted for each group.

Raspberry Pi and Raspberry Pi Pico are trademarks of Raspberry Pi Ltd.

UZLIN Build Lab, edu.uzlin.com, info@uzlin.com, +374 41 900 917. © 2018–2026 UZLIN Technologies
← Course 1: Computer Science