Skip to main content
Stretch Lab

Tasks

Work

Done, in the pipeline, and where the documentation lives.

Every done entry names its evidence and every pipeline entry names what blocks it. Updated 2026-09-03.

Documentation

The verified record; start with the manual.

  1. How Stretch 4 Works (the manual)153-page verified reference, CAD to ROS: power model, every rail, both firmwares, comms map, chip school, FMEA codes, all 22 schematic sheets.reference~/stretch_lab/services/power-state-fmea/docs/power-states-explained.html
  2. Findings log F0 to F40Every bench finding with its evidence bundle: 7 confirmed defects, rig self-corrections, doc corrections.evidence~/stretch_lab/services/power-state-fmea/docs/FINDINGS.md
  3. Firmware change specification89 verified changes across both PIMU MCUs, 12 grouped decisions for the team, every wire impact flagged.spec~/stretch_lab/services/power-state-fmea/docs/FIRMWARE-CHANGES.md
  4. FMEA coverage matrix146 source rows scored: 102 covered, 41 blocked on instruments, dispositions per row.evidence~/stretch_lab/services/power-state-fmea/docs/COVERAGE.md
  5. Expected-behaviour matrix (head engineer)8 power conditions x 19 observables = 152 cells; the autonomous test target.spec~/stretch_lab/services/power-state-fmea/config/expected_behaviors.json
  6. Month review prep + exec briefsCEO prep sheet, engineering brief, exec report, FMEA code guide.report~/stretch_lab/services/power-state-fmea/docs/

Done

Shipped, with the evidence behind each claim.

  1. healthy,
    Repo estate cleanup + stretch-lab.local portalEvery checkout on sbl6 inventoried live (55, 17.3 GB); 7.2 GB of rig telemetry and 5.2 GB of USB-power data moved out of git into ~/lab-var and symlinked; nginx + mDNS make http://stretch-lab.local/ the front door; /repos now shows commits that exist on no remote; port registry with conflict check. Deletions wait on approval (docs/plans/REPO-CLEANUP-2026-09-03.md).scripts/repo_inventory.py; platform/portal/; data/_platform/services.json; ~/backups/repo-safety-20260903
    hello-robot-repos
  2. healthy,
    Stepper control stack audit + two guidesSix-lens source audit of the S4 stepper: velocity control truth (VEL_TRAJ uses position gains), five-layer safety map, and a dead DRV-fault latch nobody had noticed. Published as a zero-to-hero guide plus the SE3/SE4 effort-conversion note.artifacts 1a7e7f5f + 0090519c; state/stepper-research/
    stretch-4
  3. healthy,
    Charge display + sleep beep firmware (M4/M5)Charge status stays lit while the adapter is present in sleep/shutdown instead of expiring after 20s. Minimal branch off develop, gate unit-tested, flashed and verified on 4020.feature/pimu-charge-display ce62513, v0.1.15p13, 5 native tests
    power-state-fmea
  4. healthy,
    4030 NUC_SD delivery fault isolated with the scopeESP's 53ms press proven healthy on the wire; 4030's NUC never receives KEY_POWER across wire repair and two reseats, while control robot 4020 registers it instantly. Fault is 4030's NUC-side landing.SDS1202X-E captures; kernel input watcher; F42 addendum
    power-state-fmea
  5. healthy,
    Power-key sleep fix, root-caused and shipped on a robotF27's dialog mechanism observed live on 4020, then beaten: logind alone loses to GNOME's key grab, so hello-powerkey.service reads the button below GNOME. Press to clean shutdown ~5s, proven headless.FINDINGS F42; tools/powerkey-fix/; 4020+4030 deployed
    power-state-fmea
  6. healthy,
    Power-state HIL rig + defect campaignBuilt the bench witness that outlives the robot; 272 evidence bundles, 7 confirmed defect mechanisms, 102/146 FMEA rows covered.FINDINGS.md F0-F40; runs/ bundles; 178 tests
    power-state-fmea
  7. healthy,
    Firmware v0.1.14p13, first observability releaseF23 ghost-wake fixed and re-verified on the same instrument; timestamp overflow, BMS liveness, frame identity, transition ring buffer on RPC 33/34. Natively unit-tested (first in the repo).stretch_firmware_ii f6cab0e; tests/native 13 cases; F39
    power-state-fmea
  8. healthy,
    How Stretch 4 Works manual153-page verified reference with two editions from one source (print + digital reader).power-state-fmea/docs; artifact 85c00bdb
    stretch-4
  9. healthy,
    PIMU battery stationNUC-free technician appliance: charge, discharge, condition, recover latched packs. 124 commits, org repo with CI.github.com/hello-robot/stretch4_battery_station, PRs 1-9
    battery-cycle-lifetime
  10. healthy,
    Battery field-failure triage ruleLow terminal volts on returned packs is usually a latched FET, not depletion; changes RMA disposition from scrap to recover.MLP2420P report 2026-07-30 + bench proof
    battery-cycle-lifetime
  11. healthy,
    P13 power FMEA + June risk reportThe written analysis the campaign is scored against; predicted the 262 s wrap bug seven weeks before measurement.Desktop/extra FMEA 2026-08-06; risk report 2026-06-30
    power-state-fmea
  12. healthy,
    Production tools + p14 telemetry auditsModemManager root cause for flaky stepper flashing; 13 wrong-device findings; p14 review caught a charger-control doc error.production_tools_audit_20260812.md; p14 audit on Desktop
    hello-robot-repos
  13. healthy,
    Lab network root cause + permanent monitorEvening dropouts were 2.4 GHz partial-overlap on channel 3; 7.66% loss to 0.04% after the fix; netwatch stays up.services/netwatch, matched-hour comparison; console http://sbl7.local/wifi/
    netwatch
  14. healthy,
    Fleet USB power monitor + 4039 diagnosisUSB re-enumeration instability isolated, over-current ruled out from logs; single-file fleet logger deployed.services/usb-power-monitor, 3.1 GB fleet logs
    usb-power-monitor
  15. healthy,
    PixArt line sensor failure-mode splitThree distinct modes separated; firmware deadlock found; system-check default fails healthy robots.memory pixart-line-sensor-dropout; llm/pixart-* branches
    stretch-4
  16. healthy,
    PIMU Q14 dock FET investigationNo-charge fault traced to one failed ORing FET back-energising the dock rail.PIMU2_Q14 report 2026-07-07 (post-repair check pending)
    stretch-4
  17. healthy,
    WS2812B V6 timing fix (merged) + 4042 lightbarTiming fix shipped to develop; 4042 dark lightbar isolated to board hardware past three wrong theories.PR 33 merge 5ec1f9b; blown-fuse conclusion
    led-project

Pipeline

Next, in priority order; blockers named.

  1. warning,
    Hand off the 3 fix candidatesOS power-key policy is DONE and validated (hello-powerkey.service); needs an owner to fold into stretch4_install. BMS freshness flag and watchdog kill separation still need owners.
    in progressblocked on owners
  2. warning,
    Spec the BMS UART interposerUnblocks the 11 highest-value untested FMEA rows (A13/A14/F-BM-05/F-BM-06 family). Parts on bench.
    in progress
  3. warning,
    Fill the 152-cell behaviour matrix, hand back MondayCameras and dock path live; run the autonomous survey, render the head engineer's spreadsheet with verdicts.
    in progress
  4. warning,
    Fix sentry_status_logger writer, then fields, then RPCLine-delimited JSON first (every file on 4030 is corrupt today), then BMS sample age, reset/brownout cause, rail command-vs-feedback, ESP freshness. Confirm with Shehab for SBS upward compatibility.
    in progressblocked on Shehab sign-off
  5. off,
    Office network: kill the remaining dropsRoot-cause what is left after the channel fix, or move robots, rigs, Shellys, cameras and lab servers off DHCP onto reservations/static.
    queued
  6. warning,
    Push firmware branch, PR, named reviewerTwo branches now: feature/power-state-observability (v0.1.14p13) and feature/pimu-charge-display (v0.1.15p13). Both verified on hardware, both local-only.
    in progressblocked on reviewer
  7. fault,
    Close the 12 firmware design decisions~44 of 89 spec changes wait on them.
    blockedblocked on state-machine meeting
  8. off,
    PixArt: review and bench test Ola's code3 failure modes isolated; fixes unmerged on the pixart branches.
    queued
  9. off,
    4042 lightbar: rework the fuse, verify the PIMUData line scope-verified healthy; find what caused the overcurrent before refitting.
    queued
  10. off,
    Battery station: double-press to conditionStart conditioning on a double press of the power button.
    queued
  11. fault,
    Production tools: station-registry fixProposed to Brad; only PR #31 landed from the audit so far.
    blockedblocked on Brad
  12. off,
    Jetson sbl7: dashboards + STT migrationAGX Orin flashed with JetPack 7.2 as always-on host; migration pending.
    queued
  13. fault,
    stretch_ecad ai/ layer: push after team processRefactor complete on branch; fold in the final S4 ECAD from Harsh once it lands.
    blockedblocked on team process + Harsh's push
  14. warning,
    Version-control the power campaign42 findings, the spec, two guides and ~13k lines of rig code are still untracked on sbl6. Highest-value housekeeping item.
    in progress
  15. fault,
    Repair 4030's NUC power-button wiringCopy 4020's NUC front-panel wiring; the true PWR_BTN pin idles ~3.3V bare. Then rerun scripts/powerkey_acceptance.py for the PASS.
    blockedblocked on bench/tech
  16. off,
    Report the dead DRV-fault latch to firmwarediag_in_drv_fault can never assert (AND-from-zero, inverted polarity), so the fault-to-SAFETY path is dead code fleetwide and status['is_drv_fault'] is always False.
    queued
  17. off,
    Recalibrate vision regions after the bench reworkAll regions read lit=None since the cameras moved; autofocus is now locked so the tuning will stick. Blocks vision-judged matrix scenarios.
    queued