Even those critical of Apple as a company have to admit that they were really onto something with the iPod. The click wheel was a brilliant input device, and the simplicity of the gadget’s user interface made it easy to get to the music you wanted with a minimum of hoop jumping. Unfortunately it was a harbinger of proprietary software and DRM, but eventually there were a few open source libraries that let you put songs on the thing without selling your soul to Cupertino.
Of course, modern users expect a bit more than what the old hardware can deliver. Which is why [Guy Dupont] swapped the internals of his iPod Classic with a Raspberry Pi Zero W. This new Linux-powered digital audio player is not only capable of playing essentially any audio format you throw at it, but can also tap into streaming services such as Spotify. But such greatness doesn’t come easy; to pull this off, he had to replace nearly every component inside the player with the notable exception of the click wheel itself. Good thing the Classics were pretty chunky to begin with.
In addition to the Pi Zero running the show, he also had to fit a 1000 mAh battery, its associated charging and boost modules, a vibration motor for force feedback, and a 2″ LCD from Adafruit. The display ended up being almost the perfect size to replace the iPod’s original screen, and since it uses composite video, only took two wires to drive from the Pi. To interface with the original click wheel, [Guy] credits the information he pulled from a decade-old Hackaday post.
Of course with a project like this, the hardware is only half the story. It’s one thing to cram all the necessary components inside the original iPod enclosure, but by creating such an accurate clone of its iconic UI in Python, [Guy] really took things to the next level. Especially since he was able to so seamlessly integrate support for Spotify, a feature the Apple devs could scarcely have imagined back at the turn of the millennium. We’re very interested in seeing the source code when he pushes it to the currently empty GitHub repository, and wouldn’t be surprised if it set off a resurgence of DIY iPod clones.
We’ve seen modern hardware grafted onto the original iPod mainboard, and over the years a few hackers have tried to spin up their own Pi-based portable music players. But this project that so skillfully combines both concepts really raises the bar.
This looks fucking awesome!
I pushed the code later last night : )
Thanks for the write-up!!
Guy, amazing! Great job! The whole article I couldn’t help but think it seems like a missed opportunity not calling it a PiPod . Did that name occur to you?
Thank you! That name did occur to me (among many others, most bad), but I honestly I just liked how sPot looked at the top.
Yea it’s too bad he couldn’t figure out a way to save the lock button. Maybe he could make a small latching circuit to change power states when you hold the center button for 5 seconds. Just need to tie the output rail of the latch to the enable pin of the boost converter.
(maker here)
Thanks, I think I’m going to do this. I ended up with more space than I thought I would have. I honestly didn’t think about it that hard because I grew up with the capacitive 3rd gen model and I never actually… used the lock switch.
If you have the manufacturing resources this would make an excellent product funded by KickStarter
I was thinking it would make a cool kit. Could sell a PCB with display, click wheel connector, and some headers to connect the pi. I just wish the iPod generations weren’t so different!
Yeah a kit sounds good, as long as the price is right. Can wait for you to share. Awesome project.
I hear you about the different gens being so different. If you ever did want to make a kit though, I’d be the first to buy!
That’s cool. Always wanted a 1st gen style ipod device, and if I could do it w/o actually having to deal with an apple product… :)
Looks very cool. The only sad part is that the RasPi does not have low-power mode.
Cool! but it would be great to be able to repeat without using the original player as they are very difficult to find and use a different display like ST7735 or similar.
Naturally, this is another version that differs from the author’s idea, but I would definitely put together such a version with more accessible details, and I’m sure that even more people would be involved. Success to the author, I hope you appreciate my idea.
Doesn’t the new pi micro controller have a lower power mode, that may be able to do some of this ( though possibly not Spotify) with a smaller footprint giving guys amazing work room for a larger battery or more storage
There seems to be a lot of confusion over what the Pico is. It’s not a Linux board like the other Pi’s, it’s a microcontroller closer to a high-speed Arduino.
That doesn’t change the fact that it could be done. It’s pretty damn fast, but you still would need a way to implement wifi to stream the music. My understanding is the Pico doesn’t include radios like the Pi’s. If it had, that would have been a killer solution, but I guess that would push the price point towards the esp32 and start a pricewar.
ESP32 can already do internet streaming.
https://www.espressif.com/en/news/ESP32_Internet_Radio_Player
There are also DIY ESP32 MP3 players.
It is probably just about right amount of CPU horse power to run rockbox firmware – an open source firmware for Mp3 players.
Now that’d be an interesting idea. I always thought it’d be interesting to build a rockbox rackmount hdd audio player. I figured I’d gut an ipod and rearrange parts to fit a custom enclosure, but it’d be a lot more interesting if I could customize functionality on some sort of sbc/micro but run the rockbox fw on it.
It’ll take a bit of work because it uses its own light weight OS and low level I/O drivers that you’ll need to port. i.e. can’t use pre-canned stuff as is. On the other hand, you don’t need to reverse engineer your own fully documented hardware.
BTW Some of the early (Rockbox supported) Ipods does have dual core ARM7 running at 75MHz.
Might want to thorw in I2S CODEC for better audio.
I remember rockbox. In fact, I think rockbox was the first time I hacked anything. Thought I was pretty smug, too. Literally ran a simple script, iirc. Over 10 years later i’m hacking into hot air desoldered spi-flash chips to dump and modify code encrypted firmware on a Linux box running under a VM with PCI passthrough. Simpler times. I remember pulling it out to listen to music in a dusty, dirty military terminal in Kuwait while waiting for that dreaded c-130 flight into Iraq. Everybody was in amazement at how I ‘hacked’ my iPod like a rebel and could do all sorts of shenanigans. So rockbox devs, your work was there, working solidly, in a wartorn country. I wish I had something significant to offer the world like that. I need to pick up coding again.
Did you reuse the apple DAC or something Pi centric?
The audio quality on the 5.5th/5th/4th generation of iPods is the best of the iPods IIRC
Bravo. I’ve had this idea in my head for a long time but never the software skills to actually make it happen. Will definitely be making one of these ASAP!
Pity that Spotify won’t be around much longer.
You might need to find another use for it…
Maybe an MP3 player?
🤣
put big mechanical disc 1T
put big battery
and make normal linux , why nobody can make it for linux users?
I need mp3 player for 2-3 days working time
I believe that the 1Tb mechanic disc would be impossible, as those ipods used the 1.8 format, and with a raspberry pi there is no way to have 2-3 days working time, as it doesn’t have a low power mode.
If you’re interested, there are mods for using a ipod 5.5G with a msata ssd, which paired with rockbox could give some of the features you want.
This is amazing man, way to go. How long did this take you from conception to working product to video being done? I’ve been working on a nixie tube watch for a couple years now and between work and family I almost get no time to do stuff like this… then I see people kick ass like you and get reinvigorated. Again, well done
Very cool. I just ordered all the parts to make one. I think I’m going to design an internal structure to mount all the hardware to.
Please let me know if you do! Would love to see it. Was thinking of 3D printing something.
Will do. Thanks for posting this. Great work!
this is so amazing and inspiring – like the others here i am going try ! ordered my apple 4th gen
but in the photos – what is that BLACK TAPE COVERED ITEM with the HAPTIC – what kind of board is that? is the transistor underneath? obviously a novice – but inspired by this romantic practical device!
Hi Tom, I find this post so interesting. I have a question and will really appreciate your input and help. My iPod Touch Gen4 is connected to mt AV processor via an Onkyo docking station (DS-A1X) and the analogue interface that it provides (RCA). I absolutely love the sound of my iPod due to the excellent Wolfson DAC (WM8975) inside it and probably other filters that Apple has probably incorporated. My only challenge is that I am not able to install spotify on it to turn it into a Spotify Connect receiver in order to stream music to it from my Android Smartphone.
Is there anyway around this?
Also, is the output stage via the dock using the 30-pin interface different to output stage of the headphones jack on the iPod?