Sometimes the best projects come from necessity! In this case the headphone jack on my phone got a little messed up and the trrs jacks wouldn't make contact quite right, requiring much wiggling and holding in place to get that good good stereo. Now it is possible to replace the part but my track record with trying to fix my own phones isn't stellar and in addition this provided opportunity for a project!
I had a couple esp32 development boards sitting around and know they're capable of I2S and with some further research I found out they have support for the A2DP sink bluetooth profile which means they can act as a device you stream audio to over bluetooth. The place I work sells a simple I2S dac/amp that is mono by default but can be configured to stereo if using 2 different boards, one acting as left channel and the other right. Throw some protoboards, some headphone jack breakouts and some hook up wire in with these and that was my first prototype!
Using the default A2DP Sink example included in the ESP-IDF i managed to get audio to play! however I quickly learned that I did not know much about headphones! Most headphones share a common ground both channels however these particular I2S dac chips expect a dedicated ground for each, it would require some further external components to get working right but is doable. However I felt like taking things a step further in the project,
I'll cover this in part 2!!