Sim to real · Volume 2

From simulation.
To something real.

Adaptive Quadrocopter

Build a simulator, establish classical baselines, train an adaptive controller, then test it on a printed quadrotor. Nine modules connect the mathematics to measurable experiments. Every result belongs in the report, including the runs that fail.

Start on your laptop. Build the hardware when you’re ready.

09build modules
02parts: software + hardware
13written episode companions
01benchmark, start to finish

Make the theory fly

You leave with
more than notes.

The same question runs through every build: what must a network learn to adapt to physics it has never seen?

The answer becomes a simulator, a fair benchmark, a learned controller, and a drone you made yourself.

  1. 01

    Write and validate a 6-DoF quadrotor simulator with explicit motor, battery, noise and delay models.

  2. 02

    Compare PID, LQR, EKF adaptation and learned adaptation with the same reproducible benchmark.

  3. 03

    Design a parametric frame, build a measured physics model, and work toward controlled indoor flight.

  4. 04

    Deploy a compact policy through a shared controller interface and publish evidence for all nine gates.

The curriculum

Build. Measure.
Earn the next step.

Nine modules. Each one has a lesson, a lab, a deliverable, and a measurable gate. Keep the evidence, including the results that surprise you. On the map, each episode companion sits next to its module.

Course map

Before you begin

Bring curiosity.
And some Python.

  • Comfortable Python, arrays and matrices, derivatives, and basic Git. Control theory, reinforcement learning, CAD and soldering are taught as needed.
  • A laptop for Modules 1–5. JAX, Flax and Optax form the learning stack; a GPU is optional. The two-hour training budget is a design target, not a measured completion guarantee.
  • For Modules 6–9: access to a printer or print service, soldering equipment, a suitable indoor test enclosure, and supervision appropriate to your build experience.
  • Check local flight, site-access and insurance obligations before hardware testing. Weight alone does not establish permission to fly.
  • Read the starter-kit README first. The kit supplies benchmark and evidence tooling; you implement the simulator, controllers, estimators, learning code, CAD and firmware exercises.
How the course works

Your code. Your evidence.

Read the lesson, implement the lab, and submit your artifacts to the module’s gate. Record the command, result, commit, configuration, and seed in your progress log.

“Studied” is a reading bookmark. A passed gate is a reproducible result. Hardware gates also need a trainer’s review of your logs and video.

There is no fixed time estimate: progress depends on the builds and debugging. The software part needs no hardware purchase or paid cloud compute.

The physical part

One kit.
Four hardware modules.

The specification budgets approximately €1,160–€1,200 for parts. Treat this as a planning estimate; verify prices, firmware support, and compatibility before ordering.

Explore the hardware list Purchase from module 06
Planning budget from the course specification, at shop prices from October 2026. Shipping, tools, and printing services can add to the total.
PartQuantityBudgetBuild note
Crazyflie Bolt 1.11€220Early Access hardware: validate firmware, ESC protocol, deck support and custom-controller compatibility before purchasing.
Lighthouse positioning deck1€102Confirm deck mounting, firmware support and unobstructed optical coverage on the proposed frame.
Lighthouse V2 base stations2€478Bitcraze asks for at least two. Priced at the HTC Vive shop; Amazon.de listed them at about €575 in October 2026, and used ones can cost much less. Plan the tracking volume before purchasing, mount rigidly and verify coverage throughout the intended flight envelope.
Crazyradio 2.01€46Used for the common off-board controller link and telemetry.
1404 motors, approximately 4500 KV4€64–88Candidate 3S/3-inch combination; verify propeller, voltage, current and thrust data for the exact motor.
20 A class 4-in-1 ESC with Bluejay firmware1€67Bluejay reports each motor’s speed over bidirectional DShot. Once you switch the Bolt to DShot, its firmware enables that telemetry by default and checks every motor’s speed before arming, so a stock BLHeli_S ESC fails the check unless you flash it to Bluejay or turn the telemetry off. A 4-in-1 usually mounts on 20×20 mm holes, the Bolt on 30.5×30.5 mm. Power it straight from the battery and run only the signal wires from the Bolt’s ESC ports; Bolt distribution is limited to 8 A per motor.
3S 450 mAh LiPo with XT303€36–39Check size, mass and current requirements; include a battery in every all-up mass calculation. The Bolt’s default battery thresholds are 2S values; set 3S thresholds in Module 7.
3-inch propellers2 setsAbout €10Match motor shafts, rotation directions and guards. Keep spares for damaged props.
Suitable LiPo charger and charging protection1About €60Use a charger compatible with cell count and chemistry and follow the battery manufacturer’s charging instructions. Store packs at storage voltage and discharge them before disposal.
Load cell and HX7111€17Measures axial thrust directly, and the torque constant through a lever-arm fixture. The HX711 samples at 10 or 80 Hz, too slowly for motor lag.
USB microcontroller board for the HX7111About €6The HX711 needs a reader. A Raspberry Pi Pico or a similar board streams its readings over USB to the laptop, which logs them beside the Bolt’s motor command and battery voltage.
PETG or suitable nylon filament1 kgAbout €25–40Validate the printer, nozzle and material process. Slicer settings and actual printed masses belong in the build record.
Vane anemometer1About €25Measures the desk fan’s air speed along the flight path for the Module 9 fan condition.
Optical tachometer (optional)1About €20Measures motor speed for kf and motor lag in Module 8. With the Bluejay ESC it cross-checks the DShot telemetry, whose readings depend on the configured pole count. Without it, use bidirectional DShot telemetry or the accelerometer method described there, or declare those values unresolved with an assumed range.

The design targets 210 g all-up, with every test configuration below 250 g. Flight work uses a contained indoor test area, a kill switch, and the staged checks in modules 07–09. Confirm the obligations and insurance that apply where you fly. Parts list with shop links (CSV) ↓

Follow the experiment

Thirteen chapters.
Every result counts.

Read the written companion to every planned episode. Recording and customer access are forthcoming; the Free and Customer labels show the intended recording release track.

Episode 00Free track

Can you solve this NVIDIA interview question?

The course’s opening thought experiment: what should a hidden vector learn about a drone?

Read companion
Episode 01Free track

I wrote a drone simulator from scratch

A force balance, a quaternion and three checks make the first build inspectable.

Read companion
Episode 02Free track

I broke my drone on purpose

A frozen benchmark turns model mismatch into a reproducible failure.

Read companion
Episode 03Customer track

Teaching a drone to weigh itself

The EKF estimates an effective mass, with a lesson in what hover cannot reveal.

Read companion
Episode 04Free track

A, B, C or D? I trained all four

Design the ablation that can confirm or overturn the opening hypothesis.

Read companion
Episode 05Customer track

Building the history encoder

Causal timestamps and dataset boundaries matter as much as the network.

Read companion
Episode 06Customer track

RMA in my own JAX sim

Move from privileged training information to a history-only controller.

Read companion
Episode 07Free track

My laptop vs a rented GPU

A reproducible protocol for comparing JAX and an optional Isaac Lab run.

Read companion
Episode 08Free track

I designed a drone in Python

Parametric CAD becomes an executable description of geometry and mass.

Read companion
Episode 09Customer track

Printing and building it

Commission the aircraft through inspection, bench checks and stock flight.

Read companion
Episode 10Customer track

How wrong was my CAD?

Measure the gap, including the uncertainty in the measuring tools.

Read companion
Episode 11Customer track

The model meets the printed drone

Replay interfaces, test fallbacks and verify inference before the first learned flight.

Read companion
Episode 12Free track

Can my model beat RAPTOR?

The final comparison includes the possibility that a classical controller wins.

Read companion

Choose your depth

A story to follow.
A course to build.

All written lessons, companions, and downloads on this site are accessible now. These tracks describe the planned series and its teaching resources.

Free

Read the complete course documentation and written companions now. The specification’s seven free episodes define the public story arc.

  • All nine module guides and labs
  • Seven Free episode companions
  • Downloadable starter and evidence tooling
  • Primary readings and reproducible gate criteria

Customer

Planned packaging for the deeper build series. Customer-labeled companion articles are free to read with an account; no checkout, subscription or access purchase is active.

  • Six deeper build companions
  • Estimator, encoder and policy implementation guidance
  • Hardware commissioning and deployment procedures
  • No purchase required to read the current course

Trainer

Planned support for teaching and reviewing the course. Rubrics and failure modes are already included in each public module.

  • Nine measurable gate rubrics
  • Common failure modes and diagnostic prompts
  • Reflection questions for technical review
  • Hardware evidence still requires qualified human review
Download trainer guide ↓

Your first build is one click away

Start with the physics.
See where it takes you.

Open module 01