Made a Soundboard
For years I’ve wanted to make a stand alone soundboard. While doing Unfocused Podcast, we had fun playing random sounds to express ourselves with meme sound clips. Eventually we got a legit soundboard. I got a Launchpad, a MIDI controller that is used to make music in programs like Ableton and FL Studio. This worked great, it has 64 buttons on it but it could probably have an infinite amount of sound clips. The only problem is it needs to be plugged into the PC with software running in the background. And then there’s the issue with recording sound from the computer while recording a podcast. I rather have all the sound come into the mixer so other random computer sounds don’t record into the show. Overall I want the computer to do less while I’m streaming and recording a podcast. I never found a soundboard that can be independent of a computer. If I did it was a huge DJ set with more than just a few buttons, which would have been cool but not what I needed.
I looked into building my own soundboard and it seemed do-able but also out of my comfort zone. I will slowly do research and build-up to this by doing smaller, easier projects. Years later, maybe like 10 years later, I finally decided to make a soundboard. I came across this random YouTube short showing off a DFPlayer Mini MP3 player. It’s a small module that plays MP3s but it’s bare, no buttons, no screen. It has a SD card slot so you can load your audio files and 16 pins for power, speaker output and other stuff. I think one way to get this to work is to wire buttons with different resistors to it, each button plays a different sound depending on the voltage sent to the device and the voltage determined by resistors.
I did more research into this and learned you can connect this to an arduino. I don’t have any but I know I have some ESP32s, so I looked into using that. I also researched button Matrix. I’m used to using buttons for fight sticks, they can share one ground but each button needs their own wire so the main board knows what button you’re pushing. But I didn’t know button matrix was a thing. I learned a 4×4 set of buttons only needs 8 wires, instead of 17 wires. This blew my mind and made a lot of things make more sense. And rather then buying a button matrix I learned how to make my own. Then when I was looking for my ESP32, I found my Arduino Nanos. I forgot I had these! I used it to make a sound mixer, I loaded Deej to a nano and it made it easy to control different volumes on a computer, maybe a story for another blog. But I had an Arduino now so all the other videos I saw that were using arduinos… I can do it that way now. There were more ways to do this with arduinos over esp32s.
I bought some new buttons and pcbs and made a 4×4 matrix then attached everything to a breadboard for testing. Loaded some code to the nano then started pushing buttons. It didn’t work right away. I figured there was a problem with the buttons, and there was, there was a short. My soldering was a mess so some wires got crossed. After I cleaned it up it worked great. I have 16 buttons but I didn’t have 16 sounds to play yet, only about 11. So I could never confirm everything worked exactly as planned, which is that each button should play a different sound. That was a problem for future AJ. In theory, everything worked so I attached everything to a board and soldered everything down. First time I’ve done this. I guess I etched my own PCB before and I thought of doing that for this project but that would have been too much work.
Everything was wired and soldered and seemed to work so all I needed to do was 3D print a box to hold everything. As that printed I added more sounds to do a final full sound test but not all sounds played, they repeated instead. I don’t know why but I talked to chatGPT about it and it gave me slightly different code from what I was using and it gave me a different way to name my mp3 files, and also said the mp3 files shouldn’t be more than 128kbps. So then I renamed and downsampled the files and loaded the new code and now everything is great. The buttons play a different sound… and that’s it. That’s all I wanted. It’s a separate device that doesn’t need to be plugged into a computer. It just needs 5v of power, like from a phone charger, and an aux cable. I plugged it into my mixer and it sound pretty good over that. Mission Complete. Maybe I’ll add a battery to it someday?
Post Comment