I'm still obsessing over the clicky problem. How do you get a small handheld device to click? This is surprisingly hard!
The way I see it, I have a handful of choices:
- SOLENOID: An electromagnetic solenoid, either snapping itself or on the case
- RELAY: A relay (which is basically just #1 in a special case)
- SPEAKER: Simulating a clicky sounds with a speaker
- PEIZO: The old ipods with the fake clicky sounds used this
- CLAPPER: There are electromechanical clappers for turn signals
Lets take each in turn:
Yes, this seems obvious but is quite tricky. First I ordered a bunch of little solenoids. The ideal solenoid, when triggered, would pull two peices of metal together or would bang something against the side of the box. Seems like most solenoids are designed to be extended in their normal state and then "pull in" when activated. Therefore, springs and other things have to be integrated into the solenoid to properly get a click. Some solenoids have a nice metal plate inside, but the tiny ones don't. I have little experience with ordering or sourcing springs and metal actuators. And the only assemblies of solenoids that come that way are large and impractical.
I haven't given up hope yet, but this was not as simple as I expected.
The relay is more practical. It already has all of the hardware inside of it to make a solenoid bang against something. But it turns out the newer and lighter the relay is, the less click it makes. The loudest relay I could find is immensely satisfying and only 6V but way too big. Relay designers are optimizing for metal parts that have less wear and tear, and probably consider the clicky noises to be an unwanted side effect.
At least for now, this is the best solution.
Another option is to simply load a waveform of a click into the teensy and play it back at a loud volume. This is probably something I should try and will do next time I can. But I want it to feel a little more real than just a canned waveform - e.g. a bit of variation each time. And I want the vibration to transfer into the case itself.
So I tried investigating how you actually synthesize a click or a clapping sound. The teensy has a wonderful library that lets you do many synthesis tasks on chip. But It turns out, the click is not a very simple task. The "click" is really many small pulses. Most tutorials on the web for how to program a synthesizer end up using a very complex envelope to trigger the sound. I have no doubt that I could get this right, but I feel like I'd spend a day or more just getting the sound library to recreate them.
Another option is to get some similar click sounds and play them out randomly.
In theory, a Peizo disc is basically a transducer. It should radiate motion into the case itself, just the way I want. So I'm very excited to try this approach. Unfortunately, it also is not a simple task. Peizo's want lots of voltage - 20Vpp (peak-to-peak). Some people recommend taking a small step-up transformer to get this. That itself adds a massive component I'm not sure I have space for. Others suggest using a H bridge with a 20v step up. This is feasible, but definetly complex. I'm not an EE guy and from what i can tell the peizo acts like a capacitor so you have to actively charge and discharge it. Anyway, I plan to try to prototype this idea with a H bridge driver i have laying around.
A third, probably the best approach is to use a dedicated IC. I can see this being the simplest solution. These ICs like the MAX9788 actually have a charge pump built in to get you from your projects 5V to the 14-20V you want for the piezo. They take either a digial or analog signal and drive your ceremic peizo speaker perfectly. Sounds great huh?
Well, the packaging is the challenge. The MAX9788 is either 20WLP or 28TQFN.
WLP? what is that?
So remember BGA (ball gate array), the thing you basically can't solder by hand? WLP is basically the next evolution from BGA. Its a 2mm x 2mm wafer package where the entire component is the size of the actual silicon wafer. I have no access to reflow soldering, stencils or solder paste. So ditch that idea.
28TQFN is tolerable, If you are insanely careful, and use lots of flux, you might get away with that.
There is another contender, the LM48560. This is a DSBGA 16 package, which is another ball gate array.
Why? Why??? Well, my guess is that lots of new designs for small mobile electronics are calling for peizo speakers theses days and TI and Maxim are trying to serve that market, not hobbiests like me.
Anyway, thats where I am in my current state of research.