Six tracks.
Self-paced curriculum.
Browse the full library by learning track — modules, sessions, and hands-on challenges students complete at their own pace inside the platform.
Spatial Thinking
CAD, flat-pack builds, drawing, and mechanisms.
CAD: Solids and Space
Hands-on module for CAD: Solids and Space in Track 1.
1.1.1 — Dax’s Card Vault
Session 1.1.1: Dax’s Card Vault — Designing Around an Object — Subtractive Design in CAD
1.1.2 — Dax’s Card Battle Station
Session 1.1.2: Dax’s Card Battle Station — Precision & Patterns — Align, Group, Repeat in CAD
1.1.3 — Dax’s Desk Nameplate
Session 1.1.3: Dax’s Desk Nameplate — Words as Geometry — Additive & Subtractive Text in CAD
1.1.4 — Dax’s 200 ml Challenge
Session 1.1.4: Dax’s 200 ml Challenge — Engineering Backwards — Volume, Walls & Floor Constraints in CAD
1.1.5 — Make the Real Thing in 3D
Session 1.1.5: Make the Real Thing in 3D — Observation & Form — Curves, Bevels & Real Objects in CAD
CAD: Parts That Fit
Hands-on module for CAD: Parts That Fit in Track 1.
1.2.1 — A Peg and a Hole
Session 1.2.1: A Peg and a Hole — Peg and hole test blocks with 0.0, 0.2, and 0.4mm clearance gaps.
1.2.2 — Lids, Clips, and Closures
Session 1.2.2: Lids, Clips, and Closures — Box with self-locating snap-fit lid.
1.2.3 — Assemblies and Clearance
Session 1.2.3: Assemblies and Clearance — 3-part stacked assembly that fits without filing.
1.2.4 — A Case for a Real Thing
Session 1.2.4: A Case for a Real Thing — Enclosure custom-fitted to a specific real-world object (phone, flash drive).
Flat to Form
Hands-on module for Flat to Form in Track 1.
1.3.1 — The Slot and the Tab
Session 1.3.1: The Slot and the Tab — A 6-sided cube made from flat card pieces with slot-and-tab joints.
1.3.2 — Thickness Is a Number
Session 1.3.2: Thickness Is a Number — Rebuilding the slot cube for a thicker material.
1.3.3 — Inside Versus Outside
Session 1.3.3: Inside Versus Outside — Flat-pack box sized to fit a specific deck of cards.
1.3.4 — Unrolling Curves
Session 1.3.4: Unrolling Curves — Cylinder and cone built from unrolled flat patterns.
1.3.5 — Flat-Pack Something Useful
Session 1.3.5: Flat-Pack Something Useful — A working phone stand or organizer from flat sheet parts only.
Drawing to Communicate
Hands-on module for Drawing to Communicate in Track 1.
1.4.1 — Draw It So Someone Can Build It
Session 1.4.1: Draw It So Someone Can Build It — Freehand 3-view drawing handed to a partner to build without speaking.
1.4.2 — Orthographic Projection, Properly
Session 1.4.2: Orthographic Projection, Properly — Formal 3-view orthographic drawing with hidden lines.
1.4.3 — Dimensions and Tolerance
Session 1.4.3: Dimensions and Tolerance — Dimensioned drawing detailed enough to send to another room.
1.4.4 — One-Point Perspective
Session 1.4.4: One-Point Perspective — One-point perspective sketch of a room and desk object.
1.4.5 — Two-Point and Concept Sketching
Session 1.4.5: Two-Point and Concept Sketching — Fast 2-point perspective concept sketches of product ideas.
Motion and Mechanisms
Hands-on module for Motion and Mechanisms in Track 1.
1.5.1 — The Lever and the Pivot
Session 1.5.1: The Lever and the Pivot — Cardboard lever lifting a heavy object with minimal finger force.
1.5.2 — The Grabber
Session 1.5.2: The Grabber — Cardboard scissor-linkage claw that grabs objects from across table.
1.5.3 — Four-Bar Linkages
Session 1.5.3: Four-Bar Linkages — Four-bar linkage with traced output motion path.
1.5.4 — Cams and Followers
Session 1.5.4: Cams and Followers — Cam mechanism converting rotation into rhythmic up-down motion.
1.5.5 — Gears and Ratio
Session 1.5.5: Gears and Ratio — Gear train where output turns much slower but with higher torque.
1.5.6 — Pulleys, Belts, and Bands
Session 1.5.6: Pulleys, Belts, and Bands — Pulley system transmitting power across a 12-inch distance.
1.5.7 — Mechanism Chain
Session 1.5.7: Mechanism Chain — Capstone mechanism combining lever, cam, and gear in series.
Systems Thinking
Sense, decide, act — inputs, outputs, and whole systems.
Your First System
Hands-on module for Your First System in Track 2.
2.1.1 — Dax’s Secret Signal
Session 2.1.1: Dax’s Secret Signal — Programming Behavior & Timing — One LED, Code & Rhythms
2.1.2 — An LED You Wired Yourself
Session 2.1.2: An LED You Wired Yourself — Wiring an external LED to Pin 9 on breadboard.
2.1.3 — Three LEDs and Pins
Session 2.1.3: Three LEDs and Pins — Traffic light sequence with Red, Yellow, Green LEDs.
2.1.4 — The Buzzer: Making Noise on Purpose
Session 2.1.4: The Buzzer: Making Noise on Purpose — Piezo buzzer generating tones and frequency sweeps.
Inputs: Sensing the World
Hands-on module for Inputs: Sensing the World in Track 2.
2.2.1 — The Button: Digital Input
Session 2.2.1: The Button: Digital Input — Reading button state and reporting press events.
2.2.2 — The Dial: Analog Range Input
Session 2.2.2: The Dial: Analog Range Input — Reading potentiometer dial position as numbers from 0 to 1023.
2.2.3 — Seeing Numbers: Serial Plotter
Session 2.2.3: Seeing Numbers: Serial Plotter — Plotting live analog signals visually on screen graph.
2.2.4 — The Light Sensor (LDR)
Session 2.2.4: The Light Sensor (LDR) — Measuring room brightness levels with LDR voltage divider.
2.2.5 — The Distance Sensor (HC-SR04)
Session 2.2.5: The Distance Sensor (HC-SR04) — Measuring physical distance to objects in centimeters.
Outputs: Acting on the World
Hands-on module for Outputs: Acting on the World in Track 2.
2.3.1 — Light as a Message
Session 2.3.1: Light as a Message — **Make:** A status indicator using one LED to say four different things. **Absorb:** Outputs are how
2.3.2 — Sound as a Message
Session 2.3.2: Sound as a Message — **Make:** A buzzer giving audible feedback for three different events. **Absorb:** Pitch, duration,
2.3.3 — Motors: Making Things Move
Session 2.3.3: Motors: Making Things Move — **Make:** A DC motor driving a wheel, an arm, or a flag. **Absorb:** Motors need more power than a p
2.3.4 — Servos and Position
Session 2.3.4: Servos and Position — **Make:** A servo moving to specific angles on command. **Absorb:** Position control versus speed co
2.3.5 — Screens and Displays
Session 2.3.5: Screens and Displays — **Make:** A display showing a live sensor value in a readable form. **Absorb:** Raw numbers are not
What’s Actually Flowing
Hands-on module for What’s Actually Flowing in Track 2.
2.4.1 — Thresholds: When Is It Dark?
Session 2.4.1: Thresholds: When Is It Dark? — Night light that turns on when room light drops below custom threshold.
2.4.2 — Stopping the Flicker (Hysteresis)
Session 2.4.2: Stopping the Flicker (Hysteresis) — Night light that stays steady at light threshold transitions without flickering.
2.4.3 — Two Conditions at Once
Session 2.4.3: Two Conditions at Once — Alarm system that sounds only when dark AND button is pressed.
2.4.4 — Zones: Near, Close, Too Close
Session 2.4.4: Zones: Near, Close, Too Close — 3-zone parking sensor indicator (Green=Safe, Yellow=Warning, Red=Stop).
Building It Properly
Hands-on module for Building It Properly in Track 2.
2.5.1 — The Breadboard
Session 2.5.1: The Breadboard — **Make:** A circuit moved from alligator clips onto a breadboard. **Absorb:** Rows, rails, and the i
2.5.2 — Power Budget and Batteries
Session 2.5.2: Power Budget and Batteries — **Make:** A build running untethered on batteries, with runtime measured. **Absorb:** Everything cos
2.5.3 — When the Brain Isn’t Enough
Session 2.5.3: When the Brain Isn’t Enough — **Make:** A transistor or driver switching a load the microcontroller can’t handle. **Absorb:** Swit
2.5.4 — Debugging as a Method
Session 2.5.4: Debugging as a Method — **Make:** A deliberately broken circuit, diagnosed and fixed to a written procedure. **Absorb:** Sys
2.5.5 — Soldering and Permanence
Session 2.5.5: Soldering and Permanence — **Make:** A small circuit soldered onto stripboard and tested. **Absorb:** The difference between a
Architecture
Hands-on module for Architecture in Track 2.
2.6.1 — Reading Code You Didn't Write
Session 2.6.1: Reading Code You Didn't Write — Deconstructing an unfamiliar 200-line AI program in 10 minutes.
2.6.2 — Tracing AI Code by Hand
Session 2.6.2: Tracing AI Code by Hand — Paper-tracing AI-generated code to predict robot vehicle navigation.
2.6.3 — Finding the Line That Does the Thing
Session 2.6.3: Finding the Line That Does the Thing — Locating responsible code lines in a large program using bisection.
Logic Systems
Behavior, decisions, memory, and real programs.
Change the Behavior
Hands-on module for Change the Behavior in Track 3.
3.1.1 — Change the Number
Session 3.1.1: Change the Number — **Make:** A blink program, modified until it does five different things. **Absorb:** Code is editabl
3.1.2 — Patterns and Rhythms
Session 3.1.2: Patterns and Rhythms — **Make:** A four-LED sequence with a recognizable rhythm. **Absorb:** Sequence and timing as express
3.1.3 — The Loop
Session 3.1.3: The Loop — **Make:** The same pattern from 3.1.2, rewritten with loops. **Absorb:** Loops. Repetition is someth
3.1.4 — Variables
Session 3.1.4: Variables — **Make:** A program where changing one number at the top changes everything. **Absorb:** A variable
Decisions
Hands-on module for Decisions in Track 3.
3.2.1 — The First If
Session 3.2.1: The First If — **Make:** A night light that comes on when it gets dark. **Absorb:** Conditionals. The system now de
3.2.2 — Thresholds and Hysteresis
Session 3.2.2: Thresholds and Hysteresis — **Make:** The same night light, fixed so it doesn’t flicker at the boundary. **Absorb:** Hysteresis.
3.2.3 — And, Or, Not
Session 3.2.3: And, Or, Not — **Make:** A system that acts only when two conditions hold at once. **Absorb:** Combinatorial logic.
3.2.4 — Truth Tables
Session 3.2.4: Truth Tables — **Make:** A truth table written before the code, and code that matches it exactly. **Absorb:** Speci
3.2.5 — Else, Cascades, and Priority
Session 3.2.5: Else, Cascades, and Priority — **Make:** A system with four distinct responses depending on a sensor range. **Absorb:** Order matte
Sound, Time, and Sequence
Hands-on module for Sound, Time, and Sequence in Track 3.
3.3.1 — Tones and Frequency
Session 3.3.1: Tones and Frequency — **Make:** A buzzer playing a scale. **Absorb:** Frequency is a number. Pitch is that number heard. S
3.3.2 — Music as Data
Session 3.3.2: Music as Data — **Make:** A tune stored as a list and played back from it. **Absorb:** Separating what happens from
3.3.3 — Doing Two Things at Once
Session 3.3.3: Doing Two Things at Once — **Make:** An LED blinking while a buzzer plays a different rhythm. **Absorb:** The problem with paus
3.3.4 — Timers and Timeouts
Session 3.3.4: Timers and Timeouts — **Make:** A system that acts if nothing happens for a set time. **Absorb:** Time as an input. Absenc
Memory and State
Hands-on module for Memory and State in Track 3.
3.4.1 — The Toggle Button
Session 3.4.1: The Toggle Button — Toggle light on with 1st press, off with 2nd press.
3.4.2 — Counters
Session 3.4.2: Counters — **Make:** A counter that tracks events and acts at milestones. **Absorb:** Accumulating state. Incre
3.4.3 — State Machines on Paper
Session 3.4.3: State Machines on Paper — State transition diagrams for traffic light and washing machine.
3.4.4 — State Machines in Code
Session 3.4.4: State Machines in Code — **Make:** One of those diagrams, coded and working. **Absorb:** Translating a diagram into code mech
3.4.5 — Remembering After Power Off
Session 3.4.5: Remembering After Power Off — **Make:** A build that recalls its settings after being unplugged. **Absorb:** Persistent storage, a
Data and Structure
Hands-on module for Data and Structure in Track 3.
3.5.1 — Lists and Patterns
Session 3.5.1: Lists and Patterns — **Make:** A program driven entirely by data in a list. **Absorb:** Indexing, length, iteration. Chan
3.5.2 — Smoothing Messy Signals
Session 3.5.2: Smoothing Messy Signals — **Make:** A responsive system fed by a noisy sensor. **Absorb:** Real signals jitter. Averaging, deb
3.5.3 — Functions
Session 3.5.3: Functions — **Make:** A messy working program refactored into named chunks. **Absorb:** Naming a behavior makes
3.5.4 — Mapping and Scaling
Session 3.5.4: Mapping and Scaling — **Make:** A sensor reading translated into a useful output range. **Absorb:** Ranges rarely match. M
Real Programs
Hands-on module for Real Programs in Track 3.
3.6.1 — Debugging Code
Session 3.6.1: Debugging Code — **Make:** A broken program diagnosed with print statements and logic. **Absorb:** Bugs are findable,
3.6.2 — Reading Someone Else’s Code
Session 3.6.2: Reading Someone Else’s Code — **Make:** A written explanation of an unfamiliar program, then a modification to it. **Absorb:** Rea
3.6.3 — Refactor Your Biggest Project
Session 3.6.3: Refactor Your Biggest Project — **Make:** An old project rewritten cleanly, same behavior. **Absorb:** Working code and good code ar
3.6.4 — The Behavior Spec
Session 3.6.4: The Behavior Spec — **Make:** A written specification of a product’s behavior, precise enough to build from. **Absorb:**
Human-Centered Design
Design for real people — observation, ergonomics, and testing.
Anti-Design
Hands-on module for Anti-Design in Track 4.
4.1.1 — The Phone Stand That Drops Phone
Session 4.1.1: The Phone Stand That Drops Phone — Cardboard phone stand engineered to drop phone reliably after 30s.
4.1.2 — The Worst Toy in the World
Session 4.1.2: The Worst Toy in the World — **Make:** A toy that is genuinely unpleasant to use — wrong grip, confusing controls, ignores you. *
4.1.3 — Roast an Object
Session 4.1.3: Roast an Object — Precise UX critique of 5 real products using industry vocabulary.
Understanding People
Hands-on module for Understanding People in Track 4.
4.2.1 — Shut Up and Watch
Session 4.2.1: Shut Up and Watch — **Make:** Notes from watching three people use something, without helping once. **Absorb:** Users do
4.2.2 — Asking Better Questions
Session 4.2.2: Asking Better Questions — **Make:** A short interview with a real potential user. **Absorb:** “Do you like it?” gets you nothi
4.2.3 — Who Is This Actually For?
Session 4.2.3: Who Is This Actually For? — **Make:** A one-page description of a specific person, not a category. **Absorb:** “Everyone” is not
Designing the Interaction
Hands-on module for Designing the Interaction in Track 4.
4.3.1 — Size, Weight, Reach
Session 4.3.1: Size, Weight, Reach — **Make:** A mock-up at real size and real weight, before electronics go in. **Absorb:** Ergonomics.
4.3.2 — Controls and Feedback
Session 4.3.2: Controls and Feedback — **Make:** An interface where every action produces an immediate response. **Absorb:** Silence is a b
Iteration
Hands-on module for Iteration in Track 4.
4.4.1 — Version Two
Session 4.4.1: Version Two — **Make:** A rebuild driven entirely by what testing revealed. **Absorb:** Iteration is not polishing
4.4.2 — Delight and Trade-Offs
Session 4.4.2: Delight and Trade-Offs — **Make:** One small unnecessary thing that makes the product a pleasure, plus a written list of ever
Fabrication
From rough prototypes to precision builds and housings.
Fast and Rough
Hands-on module for Fast and Rough in Track 5.
5.1.1 — Cardboard in an Hour
Session 5.1.1: Cardboard in an Hour — Full-size non-working physical mockup of a product concept in 30 mins.
5.1.2 — Why It Wobbled
Session 5.1.2: Why It Wobbled — **Make:** A structural fix to the wobbliest part of the mock-up. **Absorb:** Triangles, gussets, fol
5.1.3 — Joints
Session 5.1.3: Joints — **Make:** Six different joins between two pieces — tab, slot, flange, glue, fold, fastener. **Absorb
Precision
Hands-on module for Precision in Track 5.
5.2.1 — Cutting Flat
Session 5.2.1: Cutting Flat — **Make:** A laser-cut or knife-cut part made from their own drawing. **Absorb:** Kerf. The cutter re
5.2.2 — First 3D Print
Session 5.2.2: First 3D Print — **Make:** A part designed, sliced, printed, and inspected for flaws. **Absorb:** Layers, orientation
5.2.3 — Designing for the Machine
Session 5.2.3: Designing for the Machine — **Make:** An earlier part redesigned for print time, strength, and material use. **Absorb:** Wall th
Housing a System
Hands-on module for Housing a System in Track 5.
5.3.1 — Where Does the Sensor Go?
Session 5.3.1: Where Does the Sensor Go? — **Make:** An enclosure with correctly positioned sensor openings. **Absorb:** Sensors need line of s
5.3.2 — Wires, Power, Strain
Session 5.3.2: Wires, Power, Strain — **Make:** A tidy internal layout with secured cables and accessible power. **Absorb:** Strain relief
5.3.3 — Closing the Box
Session 5.3.3: Closing the Box — **Make:** A case that opens, closes, stays closed, and looks finished. **Absorb:** Fasteners, clips,
Communications
Film, edit, present, and pitch what you made.
Tell Before Theory
Hands-on module for Tell Before Theory in Track 6.
6.1.1 — Thirty Seconds About a Thing You Love
Session 6.1.1: Thirty Seconds About a Thing You Love — **Make:** A 30-second phone video about any object they care about. **Absorb:** That they can alread
6.1.2 — Commercial for Useless Product
Session 6.1.2: Commercial for Useless Product — 45-second straight-faced commercial for a rock or empty box.
6.1.3 — Why That One Worked
Session 6.1.3: Why That One Worked — **Make:** A written breakdown of the three best pieces in the class. **Absorb:** Hook, stakes, resol
Structure and Craft
Hands-on module for Structure and Craft in Track 6.
6.2.1 — Problem, Struggle, Solution
Session 6.2.1: Problem, Struggle, Solution — **Make:** A two-minute telling of their own build’s real story, failures included. **Absorb:** Strug
6.2.2 — Shots That Explain
Session 6.2.2: Shots That Explain — **Make:** A wordless video showing how their product works. **Absorb:** Wide, medium, close. A close
6.2.3 — Edit
Session 6.2.3: Edit — **Make:** A 60-second cut from five minutes of raw footage. **Absorb:** Editing is deletion. Pace co
Standing Up
Hands-on module for Standing Up in Track 6.
6.3.1 — Slides That Don’t Read Themselves
Session 6.3.1: Slides That Don’t Read Themselves — **Make:** A five-slide deck with almost no words on it. **Absorb:** Slides support the speaker. If t
6.3.2 — The Pitch and the Questions
Session 6.3.2: The Pitch and the Questions — **Make:** A three-minute live pitch with a working demo, followed by Q\&A. **Absorb:** Timing, nerve
Ready to start?
Schools: request a pilot. Students: sign in with your school account.