Lebot2 Diagnostics User Guide
A practical guide for running robot diagnostics. No code knowledge required.
Quick Start
- Connect - Phone/Driver Hub connected to robot via USB or WiFi
- Select OpMode - Choose
Lebot2Diagnosticsfrom TeleOp menu - Initialize - Press INIT on driver station
- Run - Press START, then use gamepad to navigate tests
Controls
| Button | Action |
|---|---|
| D-Pad Up/Down | Select test level (L0-L4) |
| D-Pad Left/Right | Select test within level |
| A | Run selected test (confirm motion warning if shown) |
| X | Run all tests in current level |
| Y | Run FULL POST (all levels) |
| B | ABORT current test (emergency stop) |
Important: Always be ready to press B to abort if something goes wrong.
Test Levels
L0: Hardware Exists
What it checks: Can the robot talk to each device?
- No motion required
- Safe to run anytime
- If a test fails, check that the device is plugged in and configured correctly. Note that this won’t confirm that dumb devices are present (motors, servos, analog and digital sensors) or connected properly, but will test whether the device names in code match the saved configuration.
Common failures:
- Device not in robot configuration
- Loose cable connection (for i2c sensors)
- Wrong device name in config
L1: Hardware Function
What it checks: Does each device respond to commands?
- Some tests require robot elevated (wheels off ground)
- Motors will spin briefly
- Sensors will be read
Common failures:
- Motor spins wrong direction → wiring issue
- Sensor reads max value (8190mm) → sensor not detecting
- Encoder doesn’t change → encoder cable issue
L2: Subsystem Behavior
What it checks: Do the subsystem behaviors work correctly?
- Uses real robot code path
- Tests intake, loader, launcher behaviors
- Requires working L0/L1 first
Common failures:
- “Robot init failed” → Fix L0/L1 issues first
- Behavior doesn’t activate → Check subsystem code
L3: Integration
What it checks: Do multiple subsystems work together?
- Tests parallel control domains (drive + intake simultaneously)
- Tests targeting behavior
- Requires space for robot motion
Common failures:
- Targeting timeout → Check vision/AprilTag visibility
- Parallel test fails → Check for hardware conflicts
L4: Missions
What it checks: Do complete autonomous sequences work?
- Requires significant field space
- Tests launch sequence, intake cycles
- Some tests may be skipped (require Mission class)
Running at Competition
Pre-Match Checklist (Pit)
Quick Check (2 minutes):
- Run L0 tests → All should PASS
- Run L1 voltage test → Should show 12V+
- Spot-check one motor from each subsystem
Full Check (5-10 minutes):
- Run FULL POST (Y button)
- Note any failures
- For elevated tests: prop robot on blocks
- Address failures before queueing
On-Deck Checklist
Before each match:
- Run L0 tests (30 seconds)
- Check battery voltage
- Verify Limelight connection (if using vision)
Failure Triage
| Symptom | Check First |
|---|---|
| Motor not found | Config name, cable connection |
| Motor spins wrong way | Wiring, or note for code fix |
| Sensor reads 8190mm | Sensor blocked or disconnected |
| Distance sensor flaky | I2C cable, try different port |
| Pinpoint not updating | USB cable to Pinpoint |
| Limelight not found | Ethernet cable, power |
| “Robot init failed” | Run L0/L1 to isolate problem |
Understanding Results
Test States
| State | Meaning |
|---|---|
| PASS | Test completed successfully |
| FAIL | Test did not meet expected criteria |
| SKIPPED | Test couldn’t run (missing hardware or prerequisite) |
| ABORTED | Operator pressed B to stop |
| NOT_RUN | Test hasn’t been attempted |
Reading the Display
=== LEBOT2 DIAGNOSTICS ===
Level: L1: Hardware Function
Test: [3/10] leftRear spin
[RUNNING] Motor spinning...
Press B to abort
- Level - Current test category
- Test [X/Y] - Which test in the level
- State - Current test status
- Instructions - What’s happening or what to do
Motion Warnings
Some tests will show:
⚠️ MOTION WARNING
Robot will move ~30cm forward.
Clear the area and press A to confirm.
Always:
- Clear people and obstacles
- Keep hand near B button
- Watch the robot during motion tests
Troubleshooting
“Robot init failed”
The L2+ tests need to initialize the full Robot class. If this fails:
- Run L0 tests to find which hardware is missing
- Fix hardware issues
- Retry L2+ tests
Tests take too long
- L0/L1 tests should complete in <1 second each
- L2/L3 tests may take 2-5 seconds (subsystem behaviors)
- If a test hangs, press B to abort
Inconsistent results
- Check battery voltage (low voltage affects motor speed)
- Check for loose connections
- I2C sensors can be flaky - try multiple times
Can’t select a test level
- Use D-Pad Up/Down to change levels
- Some levels may be empty if tests aren’t defined
Test Reference Card
Print this for pit use:
LEBOT2 DIAGNOSTICS QUICK REFERENCE
===================================
D-Pad Up/Down = Change level (L0-L4)
D-Pad Left/Right = Change test
A = Run test
X = Run level
Y = Run all (FULL POST)
B = ABORT (emergency stop)
PRE-MATCH: L0 all + L1 voltage
FULL CHECK: Y button, ~5 min
If something fails:
1. Check cables
2. Check config names
3. Ask coder team
===================================
Last updated: January 2026
