WHY A USB DRIVE
DIY CD players and CD-ROM controller kits have been around for a long time, but almost all of them need an IDE (ATAPI) drive. They send play commands to the drive and use its analog or S/PDIF audio output. IDE drives are no longer made, and finding a working one gets harder every year.
USB CD/DVD drives, on the other hand, are sold new everywhere and are cheap. They have no audio output, so the player has to read the audio data from the disc and play it by itself. That is what CD Drive Player does.
HOW IT PLAYS A CD
The player is built around an RP2040, the microcontroller used on the Raspberry Pi Pico, working as a USB host. The drive is accessed as a USB mass storage device, and the audio sectors (CD-DA) are read digitally from the disc with the read commands for optical drives.
The data is buffered in the player and sent to the DAC for the headphone and line outputs, and to the optical output.
Because the audio is read as data, the sound does not depend on the audio circuit of the drive. The optical output carries the 16-bit / 44.1 kHz samples from the disc with no volume control and no resampling.
Both drives with a native USB interface and SATA or ATAPI drives behind a USB bridge have been tested.
READING THE DISC
The drive is not run at full speed. By default the read speed is limited to 2x, which keeps the current of the drive low.
Drives do not all behave the same, so the player has a few settings for the reading:
- READ SPEED: Max / 8x / 4x / 2x
- WARMUP SECTORS: a pre-read after loading, for drives that stop for a moment on their first read
- OVERLAP READ: each read overlaps the previous one and is checked, for drives that return data from their cache and cause clicks
These are needed only when a drive does not play smoothly with the defaults.
POWER
A drive needs a large current while the disc spins up. The player takes 5 V from USB Type-C and supplies the drive from its USB-A port, so a power adapter rated 5 V / 3 A or more is required (USB PD 20 W or more recommended). If a drive has its own power input, such as the auxiliary plug of a Y cable or the power adapter of a drive enclosure, connect that power first.
When the supply is not enough and the drive keeps restarting, the display shows CHECK POWER.
PLAYBACK AND CONTROLS
Everything is operated with a 5-way switch and a 128 x 64 OLED display: play / pause / stop, volume, track jump, fast forward and rewind, and eject.
- Play modes: Sequential, Shuffle, Sequential Repeat, Shuffle Repeat, Single Repeat
- No gap between consecutive tracks
- Resume from the stop position
- CONFIG menu for the audio outputs, display, drive and play settings
- ABOUT screen shows the firmware version and the USB ID, vendor and product of the connected drive
SPECIFICATIONS
Media: Audio CD (CD-DA)
Drive: USB CD/DVD drive, connected to the USB-A port
Analog outputs: PHONES 3.5 mm stereo, volume controlled (0 to 100); LINE 3.5 mm stereo, volume controlled or fixed
Digital output: S/PDIF optical (TOSLINK), 16-bit / 44.1 kHz, no volume control
DAC: PCM5102A
Headphone amplifier: TPA6132A2
Display: 128 x 64 dot OLED
Controls: 5-way switch (up, down, left, right, center push)
Power: USB Type-C, 5 V / 3 A or more (USB PD 20 W or more recommended)
Enclosure: PCB panels
Dimensions: 83.0 mm (W) x 21.0 mm (H) x 53.0 mm (D), including the 5-way switch button
Weight: 78 g
NOTES
Only audio CDs (CD-DA) are played. Data discs and CD-Text are not supported.
This is a player only. It does not record or write discs.
Operation with every USB CD/DVD drive is not guaranteed.
Connect only one CD/DVD drive to the USB-A port, without a USB hub.
The power adapter and cables are not included.
Elehobica
EquinnoxX
xxxlzjxxx