
I Turned an Old Android Phone Into a Full Klipper Host
I’ve been working on AndroidKlipper, a project that runs Klipper, Moonraker and Mainsail directly on an Android device instead of using the phone as just a KlipperScreen/Mainsail client.
The printer MCUs connect directly to Android over USB host/OTG. AndroidKlipper bridges each MCU into a stable PTY, then runs the normal Klipper/Moonraker/Mainsail stack locally.
So far I’ve tested it on:
Retroid Pocket G2 — best-tested host; completed sustained real prints and long idle testing
Fire HD 8 — works as a host, but couldn’t charge while hosting USB with the hardware I tested
Moto G 2024 — clean install through Mainsail, normal Voron config upload, Klipper READY and successful homing
One of the biggest things I’ve learned is that USB-C + OTG + a powered hub does not necessarily mean an Android device can charge while remaining USB host. I’m documenting that per-device because it may actually matter more than CPU performance for long prints.
The goal isn’t to replace or hide normal Klipper. Your printer config stays yours, and I’m deliberately not weakening timing/safety limits to paper over Android USB problems.
Repo:
https://github.com/nozzlenaut/androidklipper
I’ve also been documenting the hardware testing on Unqualified Repairs:
https://www.youtube.com/@UnqualifiedRepairs
I’m particularly interested in people trying this on other Android hardware. Device model, USB setup, MCU type, charging-while-hosting behavior and long-print results would all be useful.