Bluetooth Speaker

I first thought of this idea while scrolling AliExpress. I saw an exciter speaker, and thought to myself, what if I made my own device that used this specific speaker type? I got it and tested it on different surfaces. I noticed it had low frequencies, so I also bought a tweeter to handle the high frequencies. I combined the two using a portable amp I had and tweaked the balance on my phone to get the right sound.

I wanted to take it a step further and make my own device. So, with the help of AI (specifically Gemini), I told it I had two speakers and an ESP32, along with the features I wanted. It then helped me find the other parts, and it gave me choices that best fit my needs. The parts that I got include 2x 30-watt amps, a buck converter, an OLED display, and an Adafruit DAC. I got myself an extra breadboard since I knew that ESP32 microcontrollers are slightly wide; thankfully, it also came with a barrel power jack.

This approach to component selection was a practical application of agentic AI and constraint-driven design. Rather than treating Gemini as a basic search engine, I integrated it into my engineering workflow as an active research node. By feeding it my strict system parameters—the specific exciter speakers, the ESP32, and my target features—I tasked the AI with evaluating hardware options to bridge the gaps. It didn’t just list parts; it optimized for system compatibility, which led directly to the selection of the buck converter and the Adafruit DAC. This demonstrates how AI can dramatically accelerate systems engineering, solving complex integration constraints before a single wire is placed on the breadboard.

ESP32s come in all shapes and sizes, with each one varying by manufacturer. What helps me most are these pin-out sheets. Though I still get confused occasionally, since sometimes a specific port is needed by more than one connection. Google Antigravity caught this and re-routed a pin in the code so that it would function.

I had some other issues, such as power management. I had a 12V 3A barrel power supply, which totals 36 watts. I was planning on a straightforward use of the barrel jack breadboard connector, but it down converted it to 3 and 5 volts, which just wouldn’t work. So I soldered straight onto the exposed barrel pins and plugged that into the breadboard. Now I know this is far from proper, but I didn’t have a permanent proto board, so I just made do.

I finally assembled and soldered everything, then uploaded the code that used the A2DP library, and it worked on the first try. I was able to control the whole device from my phone, and the song title was on the OLED.

In the future, I plan to add a motorized dial to provide the user with a way to interact with the device, along with upgrading the infotainment and power delivery/management using USB Type-C.

Share your love