Main features:
+ Play audio CD using ATAPI + SPDIF
+ Nice but simple graphical user interface using a VFD (no OLEDs/LCDs, unless someone codes in the support for those)
+ CDDB and MusicBrainz connectivity for metadata
+ Last.FM scrobbling
+ Time-synced lyrics display
? Multi-disc changer drive support
+ Internet radio receiver in MP3 and AAC format with metadata
+ Bluetooth reception with metadata display
+ IR and physical button controls
- OTA firmware updates with CI/CD
Stretch goals:
- Bluetooth audio transmission from CD
- HTTP web interface
OOS/Rev.2 ideation:
- SPDIF coax I/O and TOSLINK I/O (it's already on the chip but not on the Rev.1 PCB!)
- FM/AM radio
- Higher speed IDE bus using SPI expanders instead of I2C
- ... to allow reading MOD/XM/S3M/MP3/M4A files
- ... and potentially stream raw data off the disc, eliminating the SPDIF Out requirement on the drive
- ... potentially even allowing to use a SATA drive via an IDE-SATA converter
Components
1×
ESP32-WROVER (4M PSRAM, 8M FLASH)
The heart of the operation
1×
ATAPI CD drive
The thing to actually read the CD
Then again, the whole menu system is horribly unoptimized (allocate all things on the stack then copy, copy, copy!!), and yet it's completely human, no AI used! :P
Maybe one day I'll have the energy to fix it, for now I just wanna have a working thing!!
On which note it's mostly done I think, with the WiFi settings menu now in place. The only remainder is the radio URL input and selecting the CD track by number, and we're done!. Program playback, etc, maybe some day, but not for the first release.