Skip to content
Projects / LAB-01

Projector Pit Stop

Why one press on the remote moved four times, and how ADB alone cut the time to the launcher from 18.3 s to 10.3 s.

Part no.
LAB-01
Status
archived
Platform
Android TV · ADB
Year
2026
Stack
adbShell
18.3→10.3sLauncher ready after boot animation
~30→16.6sKeystone and focus done
15Bloat packages disabled
01 — The problem

The remote "skipped" (one press, four moves) and the projector took ages to become usable after power-on. The bootloader is locked, so there was no root to work with.

03 — Back of the napkin
Back of the napkinRough · not a forecast

No business here, just a payback calculation.

  1. Seconds saved per boot8
  2. ×Boots per day2
  3. ×Days per year365
  4. =Time saved per year≈ 97 min
  5. ÷Time spent debugging≈ 3 hours
  6. =Payback period≈ 2 years
Running costs
Tools
adb, €0
At 10× / 100×

The fix is a script, so every identical projector gets it for free. Shared as a write-up, it pays back for strangers too.

Verdict

It doesn’t pay back for me for two years. Fixing the remote that pressed every button four times was worth it on day one.

04 — How it works
Diagram · Debug loop
  1. 01Profile bootBuilt a timeline from kernel start and found 40 boot receivers starving the CPU.
  2. 02Find the culpritLate key-ups tripped the 400 ms auto-repeat. Switch Access was adding a key filter and burning CPU through TTS.
  3. 03De-bloat15 packages disabled per user, no root needed.
  4. 04Revert scriptrevert.sh puts everything back.
07 — Notes from the build