Built for the current Loudoun Robotics FLL summer camp at Gum Spring Library. Backbone is LEGO Education's official Robot Trainer Unit Plan; extended with supplemental EV3 tutorials, LR-authored coach scripts, FLL Core Values folded into every session, and a mini Innovation Project thread that delivers an out-loud pitch on showcase day. By the end every kid drives accurately, reacts to color and distance, runs a 2-minute mission for parents, and leaves with a clear path to a fall FLL team.
Each session builds on the last. Click any tile to jump to the detail.
Turn the brick on, download a program, and drive a square. They know where motors plug in, what the Move Steering block does, and why "rotations" matter more than "seconds."
Wiring scavenger hunt: kids find ports A, B, C, D + sensor ports 1–4. "Show me where the right motor plugs in." Hands-on before any code.
Robot drives a 1m straight line and a clean 90° turn. Every kid runs it once.
Robot detects the Cuboid using the Ultrasonic Sensor and reacts — stops before hitting it, backs up, or goes around it. First taste of sensor-driven behavior.
Hand each kid a measuring tape. "What does 15 cm feel like? 30 cm?" Then have them tune their robot's stop-distance threshold to land at exactly that gap. Makes the sensor reading real.
Robot drives forward, stops 8–12 cm from a wall, backs up 20 cm, ends. Coach measures with a tape.
Robot has an actual mechanism — a motorized grabber arm — that it can open, close, and use to pick something up and drop it somewhere else. First "robot does a useful thing" moment.
One kid builds the arm; the other writes the open/close program. They swap halfway. Forces the "design + program are different jobs" idea early, before competition pressure makes it political.
Robot drives to a block, grabs it, drives 50 cm to a target zone, drops it. Coach scores 1 point if landed inside the zone.
Robot uses the Color Sensor to detect a line and either stop on it or follow it. The "wait, the robot can see?" lightbulb moment for most kids.
5-min paper exercise first: print a black/white/red/blue card. Hand it to kids and ask "what does the robot read for this one?" — then test it on the brick. Show that "color" is really a reflected-light number. Frames why thresholds work.
Robot drives forward, stops on the first black line it sees. Bonus: follows the line for 30 cm without falling off.
Clean, repeatable turns using the Gyro Sensor instead of guessing rotations. Robot drives a square that closes back at the start within 20 cm — every time. And the visceral feeling of having just typed the same gyro turn out four times in a row. That copy-paste pain is the setup for Session 6's My Blocks lesson.
Have kids drive the square by typing the gyro-turn out four times in a row. Don't introduce abstraction yet. Coach asks: "If we wanted to drive an octagon next week, how many blocks would you have to add?" Pain landed. Lesson queued for Session 6.
Robot drives a square using gyro turns (not rotation-based). Closes back at the start within 20 cm. Program contains 4 inline gyro turns — deliberately repetitive.
Kids wrap a chunk of code into a reusable My Block and call it by name. They build a small toolkit: TurnRight90, TurnLeft90, DriveStraight. Edit one place — change every use. This is the moment programming starts to feel like writing, not clicking.
Open Session 5's square (4 inline gyro turns). Ask: "Who thought this was dumb?" Show how to right-click → Make My Block. Collapse 16 blocks into 4 calls of TurnRight90. Then demo the magic: edit the My Block once, all 4 turns change. The pain from Session 5 just got its payoff.
Pair shows the coach: (1) a TurnRight90 My Block open in its own tab, (2) the main program using TurnRight90 + TurnLeft90, (3) a clean Z-pattern run on the floor.
Robot makes its first sensor-driven decision using a Switch (if/else) block — then runs the full camp mission mat for the first time. No scoring. This is the dress rehearsal — Session 8 is the same mat, same timer, but with parents watching. By the time parents arrive, the mat is familiar.
The agent review flagged this: throwing kids onto an unfamiliar mat with scoring at once is too much. So Session 7 introduces the mat with NO score, and Session 8 is the same mat with parents. By showcase day, "first time on the mat" is no longer a fear.
Pair runs the camp mission mat once within 2 minutes. Innovation Project pitch refined ("our robot solves X by doing Y on the mat"). Score doesn't matter today — feeling the mat and the timer does.
A live demo for their parents, an Innovation Project pitch delivered out loud, a Loudoun Robotics camp certificate, a printed EV3 → SPIKE handout, and a clear next step toward fall robotics. The session that turns a camp into a story they'll tell — and a path forward, not a dead end.
0:00–0:15 — Core Values moment (Inclusion + Fun) + final warm-up run on the mat.
0:15–0:40 — Robot tour pitch prep (robot's name, what it does, Innovation Project pitch, hardest part).
0:40–1:25 — Parents arrive. Coach welcome → robot tours + Innovation Project pitches → mission runs → award ceremony → "what's next" pitch from the head coach (3 min) covering fall FLL teams + interest form distribution.
1:25–1:30 — Group photo, send-off line. Parents drop fall interest forms in the clipboard by the door on the way out.
Every kid runs their robot in front of at least one adult who is not a coach. Every kid delivers their Innovation Project pitch. Every family leaves with a certificate, an EV3 → SPIKE handout, and a fall interest form filled (or with a clear "no thanks").
Predictability beats novelty for rookie campers. The clock looks like this.
Skip any of these and Session 1 turns into a setup session. Worth a weekend of prep.
Parent Expectations 1-pager: /coaches/parent-expectations.html
The agent review flagged this as the single biggest miss in v1. Session 8 now has a real fall recruiting moment — and the answer to one upstream question shapes the rest.
On Day 1 of fall, where does a camper who loved this camp go — and is that path real today, or are we hoping it's real by August? If fall LR teams are real, Session 8 is a hard recruiting moment. If they're hopeful, Session 8 is honest about uncertainty and surveys interest. Half the choices in the curriculum flow from this answer.
Paper interest form distributed with the program at the door. 3-minute "what's next" pitch by the head coach during the award ceremony. EV3 → SPIKE handout in every parent's hand on the way out. Follow-up SLA in the lesson plan: every "Yes" called within 48 hours; every "Maybe" called within a week.
Concept transfer is 1:1 — driving, sensors, decisions, abstractions, all the same idea. The block library on SPIKE Prime is laid out differently, and the hub has a 5×5 LED screen EV3 doesn't. Expect 1–2 weeks of "where did that block go?" frustration, then they're native. Full handout in the lesson plan, Appendix G.
Resolved in v2: EV3→SPIKE drift (addressed in Session 1 standup + Appendix G handout). The agent's other concerns are now baked in. What's left:
Session 7 (preview) and Session 8 (showcase) use the SAME mat. Same start zone, pickup, color marker, return zone. ~2 hrs of design time + print on poster paper. Needs to exist by Session 7.
Cohort 1 is mid-camp; Cohort 2 joined after 6/8. Three plausible paths: (a) Cohort 2 catches up via a side-by-side track and joins Cohort 1's showcase; (b) merge into one cohort at a common session; (c) parallel 8-session pod for Cohort 2 with a later showcase. The Innovation Project thread starting in Session 4 makes (b) harder; (a) or (c) more honest.
Agent review surfaced this as the #1 disengagement driver in mixed-age camps. The lesson plan now references a camper intake form to design pairs in advance. The form itself isn't built yet. 10 questions, sent 3 weeks before camp.
Lesson plan Appendix F is written. Pack needs printed copies for each assistant coach, AND recruiting needs to happen 2 weeks out. Don't recruit without giving them the pack — they'll feel set up to fail.