Close
0%
0%

Apple Game Boy: 2004 iPod running RetroPie

Full RetroPie functionality via a Raspberry Pi Zero 2w with the iPod clickwheel + bluetooth, wifi, and micro-usb charging

Similar projects worth following
I used to enjoy messing around with my father's old 2004 iPod when I was a kid, however after a while the hard drive broke and I shelved it. Recently I came across Guy Dupont's iPod rpi build which merged Apple and Spotify technology and I was inspired to do the same for Apple and Nintendo. Especially for one of my favourite consoles, the Game Boy. I also drew inspiration from another iPod hacking project: https://hackaday.io/project/182282-ipodrpi. In the end my iPod has the following features:

- Emulate a variety of consoles / games via RetroPie
- Custom made Apple Game Boy boot animation
- Full control with click wheel, expanding over 5 buttons with alternate click wheel touch controls
- Micro-usb charging
- Bluetooth connectivity
- Raspbian lite operating system under the hood

I may make a YouTube video outlining how this is built and showing gameplay / other stuff I couldn't put on Hackaday so let me know if that sounds interesting to you.

the animation I was talking about earlier ^


Disclaimer:

While I'm aware there are solutions out there to run gameboy games on older iPods without ripping them open (like RockBox), I opted to go for this approach because it allowed me to play more consoles, add colour, and much more flexibility with the Raspberry Pi for future development. (plus its more fun)

Hardware:

- Currently power is being provided by a 350mAh rechargeable li-ion battery, it is charged by an Adafruit PowerBoost 100 Basic

- The click wheel communicates via a 8 pin FPC cable connected to a breakout board, this allows it to be easily connected to the rpi

- A Waveshare 320x240 lcd is connected to the rpi via SPI interface

- I also wired the origional iPod lock switch to serve as the devices power switch, the way I connected it could certainly be improved however, I should've read the documentation a little more carefully

- Aside from not including haptic feedback and using the lock switch for power I essentially followed this tutorial by Ricardo Sappia to the letter: 

    It is a fantastic resource which I would 100% recommend if you intend to build something similar.

Software:

- I installed the legacy raspbian lite image directly from the RetroPie website to try to avoid any hiccups with installation. 

- I then went through the default retro pie installation process

- I modified the click.c program found in this GitHub repo: https://github.com/syproduction/ipodrpi to also include functionality for further buttons beyond the default 5 already built in to the iPod. Similar to what Guy Dupont originaly explain in his iPod sequel video I programmed a way for more buttons to be recognized by resting a finger on certain regions of the click wheel while pressing the middle button. You can find my version of the click.c program attached in this project ( Be warned that my C experience is minimal so it may not be perfect )

- As opposed to the two previous projects I used the gpio-key function in the rpi config.txt, I found this to be much easier than programming communication over ports.

Conclusion

Overall, this iPod project ended up being an amalgamation of Guy Dupont's origional ideas regarding the expansion of buttons on the iPod using the clickwheel and ofc putting retro pie on it in the first place, as well as Riccardo Sappia's really helpful and easy to follow tutorial for putting this together.

click.c

My modified version of the click.c program the includes functionality for more buttons.

C Source File - 10.02 kB - 07/08/2024 at 20:30

Download

  • 1 × Apple iPod - 4th-gen, model A1059 obviously
  • 1 × Raspberry Pi Zero 2w
  • 1 × Adafruit PowerBoost 1000 Basic (5V Boost module)
  • 1 × 350mah rechargable li-ion battery, 3.7V This should definitely be one with more capacity, 350mah just so happened to be what I had on hand.
  • 1 × 0.5mm, 8 Pin FPC cable breakout board

View all 7 components

View all instructions

Enjoy this project?

Share

Discussions

Ricardo Sappia wrote 07/17/2024 at 19:39 point

This just awesome! Very nice build 😀

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates