kevinferron.comKevin Ferron

How developers learn robotics

Most of the work a developer meets in robotics is software with a physical deadline. Two on-ramps, one for software developers and one for embedded developers, meet in a shared core of frames, kinematics, control, ROS 2, simulation, perception, navigation, manipulation and learned policies, and end at a real open-source humanoid you can take apart in your browser.

The learning map

Track ASoftware developersTrack BEmbedded developersone shared core1Frames and transformsWrite a tf2 broadcaster and listeneropen →2Kinematics2-link arm IK in about 40 lines of Pythonopen →3Dynamics and controlTune a PID on a simulated pendulumopen →B can skim this4ROS 2: the graphturtlesim, then a Python publisher and subscribercomingA can skim this5SimulationClose a PD loop on a Menagerie arm in MuJoCocoming6PerceptionCalibrate a camera and detect an AprilTagcoming7Localisation and navigationBuild a map with SLAM, navigate with Nav2coming8Manipulation and planningMoveIt 2 Getting Started, then pick and placecoming9Learning-based controlRecord episodes on an SO-101 and train ACTcoming★Asimov 1, end to endBuild, understand and test it in the workshopa real humanoid, in your browseropen →

Each stage shows its first exercise. Choose a track to dim the stages it can skim: it already has the background. Stages marked “open” are built; the rest are coming.

Robotics looks like a hardware field, but most of the work a developer meets is software with a physical deadline: a loop that reads sensors, decides and commands motors many times a second, in a world that pushes back.

If you write web or backend code, you already know graphs of processes passing messages. You need the maths of frames, a feel for feedback control and a simulator. If you write firmware, you already own the real-time loop and the motor driver. You need the layers above it: ROS 2, transforms, perception and planning.

Both tracks meet in one shared core and end in the same place, a real open-source humanoid you can watch walk in your browser.

Each stage is a page with a live diagram, a short sourced explanation and an exercise. The stages marked coming are not built yet. The sources are linked at the bottom, and every figure on these pages is attributed to one.

Two on-ramps

Track A

Software developers

Web, backend or data code; no hardware background.

You already have
Python or TypeScript, Git, the Linux shell, async code and message passing, debugging. A ROS 2 system is a graph of services, which you already think in.
You are missing
Frames and rotations; the idea that a loop has a deadline; feedback control; electrical basics (power, motors, encoders, serial buses); and the fact that the simulator and the real robot disagree.
Skip or skim
Writing your own middleware, low-level motor firmware, and soldering beyond what the first kit needs.
First project (simulation, free)
Simulation only, and free: turtlesim through the ROS 2 beginner tutorials (nodes, topics, services), then a 2-link arm in MuJoCo from Python, then a PID loop on one joint.
First hardware
When you are ready: an SO-101 arm with LeRobot. Assemble it, calibrate it, teleoperate leader to follower and record episodes. It teaches serial buses, IDs, baud rates and calibration without a soldering iron: the guide has you set each servo’s ID and baud rate over USB.

Track B

Embedded developers

Firmware, RTOS and motor-driver code moving up the stack.

You already have
C or C++, an RTOS, interrupts, timers, PWM, UART, SPI, I2C and CAN, motor drivers, real-time thinking and an oscilloscope.
You are missing
The ROS 2 graph and its tooling; frames and tf2; URDF; perception (cameras, depth, point clouds); planners (Nav2, MoveIt 2); simulation as a first-class test bench; learned policies.
Skip or skim
What PWM or a motor is, and the real-time-loop basics in the control stage: go straight to tuning and model-predictive control.
First project
micro-ROS on a board you own. The supported list includes ESP32 (FreeRTOS), the Raspberry Pi Pico RP2040, Teensy 4.x, the Renesas EK RA6M5 and STM32 boards under Zephyr, FreeRTOS or NuttX. Start with the Linux-only first application, which needs no microcontroller, then the RTOS one. Publish an encoder count as a topic and view it on a desktop ROS 2 machine.
Second project
Second project: wrap your motor driver as a ros2_control hardware interface, using ros2_control_demos as the template.

The stages

  1. Stage 1Open

    Frames and transforms

    Points versus frames, homogeneous transforms, rotations, composing and inverting, and the standard frames a mobile robot keeps.

    First exercise: Write a tf2 broadcaster and listener

  2. Stage 2Open

    Kinematics

    Forward and inverse kinematics, Jacobians, singularities and statics, closed chains and parallel mechanisms.

    First exercise: 2-link arm IK in about 40 lines of Python

  3. Stage 3Open

    Dynamics and control

    PD and PID, windup and derivative noise, gravity compensation and feed-forward, then LQR and model-predictive control.

    First exercise: Tune a PID on a simulated pendulum

  4. Stage 4Coming

    ROS 2: the graph

    Nodes, topics, services, actions, parameters, launch files, QoS and bags; tf2, URDF and the ros2_control controller manager.

    First exercise: turtlesim, then a Python publisher and subscriber

  5. Stage 5Coming

    Simulation

    What a physics engine approximates, model formats, headless runs and simulation as CI; Gazebo, MuJoCo and Isaac Lab.

    First exercise: Close a PD loop on a Menagerie arm in MuJoCo

  6. Stage 6Coming

    Perception

    Camera models and calibration, fiducials, depth cameras and lidar, sensor fusion basics.

    First exercise: Calibrate a camera and detect an AprilTag

  7. Stage 7Coming

    Localisation and navigation

    Bayes, Kalman and particle filters, SLAM, costmaps, global and local planning, behaviour trees.

    First exercise: Build a map with SLAM, navigate with Nav2

  8. Stage 8Coming

    Manipulation and planning

    Configuration space, sampling planners, collision checking, trajectory generation and grasping.

    First exercise: MoveIt 2 Getting Started, then pick and place

  9. Stage 9Coming

    Learning-based control

    Imitation learning and action-chunking transformers, reinforcement learning, domain randomisation and sim-to-sim checks.

    First exercise: Record episodes on an SO-101 and train ACT

  10. CapstoneOpen

    Asimov 1, end to end

    A real open-source humanoid you can take apart and watch walk in your browser, with its numbers and its documented gaps.

    First exercise: Build, understand and test it in the workshop

The hardware ladder

Start with nothing but simulators. Each rung up teaches something the last could not. Prices are as of the date shown and from the page each cites.

Nothing: simulators only
free

free

Everything in simulation

MuJoCo, Gazebo and the Asimov workshop in a browser cover every core stage except wiring.

Raspberry Pi Pico family

Pico from $4 · Pico 2 from $5 · Pico W $6

Firmware and micro-ROS

Track B’s first micro-ROS project; the RP2040 Pico is on the supported list.

Arduino UNO Rev3

€29.30 incl. VAT

Firmware and micro-ROS

PWM, servos and serial. Not one of micro-ROS’s officially supported boards. A euro price, plotted at its face value rather than converted.

SO-101 arm, parts you source yourself

one follower $121.94 · leader and follower $229.88

Kinematics and imitation learning

Kinematics, calibration and imitation learning. You print the parts. Bill-of-materials totals. The page says prices vary by region and is undated.

SO-ARM101 Pro servo kit

kit $277.99

Kinematics and imitation learning

The same arm with less sourcing. The kit has no printed parts and no camera. Plus $29.90 for the printed parts.

Raspberry Pi 5, 16 GB

16 GB $305

On-robot ROS 2 compute

Compute to run ROS 2 on the robot itself. Only the 16 GB variant is priced on the page.

TurtleBot 4 Lite

$1,754 at RobotShop

SLAM, Nav2 and perception

A Create 3 base, Raspberry Pi 4, 2D lidar and an OAK-D-Lite camera: SLAM, Nav2 and perception. In stock on the date read.

Unitree G1 humanoid

US$13.5K

Whole-body control and RL deployment

Base model; an EDU version is on request.

Menlo Asimov 1 humanoid

$499 deposit

Whole-body control and RL deployment

The capstone on real hardware. A deposit, not a price: the full price is not stated.

  • Everything in simulation
  • Firmware and micro-ROS
  • Kinematics and imitation learning
  • On-robot ROS 2 compute
  • SLAM, Nav2 and perception
  • Whole-body control and RL deployment
  • not a plain dollar price (euros, or a deposit)

Log scale: each gridline is ten times the one before. Prices as of 2026-10-22, from the page each cites, before tax, shipping and tariffs unless noted. They change: check before you buy.

Sources

  1. ROS 2: turtlesim Setting up Turtlesim, how-to (ROS 2 Lyrical documentation). lyrical branch df1973e, read from the docs repository; page opened in a browser 2026-10-22.

    • Beginner tutorial: turtlesim
    • Setting up Turtlesim
  2. ROS 2: topics Learning about topics, tutorial (ROS 2 Lyrical documentation). lyrical branch df1973e, read from the docs repository; page opened in a browser 2026-10-22.

    • Beginner tutorial: topics
  3. MuJoCo Python MuJoCo Python bindings. read 2026-10-22.

    • MuJoCo from Python
    • Python bindings
  4. LeRobot: SO-101 LeRobot SO-101 guide (Hugging Face). read 2026-10-22.

    • Assembly, servo IDs and baud rate, calibration, teleoperation
  5. LeRobot: imitation learning Imitation learning on real-world robots (Hugging Face). read 2026-10-22.

    • Recording episodes
    • Imitation learning on real-world robots
  6. micro-ROS hardware micro-ROS supported hardware (Apache-2.0). read 2026-10-22.

    • Officially supported boards and RTOSes
    • Raspberry Pi Pico RP2040 on the supported list
  7. micro-ROS first app (Linux) First micro-ROS application on Linux. read 2026-10-22.

    • First application on Linux
  8. micro-ROS first app (RTOS) First micro-ROS application on an RTOS. read 2026-10-22.

    • First application on an RTOS
  9. ros2_control ros2_control getting started (Apache-2.0). read 2026-10-22.

    • Hardware interfaces and the controller manager
  10. ros2_control_demos ros2_control_demos (Apache-2.0). read 2026-10-22.

    • Demos used as a template
  11. REP 105 Coordinate Frames for Mobile Platforms. ros-infrastructure/rep commit 11ca24a, read 2026-10-22.

    • map, odom and base_link and what each promises
  12. Modern Robotics Modern Robotics: Mechanics, Planning, and Control (K. M. Lynch, F. C. Park; Cambridge University Press). 2017; updated first edition Dec 2019; free preprint PDF, print paid; read 2026-10-22.

    • Chapters 4 to 7
  13. Underactuated Robotics Underactuated Robotics, course notes (R. Tedrake, MIT). free online, © 2024; read 2026-10-22.

    • Pendulum, cart-pole and LQR chapters
  14. AprilTag AprilTag (AprilRobotics). read 2026-10-22.

    • AprilTag repository
  15. Nav2: getting started Nav2 documentation, Getting Started. read 2026-10-22.

    • Getting Started
  16. MoveIt 2: getting started MoveIt 2 documentation, Getting Started (BSD-3-Clause). read 2026-10-22.

    • Getting Started
  17. Asimov Workshop (live) The live workshop: BUILD, UNDERSTAND, TEST and WATCH. read 2026-10-22; it could move.

    • The live workshop
  18. MuJoCo MuJoCo (Apache-2.0). read 2026-10-22.

    • MuJoCo is Apache-2.0
  19. Gazebo with ROS Gazebo: installing with ROS (which Gazebo pairs with which ROS 2 release). read 2026-10-22.

    • Gazebo with ROS 2
  20. Asimov Workshop README Asimov Workshop, an independent browser teaching app about Menlo Research’s Asimov 1 (S. Stein; MIT). commit aa8e6f4, read 2026-10-22.

    • The workshop runs in a browser and is free
  21. Raspberry Pi Pico Raspberry Pi Pico family. price read 2026-10-22.

    • Pico from $4, Pico W $6, Pico 2 from $5
  22. Arduino UNO Rev3 Arduino UNO Rev3 (Arduino store, euros including VAT). price read 2026-10-22.

    • €29.30 including VAT
  23. SO-ARM100/101 SO-ARM100/101 repository and bill of materials (Apache-2.0); prices vary by region, page undated. read 2026-10-22.

    • Bill-of-materials totals for a follower and for a leader plus follower
  24. Seeed SO-ARM101 Pro SO-ARM101 Pro servo motor kit (Seeed Studio). price read 2026-10-22.

    • Servo motor kit $277.99; printed parts $29.90
  25. Raspberry Pi 5 Raspberry Pi 5. price read 2026-10-22.

    • 16 GB variant $305; other variants unpriced on the page
  26. TurtleBot 4 Lite Clearpath TurtleBot 4 Lite at RobotShop. price read 2026-10-22.

    • $1,754 at RobotShop, in stock; contents of the kit
  27. Unitree G1 Unitree G1 humanoid. price read 2026-10-22.

    • Base price US$13.5K; EDU on request
  28. Menlo order page Asimov 1 (Menlo Research). read 2026-10-22.

    • $499 deposit; full price not stated

Everything here is paraphrased from the sources, not quoted, and every figure is attributed to one. Prices are as of the date read and change. Anything illustrative is labelled as such. Where a source is silent, or could not be checked, the page leaves the fact out.