Resources and practice tools
Use these resources for a specific question, not as an endless watching list. Each lesson assigns a reading and a study task. Official documentation governs hardware APIs; a video demonstrates an idea but may use a different robot. Links and video metadata were checked on 2026-10-09; availability and firmware can change.
Start with the course’s own guides
- Engineering notebook: standard entry, worked fictional example and evidence links.
- Git, debugging and responsible AI: private student workflow, transfer versus commit, small reproductions.
- Math primer: units, statistics, uncertainty, circuits, encoders, PID, odometry and grids.
- Scientific testing: fair comparisons, held-out validation and honest failure analysis.
- Hardware guide: model confirmation, equipment, official APIs and bounded examples.
- Portfolio and assessment: phase checkpoints, report examples, capstone rubric and handoff.
Selected primary readings
| Resource | Use | Study question |
|---|---|---|
| Pololu 3pi+ 2040 guide | Weeks 1, 4, 6, 13 and device transfer | What does this exact sensor measure? |
| Official Pololu code | Verify device APIs against installed firmware | What are the units, signs and reset semantics? |
| Python tutorial | Weeks 2 onward | Can you predict the output and explain each line? |
| Python statistics | Weeks 5, 8, 23 | Is this spread, uncertainty or a conditional result? |
| GitHub Hello World | Student repository workflow | Which source revision produced the run? |
| Amit Patel’s graph-search introduction | Weeks 19–20 | Why does BFS need a visited set and a predecessor map? |
Video/lecture selections
Programming: CS50 Python functions/variables and loops. Use short relevant excerpts and the lecture notes; predict output before viewing the explanation. These are desktop Python foundations, not motor-transfer instructions.
Circuits: Khan Academy Ohm’s law. Pause at V=IR and calculate the resistor current with units. An LED needs its own nonlinear-voltage assumption and current-limiting resistor.
Feedback: MathWorks What is PID? and Brian Douglas PID introduction. Sketch target, measurement, error and disturbance. Use your own simulator to test rather than assuming the demonstrated tuning applies to this robot.
Navigation context: MIT OpenCourseWare Macro ME robot demonstration. Compare its sensors with the 3pi+ 2040 and identify hardware-dependent assumptions. For graph search, the Patel page’s interactive animations are the more focused core resource.
Videos open at their source; no login is needed by this website. If a provider is blocked or a video disappears, the lesson explanation, reading and runnable examples still support the task. Link-topic/API checks do not imply that every video was watched end to end.
Downloads
- Notebook entry template.
- Experiment report template.
- CSV scatter-plot tool, with instructions in the testing guide.
- Raw trial CSV template; keep units and add condition/version/outcome fields as required.
- Weekly desktop models: follow the download in each lesson, from Week 1 through Week 24.
- Bounded device pulse and stationary sensor logger.
- Configured device waypoint controller; read the hardware guide and enter measured calibration before actuation.
- Desktop navigation lab kit: complete simulator with planned route, odometry, independent synthetic truth, guards and retained outputs.
Use the desktop lab kit
Save lab-kit.py in your student code/ folder, then run from that repository:
python3 code/lab-kit.py --output data/sim-baseline
python3 code/lab-kit.py --fault hazard --output data/sim-hazard
python3 code/lab-kit.py --fault stale --output data/sim-stale
python3 code/lab-kit.py --fault stalled --output data/sim-stall
python3 code/lab-kit.py --fault blocked --output data/sim-blocked
python3 code/lab-kit.py --left-scale 1.05 --output data/sim-scale-error
Open each summary.json and trace.svg; retain trace.csv. The baseline should reach the estimated goal with an independently calculated simulator endpoint error. Fault runs should report their specific stopped/no-route outcomes. The scale-error run demonstrates why odometry agreement with its own target is insufficient. These are synthetic experiments, not measured robot trials.
The kit assumes an ideal differential-drive plant and a surveyed grid. It models no battery, friction, encoder quantization or real sensor latency. Its geometric collision guard has access to simulator truth, a capability the physical robot does not have; physical safety instead needs a qualified clear course, sensing and supervision. Use the kit to reason about logic, then validate real interfaces and travel separately.
Equipment and optional robots
The hardware guide lists core materials. BB-8/Dash comparisons are optional and depend on their actual model and available apps. External range sensing, camera SLAM and dynamic mapping are extensions; the full core course can be studied with simulation and completed physically with the confirmed robot and surveyed map. No paid cloud service or additional range sensor is assumed.