A 2004 IPOD STREAMS SPOTIFY - THERE'S A RASPBERRY PI HIDDEN INSIDE
A second-hand iPod Classic from 2004 streams Spotify — the click wheel still works, but inside there is a Raspberry Pi Zero W, a colour screen, a battery and a haptic motor.
by Guy Dupont
AudioOpen-hardware
Built withRaspberry Pi
- difficulty
- ●●●●○
- time
- a weekend-plus
- license
- Apache-2.0
- repo
- repo INACTIVE1,043 stars
●●●●○ · a weekend-plus · Apache-2.0 · 1,043 stars · repo INACTIVE
WHAT YOU’LL NEED
Jump to section
COMPAREE VERDICT
This is a deeply satisfying rebuild if you want the tactile feel of an iPod click wheel controlling a modern streaming library. The hardest part is not the Pi — it is getting a working click wheel from a donor iPod and wiring it to the Pi through an FPC breakout without a custom PCB. The repository has the software, setup steps and a wiring diagram, and the Hackaday.io page has the parts list and build notes, but you will spend most of your time with a soldering iron in a very tight space. The original iPod screen is not reused: Guy drove a tiny composite-video display from the Pi. What will trip people up: the raspotify client the setup installs needs a Spotify Premium account, and the repository has not been updated since March 2022, so expect to adapt packages on a current Raspberry Pi OS. If you have never soldered fine wiring before, practise first. But if you have the soldering patience and a working click wheel in hand, the result is exactly what it looks like: a 2004 iPod that streams your Spotify library over WiFi to Bluetooth headphones, with haptic feedback on the click wheel.
IN THE REPO
GOOD TO KNOW
- —Full Python and C source code, software setup steps and a wiring diagram are in the repository; the parts list and hardware overview are on the Hackaday.io project page.
- —The iPod case and click wheel are salvaged from a 4th-generation iPod; the original mainboard is replaced by a Raspberry Pi Zero W.
- —No 3D-printed parts; everything goes inside the original iPod shell.
- —Requires a Spotify Premium account (paid subscription) for streaming to work.
- —Apache 2.0 licence, no restrictions on commercial use.
- —The repository does not include pre-made circuit boards; all wiring is point-to-point soldering following the diagrams.
Parts to buy
9 itemsFrom our check of the build. Exact quantities and part numbers are in the creator’s BOM.
- Used 4th-gen iPod Classic with working click wheelFind
- Raspberry Pi Zero WFind
- Small composite-video displayFind
- 1000mAh Li-ion batteryFind
- Adafruit Mini LiPoly USB chargerFind
- Adafruit PowerBoost 1000 BasicFind
- 10x2 mm vibration motor discFind
- FPC breakout board for the click wheel cableFind
- Transistor and wireFind
Can I build this?
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
Videos
Spotify Streaming on a modded 17-year-old iPod Classic (via Raspberry Pi)
Guy Dupont's own demo of the finished sPot; the build details and wiring are on the Hackaday.io project page.
More builds like this
All projectsGallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Read the full README and wiring diagram before buying anything (The README covers the software setup and wiring diagram; the Hackaday.io project page has the hardware overview, parts list and build logs, and Guy's video shows the finished device.)
- 2.Source a working iPod Classic with an intact click wheel(Use a 4th-generation iPod, the model the project was built for; you need the click wheel and case, not the mainboard. Test the wheel before disassembly if possible.)
- 3.Set up Spotify API credentials and install the Pi software (Requires a Spotify Premium account and registering a developer app for API access.)
- 4.Follow the wiring diagram to connect the click wheel, LCD, battery and Pi (This is the bulk of the work — take photos as you go, because troubleshooting connections in a closed case is painful.)
Resources
Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.
KNOWN ISSUES
- The Spotify client requires a Premium subscription; free-tier accounts will not work. The README never mentions this, so check your account before you start.
- The click wheel ribbon cable is fragile; one torn trace means sourcing another donor iPod. Test continuity before soldering.
- There is no custom PCB — all wiring is point-to-point. Budget time for this; the repository shows the connections but each solder joint is your own.
- The original iPod battery is not used: a 1000 mAh Li-ion cell is charged through an Adafruit Mini LiPoly charger and boosted to 5 V by a PowerBoost Basic, with the iPod's lock switch wired to the boost board's enable pin. Use a protected cell and the proper charger.
- The build is documented only for the original Pi Zero W; if you use a different board, check clearances inside the case before committing.
Will this work with Spotify Free?
No. The Spotify API integration requires a Premium account to stream tracks.
Can I use a Pi Zero 2 W for better performance?
The project was built and tested on the original Pi Zero W only. The Zero 2 W has the same board outline, but nobody in the project has documented fitting it, so check clearances and heat inside the case yourself.
Do I need to find a specific iPod model?
A 4th-generation click wheel iPod — that is the model the build and the click wheel code were written for. The creator does not cover other generations.
How long does the battery last?
The creator does not publish a runtime figure. The build uses a 1000 mAh 3.7 V Li-ion cell, boosted to 5 V for the Pi Zero W and the display, so expect it to depend heavily on WiFi and Bluetooth use.
Is there a pre-made PCB or kit available?
No. All wiring is manual point-to-point soldering. The repository does not link to a PCB design or a parts kit.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
Guy Dupont fitted a Raspberry Pi Zero W, a small colour screen and a battery into a 4th-generation iPod from 2004 — the click wheel still works, but now it streams Spotify. What would you rebuild first: an old iPod, a Nokia, or something else?
Guy Dupont
Guy Dupont is a maker who builds projects that blend vintage interfaces with modern streaming services. He started sPot after his mother-in-law gave him a bag of the family's retired iPods, and the project was widely covered, including by Tom's Hardware.
DISCLAIMER
- Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
- Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
- Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.
CompareeTEAM2mo agoedited
Practical notes from our verification: the repository holds the software and one wiring diagram, while the parts list and build logs live on the creator's Hackaday.io project page, and Guy Dupont's own video shows the finished iPod. The build is made for the 4th-generation click wheel iPod: the click wheel connects through an FPC breakout with just four lines (3.3V, ground, data and clock), the original screen is replaced by a small composite-video display, and audio goes out over Bluetooth. The software setup is long but spelled out step by step, including creating your own Spotify developer app. The README does not flag it, but the raspotify client it installs needs a Spotify Premium account, so check that before you start. The repository has not been updated since March 2022, so expect to adapt package versions on a current Raspberry Pi OS. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.