I just got a new Arduboy off of Amazon and the speaker is so quiet I have to hold it to my ear to hear anything. This doesn’t seem normal otherwise what would be the point of having a speaker in the first place.
Is there anyway to fix it, I’m well versed with soldering and electronics.
EDIT: My wife says I’m just deaf cause she can hear it just fine sitting 2-3 feet away from it. Guess that means I won’t be able to enjoy the awesome chiptune music until I can get some hearing aids.
The sound is on the quiet side of things and yes, it’s pretty normal to not clearly hear the sound, specifically the chiptune music you note unless you hold it to your ear.
When I was designing the Arduboy I spent a couple months in a last ditch effort to increase the volume of the piezo by adding some kind of amplifier circuit but the truth is it’s a mechanical problem. I need to fit an actual speaker or create some kind of engineered cavity within the case.
Better sound is high on the priorty list for the next version. When I made the first Arduboy I was happy with a simple beep but very quickly with the development kids people made the chiptune sound and I tried very hard to get what I was already working with louder but it would have required a total redesign and the Kickstarter was already several months late at that point.
So, you don’t need hearing aids.
There are mods though, you can get external audio if you want to wire some connections inside.
The problem is that the piezo is behind the battery which silences it. When put at the back plate, it resonates better and produces louder sound. The piezo must be electrically isolated though.
For those who like tinkering and don’t care about warranties, you can put some kapton tape at the inside of the back plate and stick the piezo speaker to it using some more kapton tape (only at two edges). Make sure the tape only touches the metal side of the piezo and not the piezo electric material as you’ll pull it off when you need to remove the tape later.
There’s a “Make Loud” solder jumper on the circuit board, which may increase the speaker volume. The piezo speaker is double sided, with an element on each side. Only one element is connected by default. The “Make Loud” jumper connects the second element.
I’ve soldered the jumper now, but it didn’t really make much of a difference.
Not quite sure I understand what you’re referring to. Do you mean taping the piece speaker to the backplate, and if so where exactly should I place the tape. Don’t mind tinkering with this as that’s the nice thing about open designs. As it stands I have all the parts ordered to make a clone with adding an audio amplifier circuit and a flash ram chip to follow your other topic Mr.Blinky.
I’ve always enjoyed making games as a hobby and really like experimenting with data compression techniques, which is what really grabbed my attention with this. Sound quality isn’t really a deal breaker for me and I kind of anticipated it. Though even games like Mystic Balloon that use simple beeps and boops is still incredibly quiet and barely audible. Will continue to tinker and see what I can come up with. Thankfully TeamARG’s Hot Butter demo will make an excellent test of the speaker setup I’m working on.
FYI the sound amp I’m using is Adafruit’s PAM8302 mono amp and has a built-in pot for volume control. Just need to design and 3D print a knob for it. Once all the parts come in in the next couple days I can start bread-boarding my designs.
Both sides of the piezo are always wired (it is essentially a vibrating capacitor driven with a +/- 5V square wave after all). Two I/O pins connected to the piezo are driven opposite of each other (180 degrees out of phase) at the desired audible frequency and likely 50% duty, and by merit of the push-pull nature of the pins that can source and sink current the applied voltage can be positive or negative (or zero if both pins are held low). If only one side of the piezo were wired, absolutely no sound would be produced as there is no return path for the ac current. My guess is the make louder shunts/bypasses a current limiting resistor in series with the piezo.
The piezo element has 2 electrodes, on the front and the back. Only one side is electrically connected with the wire. I had no idea what I was doing when I designed this circuit but the concept was to drive both sides of the piezo means twice as loud. It is louder, but not really.
If you are looking for better sound from your Arduboy, really the best thing I think is to bring out the wires and just hook it up to something else.
The schematic shows both sides of the piezo (labelled SPK as test point pins) wired to two I/O pins (PC6 through cap and PC7). You cant just wire one side of a piezo and leave the other completely floating as there is literally no current return path. I cant say for certain since I don’t have an arduboy to check but what is likely happening is the front of the piezo is made of metal mounted to the back metal case which is grounded through the screws to the ground plane of the pcb and that provides the return path. Many watches use this method as it saves soldering an extra wire (sometimes they even omit the back wire and just solder a spring on the pcb that touches the back of the piezo when the case is closed).
To get it louder you can either increase peak to peak amplitude up to a point (and thus increase amplitude of mechanical oscillation) or mount the piezo to a cavity that is designed/tuned to have resonance around the frequency range of sounds the piezo will make. Really though the easiest way would be to just use a better speaker like you said
You also need to turn the piezo 180 degrees so the solder bobs on face the Arduboy PCB.
That’s probably because the make load pad connects the piezo layer facing the PCB to the same pin as the piezo layer on the otherside. So the piezo material expands in opposite directions rather then in the same direction.
Shunting/shorting the series resistor won’t make a differences in loudness as the piezo consumes tool little power for that.
Looking forward to your creation
Nice. I’ve recently orded a few of these myself because it has differential inputs. I’m still waiting for them arrive though. The pot won’t be of much use unless you intend to connect only one audio input pin. When connecting both audio pins to the differential inputs, volume can be controlled using a 10k or 20k stereo pot.
I now have a breadboard prototype of the RGB LED and mini metal speaker with class D amplifier setup.
Below is a video I took of the production Arduboy and my prototype.
Special thanks go to Mr.Blinky for his Homemade Arduboy board for the Arduino IDE since I just have a Pro Micro to work with. Thankfully I found one that has the longer leads and will be using that for the final build so as to maintain compatibility with pre-compiled game files.