I bought some basic components to get things started on a prototype. More than anything, I need to know if the ESP32 can handle this. I'm pretty sure it can but better to be sure.
- A cheap I2S PCM5102 DAC
- TPA3122D2N and the rest of the components require to get it up and running
- PN532 NFC reader/writer
I've used an Espressif ESP32-DevKitC I had laying around (I keep a few on-hand) and a spare display with an integrated micro-SD card reader. The great thing about this model is that it doesn't feature a logic level shifter, it's just the micro SD card slot and a single decoupling cap. I'm not using the display (it's a 2.8" TFT) just the SD card reader. I don't have the correct display, so I'm using a spare 3.12" OLED from Newhaven Display for now. It has the same SSD1322 and the same resolution, so it's functionally identical.
I wired up the SD card reader to the ESP32, put a few songs on an SD card and had the ESP32 reading the contents in no time. I added the PN532 and spent a long time looking for libraries that worked. First I had to format the cards, prepare them, then write a string (a filename of a track on the SD card). At this point, I could wave a card and it read the card - most of the time. The problem is that the linear regulator I'm using is a cheap module from eBay that, frankly, is useless. The voltage it puts out is anything but smooth and the PN532 appears to be fairly sensitive to voltage spikes.
I had the display working in no time. Now for some sound!
I wired up the DAC - just a few pins: power, ground and three I2S connections then plugged in some headphones. I was excited, this would be sound! I powered it up, flashed the firmware and... nothing. No sound at all. Hmm. I fiddled around with the DAC and it made no difference. Wiggled some wires - the way we always do, hoping it will magically fix things - but there was no magic today. After some experimentation, I found that if I not only powered the DAC module with 5V but also provided 5V to the XFMT pin, I got sound! Hooray, it's working. The code is very rough, but it works.
I've breadboarded up the amp... excited to hear it make some sound, but alas, no sound from the speakers. All I have is a strange clicking noise. It seems that this is usually related to the decoupling caps - but I've tried everything, even posted on forums, but it seems that the TPA3122D2N just isn't breadboard friendly. I can only hope that once I've designed the PCB and built it all, that the amplifier works.