This project is based around ESP32-S3, which has advance compute and IO capabilities, while also being widely supported and thoroughly documented. I've implemented the PCM5102 I2S DAC for audio, MAX1811 BMS for power, and a microSD card for storage. Meanwhile, an IPS LCD display renders graphics, and a (very fun) mechanical clickwheel takes user input. These components, along with 0603 passives, came together on a four-layer rigid PCB, manufactured by PCBWay.
After prototyping in the ArduinoIDE, I took a leap of faith and migrated to the PlatformIO development environment. It ended up being an amazing choice, as it made development much easier and more flexible. That being said, I stayed in the Arduino development framework, allowing me to leverage myriad tried and true libraries. Most of it is standard (although poorly implemented - I barely knew how to write code, let alone organize an object oriented architecture when writing it) except for my organization/database paradigm.
Because I love classical music and planned to primarily listen to it via this device, I decided to implement my own organization database which optimizes for it. Using SQLite, I was able to create a simple database which allows for organization by Composer/Piece as opposed to Artist/Album/Song, while also allowing for alternative parameters such as conductor, orchestra, performer, era, etc..
Although I originally had grand ambitions for the enclosure, the device's body nevertheless ended up a collection of 3D printed pieces. All components slot into the front plate, while the battery is held onto the back plate with clips, and 14 mm machine screws tie the two together, sandwiching the PCB between the two (and screws are secured into threaded inserts, of course:).
The end result is a chunky, but nevertheless functional digital music player, vaguely reminiscent of classic iPods, yet subtly modern. The clickwheel and headphone jack clash with the USB-C port and layer lines to create something uniquely contemporary - but still inspired by classic technology.
I also committed to developing all aspects of the device in Free and Open Source Software. Although this was at times painful, it was a valuable experience - with the added benefit that all source files are hyperaccessible.
Justinas Petkauskas
Keenan Pinto
Andrey Ovcharov
Max.K