
Pi SD Writer (Android): write Raspberry Pi images to microSD from your phone (USB OTG, cloud/local sources, chunked streaming)

Hi folks, I’ve been building **Pi SD Writer**, an Android app focused on one workflow: preparing and flashing SD images for Raspberry Pi/SBC devices directly from a smartphone.
The goal is to remove the laptop/desktop requirement and keep the process reliable even on mobile hardware.
What it does
* Select image source from: * Google Drive * Local file storage * GitLab Releases (Premium) * GitHub Releases (Premium) * Raspberry OS catalog * Supports common formats: * `.img` * `.img.gz` * `.img.xz` * `.iso` * `.zip` * Writes directly to microSD over **USB OTG**. * Uses **streaming/chunked transfer** to reduce peak RAM usage during write operations. * Includes guided 3-step flow: * Source selection * USB/device validation * Write progress + live log output
Technical approach (high level)
* Cloud/release sources are validated before selection so users get a list of valid image assets first. * Write path is designed around block/chunk streaming rather than loading full images in memory. * UI exposes progress state, ETA area, and live diagnostic logs for visibility during long writes. * Connectivity-sensitive sources (Drive/GitLab/GitHub/Raspberry OS) are disabled when offline. * Google auth is used for account/session features and plan management. * Base plan has a monthly write quota; Premium unlocks unlimited writes and extra repository integrations.
Why I built it
The existing SD flashing flow is still desktop-first. I wanted a phone-first workflow that is practical when traveling or when you only have Android + OTG adapter + SD reader.
Known constraints
* OTG hardware quality matters (reader/cable stability can affect results). * For network-backed sources, internet connectivity must remain stable during transfer. * UX and recovery paths for interrupted writes are still being improved.
Feedback I’m looking for
- Which source integration matters most to you (Drive/local/GitLab/GitHub/Raspberry OS)?
- Would you prefer stricter pre-write validation (slower, safer) or faster start?
- What diagnostics are most useful in the live log when a write fails?
- Any must-have feature before wider release?