Before the robot is used
Safety: Use a supported robot with drivetrain wheels clear, an operator, and a supervisor at Driver Station STOP. Keep hands, hair, clothing, and loose objects out of the intake. Stop promptly on a stall; isolate power before clearing or inspecting it. This manual motor test does not sort or count game pieces and has no automatic jam handling. INIT must keep power at zero.
Required hardware & dependencies
- FTC Control Hub and Expansion Hub module 2, with MOTOR0 configured exactly as intake_motor. Verify the configured module, port, and physical cable.
- The intake motor and mechanism, secure battery, Driver Station, paired gamepad, and stable support for the robot.
- Right-stick click (R3), or a paddle explicitly remapped to R3. Verify raw R3 true and B false; do not infer an M1 input or a physical side from the paddle's location.
- A notebook for requested power, input state, observed motion, and the time between zero command and visible stop.
The ZIP contains required Java / MyBlocks helper sources and assets for an Android Studio Robot Controller project, not an APK or a standalone browser app. A supervisor must build and install the lesson-helper app, configure the hardware, then import the Blocks. These lesson OpModes are disabled by default; enable one only after completing the setup checks.
Robot setup checklist
- Before class, download the required helper ZIP and review its INSTALL instructions and the technical manifest linked here. Install its Java/MyBlocks sources and assets in an FTC SDK 12+ Android Studio Robot Controller project, then build and install the lesson-helper app. The ZIP is not a complete APK; uploading Blocks alone does not install the required helpers.
- Open the Control Hub FTC Blocks editor and use Upload Op Mode to import IntakeCalibrationBlocks.blk. It is disabled by default. Resolve missing helper blocks and the intake_motor device, then use the editor's Enabled control only after the supervisor checks. Select the intended mode in Driver Station; import does not start it.
- Confirm Expansion Hub module 2 MOTOR0, motor direction, BRAKE, and RUN_WITHOUT_ENCODER. Secure the robot and clear the intake before INIT.
- During INIT, verify zero power, ARMED/controller engagement, and hub open/engaged/responding. UNKNOWN SDK health alone can be normal; actual UNHEALTHY or CLOSED conditions require correction.
- Check R3/paddle, B, and Start telemetry without starting motion. Test the held-through-START release/new-press rule during a short supervised trial.
- Keep the default 25% command. Observe OFF, forward toggle, held reverse, release-to-OFF, and B/Start clearing separately. Driver Station STOP ends each trial; isolate power before inspection.
60-minute teaching sequence
- 0–8 min
Discuss the opening question; assign operator, recorder, and STOP supervisor. Identify where hands must stay.
Look for: Students distinguish a held button from a new press and name Driver Station STOP.
- 8–18 min
Check hardware, helper installation, and input mapping. Read setup and INIT together.
Look for: Zero INIT power; correct module/port; R3 true without B; students predict held-through-START behavior.
- 18–30 min
Walk through readiness, edge, reverse, and power. Complete the paper trace before a trial.
Look for: One edge per press; DOWN clears ON; students separate input, memory, and output.
- 30–43 min
With supervisor approval, collect three short supervised observations at 25%. A robot-free group traces the same decisions on paper.
Look for: Hands clear, STOP access, requested power recorded separately from motion, and no invented measurements.
- 43–53 min
Work the arithmetic practice and self-check quiz; compare notebook observations.
Look for: 25% is command magnitude, not RPM; students explain a difference between command and physical motion.
- 53–60 min
Return OFF, use STOP, make the mechanism safe, and discuss the exit ticket.
Look for: A safe stop demonstration or paper stop trace and a correct explanation of reverse release.
Observation notebook
Intake notebook: record the command and what you observe| Trial / control | Inputs + readiness | Latch / requested power | Observed motion / coast |
|---|
| 1 · forward toggle | Record R3, B, Start, and readiness | Record ON and power | Record direction, interval, and visible stop |
|---|
| 2 · hold DOWN / release | Record DOWN and readiness | Record latch and both commands | Record reverse and release behavior |
|---|
| 3 · stop control | Record B/Start or Driver Station STOP | Record zero command | Record time until motion ends |
|---|
Also record motor configuration, battery, test interval, and load. Use a separate paper-trace table if no robot is operated. Visual motion is not a calibrated RPM or torque measurement; keep observations and calculations distinct.
Troubleshooting · stop before investigating
- Nonzero INIT power or unexpected motion
- Use STOP immediately and isolate power. Check the selected mode, wiring, and program before another trial.
- Missing helper blocks or device
- Keep the mode disabled. Compare the installed helper build with the technical manifest and check intake_motor, Expansion Hub module 2, and MOTOR0.
- Readiness is false
- Keep OFF. Check ARMED/controller engagement and hub open/engaged/responding. UNKNOWN health alone is not a fault; resolve actual connection or health failures.
- Paddle stops instead of toggles
- Inspect raw R3 and B in telemetry. Correct the paddle's front-input remap; do not assume its physical side or M1 label specifies R3.
- Held R3 does nothing, or DOWN release does not restart forward
- Trace the release/new-press rule. DOWN clears ON, so release-to-OFF is intentional. Make a fresh R3 press only after readiness passes and overrides are released.
- Stall, heat, or inconsistent motion
- Use STOP promptly and isolate power. Inspect mechanism, cable, battery, and load. Do not raise power or rely on automatic jam handling.
Exit ticket & assessment
- Show the first allowed ON event when R3 is held through INIT and START.
- Explain the latch and power after DOWN is released, and name the control that ends the program.
- Convert 0.25 to a percentage and explain why it is not a speed measurement.
Assessment: Look for a correct input/latch/power trace, command-percentage arithmetic, and a safe stop explanation. Use quiz responses as practice feedback, then ask students to explain one answer in their own words. Supervisor approval of the hardware and setup is separate from worksheet performance.
Extension challenge: Design a repeatability study that changes one variable, such as load, while keeping command and observation interval fixed. Add a coast-time column and identify the instrument needed to measure RPM or torque.
Teacher key · discuss after students predict
Held-button trace
Held through INIT/START: OFF/0. Release: OFF/0. New press: ON/+0.25. Both held loops and the next release: still ON/+0.25. Next press: OFF/0. Only a rising edge toggles.
Command arithmetic
Both +0.25 and −0.25 have 25% magnitude; their signs select direction. 0.10 is 10%, which is 15 percentage points below 25%. Neither command supplies an RPM measurement.
Override trace
ON → held DOWN: latch false, −0.25 → release: false, 0 → new R3: true, +0.25 → B: false, 0 → B release: false, 0. B/Start clear the request; Driver Station STOP ends the program.
Readiness and observations
ARMED, engagement, and hub response are operating checks, not speed measurements. UNKNOWN SDK health alone can be normal. Variation at the same command can come from battery, load, friction, or observation method.