In the age of streaming media, it’s easy to forget about audio CDs, but they still remain a physical format from the days when the “Play” button was not yet the “Pay” button. A CD player might not be the prized possession it once was, but there’s still a chance to step into the world of 120mm polycarbonate discs if you feel like it. It’s something [Daniel1111] did with its Arduino CD player, which uses the small microcontroller board to control a CD-ROM drive through its IDE bus.
The project draws heavily on the work of previous experimenters, including ATAPIDUINO, but extends them by taking audio from the player’s S / PDIF output. A port expander drives the IDE interface, while a Cirrus Logic WM8805 S / PDIF transceiver handles digital audio and converts it to I2S stream. This in turn is fed to a Texas Instruments PCM5102 DAC which provides line level audio output. All code and schematic can be found in a GitHub repository.
For anyone who worked in the CD-ROM business in the 1990s, this project presses a number of buttons, but maybe not enough to rip all of those CDs again. It would be interesting to see if I2The S stream could be directly extracted from inside the player, or even if the audio data could be received through the IDE bus. If you want to know a little more about me2S, we have an item for you.