Podcast To SD Card
April 12, 2026 ยท View on GitHub
A desktop GUI app (PyQt6) that syncs podcast episodes from an RSS feed to a micro SD card.
Features
- First run: Formats the SD card (exFAT), names it based on the podcast, and downloads as many episodes as will fit (newest first)
- Subsequent runs: Detects played episodes (via file access time heuristics or manual marking), deletes them, and downloads new episodes into the freed space
- SQLite tracking: A lightweight
.podcast_sync.dbon the card itself tracks episode metadata and play status - SD card detection: Auto-detects removable devices via
lsblk/udisksctl
Requirements
- Python 3.10+
- PyQt6
- Linux with udisks2 (standard on most desktop distros)
Install
pip install feedparser requests PyQt6
Run
python -m podcast_to_sd
How It Works
- Enter a podcast RSS feed URL and click Fetch Feed
- Select your SD card from the dropdown
- Click Sync Now
- First sync: confirms formatting, downloads episodes
- Later syncs: removes played episodes, downloads new ones
- Eject the card and listen on any device
Play Detection
The app checks if an episode file's access time (atime) is newer than its modification time (mtime). If a media player opened the file, this heuristic marks it as "played." You can also manually mark episodes as played/unplayed in the episode table.