BeatBox
Voice controlled Spotify Car Thing Clone
Friday June 6th, 9:00 AM : Deciding parts and setting up schematic
Now that I have settled on creating BeatBox, a Spotify Thing clone I have to now decide the parts such as the screen, MCU, etc. For the MCU, I have decided to choose the ESP32-S3 because it supports WiFi and Bluetooth capabilities. And for the display, I'm choosing the 2.8 inch ILI9341 TFT, which is good for the album art as well. For the input, instead of using something like buttons or a rotary encoder, I'm going to implement a voice command. This makes it very easy for the user to interact with the thing and it also makes it more unique. Originally, I was thinking of something like touch, like tap to play, but on second thought, I think that is more inconvenient. And so I'm going to try to implement a wake word to do it, but that's going to be the software side. And for the microphone, I'll be using the INMP441. Below is a schematic that I've laid out for this project.
After a bit of thought I decided to add a neopixel in order to light up when user says wake word to indicate it is listening.
Ended, 12:13 PM -> Total Time: 3 hours 12 min
Sunday June 8th, 5:30 PM : Finishing schematic
Today my goal was to finish a schematic because currently it was not fully finished because I needed a power source and I need to add footprints so that is my goal for today. So currently I had the ESP32, a screen, a microphone and an LED. The screen I first have to decide if I wanted 2.4 inch or 2.8 inch and I went with the 2.8 inch just because it's going to be easier to display the artist names and album art. So then I took a while to fix up some parts of the schematic and use correct symbols and this is what I have:
Next, to make this device portable I wanted to have a rechargeable battery using the TP4056 module.
Ended, 6:30 PM -> Total Time: 1h
Tuesday June 10th, 4:00 PM : Adding Power Source
My goal for today is to add a 18650 lithium ion battery w/ tp4056 module to recharge it. First I had to set up a 5V system which made it so I can regulate the 5V input to 3v3 for all other components except for the neopixel which can use 5v.
This took a while since I also resolved all the ERC (Electric Rules Checker) Errors.
Next up, I implemented the TP4056 module along with a lithium ion battery, this will make it so you can charge this device.
But after reviewing, Ryan Green on Slack found some issues and I fixed them and it resulted in the following schematic. This one uses TP4056 to receive charge then it gives it to AMS to regulate it and it also stores it in the battery cell.
Ended, 8:05 PM -> Total Time: 4 hours 6 min
Saturday June 14th, 11:30 PM : Assigning Footprints
Now it was time to assign footprints, I found many in KiCad and online and this is how it looked like. I found some for print right in KiCad and some might do a little bit of digging online and to like find them especially for the TP4056.
I couldn't find a footprint for the microphone, which is the only one that's empty for now. And so I thought I should just make my own.
Ended, 12:30 PM -> Total Time: 1h
Saturday June 14th, 7:30 PM : Laying out base of PCB
Next it was time for the PCB, finally! I had a little bit of idea of the layout I was going for, compact, yet sleek and an item that looks great on your desk. So I just moved and placed the components roughly:
Then I began attaching a 3D model to each component which was missing one so that it will be useful for CAD and for accurate PCB representation in the render. Some of the components which didn't have 3D models included the display, microphone, TP4056, etc.
After a aligning the models and online digging this is the layout I liked.
So the idea was that I'd have a cutouts in the case for the usb c port, mic (like many little dots), etc. It would make a balance between the hidden and transparent areas.
Ended, 8:30 PM -> Total Time: 1h
June 15th, 10:31 AM
Now I looked over the PCB design again and found some issues like the microphone over the charging port wasn't a good idea since the pins were going through it. So I revised the design another time:
Now that the layout looked good, I now started to begin tracing. I have 57 unrouted lines, this was my biggest harware project yet, so I knew this wasn't going to be easy.
After about 1 hour I had done it, I wired all the compoenents and fixed all the DRC errors as well. And this is how it looked:
Ended 12:00 PM -> Total Time: 1h 30min
June 21, 3:30 PM
I thought my PCB was ready to go but Marcus on Slack (https://hackclub.slack.com/archives/C056AMWSFKJ/p1750184017411649?thread_ts=1750006890.268569&cid=C056AMWSFKJ) suggested I should put the ESP's antenna over the board and so then I had to spend some time moving the board and then rerouting the whole thing. I then also resolved a couple DRC errors I came upon.
This is the 3D render:
Next up was making the case, I am not great and CAD design but I will give this my best shot. I will use Fusion360 for this.
I wanted to go for a desk friendly case so that this device could be at an angle and have a cool design on the back and be rounded everywhere. It would have cutouts for speakers, charging, screen, etc.
Total Time: 1h 30 min