![]() ![]() Forgive me, I spend most of my time in JVM-land. It was honestly pretty great to work with - front-end frameworks are hard to pick up! And this project was the first time I put any real effort into learning (and trying to love) Python. * I wrote the UI as a Python application using tkinter. * I used the Spotipy Python library to authenticate, search Spotify's catalog, fetch my saved artists/albums/playlists, and send playback commands to Spotify's servers. When it's running, the Pi appears as a "Spotify Connect" device on your account, and you can instruct it to takeover playback via an HTTP request (or using the UI of another authenticated Spotify client!). I installed Raspotify, which just runs as a daemon and handles everything once you've authenticated. * Streaming from Spotify was surprisingly simple. The Pi Zero is more capable than I originally figured. I figured I'd be conservative by not installing a full desktop environment, not sure if that was actually necessary in retrospect. * I installed Raspberry Pi OS Lite as my OS. * Connected the display directly to 5V and the Pi's composite video output! Conveniently, the PowerBoost module has an "enable" pin that can simply be pulled low to cut all power. * Repurposed the iPod's original lock switch to control the device's power. I use quick haptic pulses in place of the iPod's original click sound, which triggers as your finger crosses each of the click wheel's virtual "steps". * I used one of the Raspberry Pi's GPIO pins to drive a small DC motor (through a transistor, of course) for haptic feedback. Using an FPC breakout board, I easily connected the click wheel controller's 3.3V, GND, Data, and Clock lines directly to the Raspberry Pi. Thanks to this 10-year-old Hackaday article (and accompanying blog post by Jason Garr, I was able to find the pinout. * The click wheel connected to the original iPod motherboard via an 8 pin FPC cable. Both the Raspberry Pi and the display run on 5V. ![]() It's charged through a 500 ma Adafruit USB charger, and boosted to 5V using the Adafruit PowerBoost Basic. * Power is provided by a standard rechargeable li-ion battery. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |