Backup the camera roll to a USB drive
Backup photos to a USB drive, in Azalea, is a first-class backend (provider usb), not a hidden export. Originals land on the volume you plug in. They do not go to an Azalea host. Bundle net.duguying.photos. iPhone cannot list USB volumes; you pick a folder in Files and the app stores a security-scoped bookmark. Android uses SAF: Choose backup folder on USB, persist the URI, engine extra.mode=bridge. Format exFAT if both phones will write. Names with : * ? are escaped. The ledger is .album/manifest.jsonl.
A folder inside iCloud Drive is not a USB disk. The “looks risky” confirm exists because that happened in a lab session. Unplugging pauses. Replugging resumes from the index, not from byte zero.
iPhone steps
- Plug the disk in until it appears in the Files app. Open it once there. Azalea will not show “SanDisk detected”; iOS does not let apps scan for USB devices. The in-app copy says the first pick has to be manual.
- Cloud Album → Backup Storage → + → USB Device. Pick a folder. Only one USB profile is allowed. Folders you pick stay listed; plugging the same drive back in is recognized so backup resumes. After connecting or removing a drive, tap Check again.
- Enable automatic backup. USB backup uses no network and runs only while the app is in the foreground. iOS only grants access to external devices while the app is active. Backup pauses in the background or when locked, and resumes when you return. Keep the screen awake for long runs.
- Watch Pending. When it hits 0, open a HEIC and a 4K clip from the disk. Then you may claim the same folder on Android.
On 14 Mar 2026, iPhone 15, iOS 18.6.1, SanDisk Extreme Portable SSD 1 TB, USB 3.2 Gen 2, factory exFAT, stock C-to-C, folder azalea/15-lab: 18,432 items, 86.41 GB, 257 minutes, ~5.72 MB/s. Twenty-three colon names escaped. Unrecoverable: 0. Around two hours the phone locked; the Live Activity stayed up but the task halted. Reopening resumed from the index. After the first pick, locking meant a manual Check again before isAvailable() — iOS has no attach event.
On 21 Feb 2026 the same class of disk showed the volume missing on next launch until refresh. That is not copy fluff.
Android steps
- Plug OTG. If the tree is empty, the phone may be in charging-only USB mode. Mate 60 HarmonyOS 4.2.0, 22 Feb 2026: switch to file transfer, then the volume appeared.
- Backup storage → USB device → Choose backup folder on USB. Grant the tree. Let persist run. Skip persist and the grant dies at reboot; the profile remains and lists nothing.
- Automatic backup. Foreground notification Azalea backup. OEM battery policy can kill the worker anyway. Open the app to resume.
- Only one USB profile. A USB profile already exists. Only one is supported. means edit the existing one.
Mate 60 + SanDisk Ultra Dual Drive Luxe 1 TB: 8,241 stills, 118 videos, 36.64 GB, 188 minutes, 3.32 MB/s. Unplugged at about 61% (DeviceDetached). Replug resumed. Twelve .<name>.<n>.tmp files were dropped and rewritten. Nothing lost under real names. Trailing spaces eaten on exFAT; a Windows leftover name kept a stable logical key via escape.
May 2026 lawyer-style setup: iPhone 16 Pro and Pixel 8a, Samsung T7 Shield 2 TB, 6,412 items, 31.8 GB, 96 minutes, no COS/OSS/S3 keys filled. Two failures were a loose cable.
What lands on the disk
<root>/.album/manifest.jsonl is append-only. Version header on line one, then logical key, physical path, bytes, MD5, tombstones. .album/ never shows up in list. exFAT has no xattr; checksums live in the manifest because storing MD5 the cloud way would throw ENOTSUP. Desktop and iOS default to path mode. Android has to use bridge because OTG only hands you a content:// URI.
Do not format APFS and expect Android to write it. Do not “fix” escaped names in Explorer. The logical key in the app does not change; the ugly names on Windows are physical paths. Dropping files into that folder from a computer does not ingest them into the index. Finder preview is not an import path.
One failure: iCloud Drive as the “USB” folder
The picker can start on a path the sandbox cannot treat as external. The system ignores a bad start and falls back. Open the physical disk in Files first, then return to Azalea. If you pick iCloud Drive, you have not left Apple’s account. USB backup, as this product defines it, is a volume you can unplug.
Cheap OTG cables that only charge will look like a product bug. Change USB mode, change cable, then Check again / re-grant the tree.
FAQ
Why doesn’t Azalea list my SanDisk on iPhone?
iOS does not give apps a USB volume list. Pick a folder in Files. Bookmark stays. Check again after plug or unplug. Details: /en/features/usb.
Can I backup photos to a USB drive and later open them on Windows?
Yes, as files on exFAT. HEIC may need a codec. Do not rename. Claim on another phone is the indexed path. Raw Explorer copies are fine to look at, bad to reorganize.
Does unplugging corrupt the library?
The engine writes temps then rename. The Mate 60 yank left twelve temps, not half objects under real names. Replug and resume. Disk full is OutOfSpace; the UI should pause, not paint one item red and keep scanning.
Can the same stick be claimed on a second phone?
Yes. That is claim the library on a hard drive. Finish Pending first.
Where do I download Azalea?
/en/download. If you would rather use a NAS than a stick, Samba guide. iCloud-free iPhone backup: backup iPhone photos without iCloud.