Load the optimizer export, rev, release, then read the recorded launch. Compare the model with the reference and commands the blaster actually used. Reading the recorder does not run the motors.
Waiting for a launch. Live samples appear here when streaming; the recorder supplies finer detail after release.
Throttle is the command sent to the ESC, not measured motor power. Current estimates are model values. These observations can identify firmware limits; separating ESC behavior from motor physics requires current measurements.
Diagnostic Reference Guide: What causes fast-ramp cutouts and DShot 0?
Fix: Use high-discharge LiPos (>=75C), ensure the pack is fully charged, or reduce the Throttle Rise Limit in Blaster Settings.
Fix: Solder a 35V low-ESR electrolytic capacitor across the main power leads and ensure telemetry signal wires are kept away from phase wires.
View 16-Knot Trajectory Table & Inferred Current Points
| Knot # | Time (ms) | Time Frac | Target RPM | Speed % | Modeled Current (A) | PWM Duty % |
|---|
ffCal) stored in EEPROM with real-time linear interpolation. You can edit points directly below or run an automated curve sweep with bidirectional DShot telemetry and smooth decel glide.
Closed-Loop PID Dynamics & Guided Auto-Tuner
2-DOF Dual Motor Control 1000 Hz DShot Telemetry1 · Setup
Connect your blaster to read its controller and launch settings.
Motor measurements take priority over live graph delivery.
Validation applies to the saved configuration. Older profiles have no validation record; their origin cannot be inferred.
2 · Tune
Both motors run together through feedforward measurement, validation, PID tuning, and final validation. Write your launch settings before starting and keep them fixed during the run. One PID pass measures existing gains; multiple passes compare candidate gains. Remove the magazine and darts.
Loaded Dart Recovery
Optional loaded-dart testing fires normal gated shots and grades recovery after the RPM disturbance.
Idle. Load one dart before starting a recovery test.
| Target | Dart | Drop | Bottom | FPS | Recovery | Result |
|---|
Connect your blaster, then choose Tune Blaster. Updated firmware is required.
The graph keeps the full session across stages. FF is measured, applied, and validated before PID uses that fixed curve. Normal glide only permits DShot 0 below 2,500 RPM on both motors; cold PID tests then wait for both to stop. Fault shutdowns can stop drive immediately. Cancelling restores the prior tune after glide-down. Firmware continues if USB disconnects; reconnect to recover status.
3 · Results
No run completed in this session.
Per-motor measurements
| Stage | Motor | Target | Start | Pass | Steady RPM | Error | Overshoot | Rise (ms) | Settle (ms) | Kp | Ki | Launch limited by | Result |
|---|
| Pt | Anchor RPM | M1 Throttle (DShot / Power %) | M1 Drive | M2 Throttle (DShot / Power %) | M2 Drive | M1 vs M2 Balance | Status |
|---|
ESC Phase ESC Startup Limitations
When a brushless motor accelerates from a standstill, the back-EMF voltage is too weak for the ESC to detect rotor position. The ESC runs in open-loop mode. During this time, the output duty cycle is strictly constrained between Min Startup Power and Max Startup Power. Setting the startup power too low causes starting stalls, while setting it too high creates massive current surges that can fry the FETs. Zero BEMF crossover detection threshold determines when the ESC can safely transition to closed loop and follow the controller's full throttle commands.
RP2040 Controller Phase Legacy Launch Simulation
These simulator controls model legacy launch assist. They do not represent the current RPM PID launch path or write its throttle rise limit. For hardware launches, use Throttle Rise Limit and Launch Ramp Trajectory in Blaster Settings, then run Tune Blaster to measure the production path. Simulation predictions are not measured validation results.
| Point | Target RPM | Calibrated FPS |
|---|---|---|
| Pt 0 | RPM | FPS |
| Pt 1 | RPM | FPS |
| Pt 2 | RPM | FPS |
| Pt 3 | RPM | FPS |
| Pt 4 | RPM | FPS |