It is often nice to have a way to add sound to your projects, especially Halloween projects. An easy and cheap way to do this is to pick up an inexpensive surplus voice recorder module from All Electronics and modify it to be triggered by an Arduino. I bought a bunch of them to play with.
So let’s get into it, first we need to dismantle the recorder.
1. Remove the batteries and unscrew the four screws securing the bottom cover. Remove the cover, this may require a bit of prying with a screwdriver.
2. Clip the red and black battery wires near battery holder, these will be attached to the Arduino for power.
3. Unscrew the four screws securing the PCB, this will take a fairly small screwdriver.
4. Remove PCB, the speaker slides out of a slot, but you will need to remove some hot glue to extract the microphone. Be careful doing this or you will end up re-soldering the microphone which can be a bit of a pain.
Once everything is removed we need to add a transistor that will act as a switch to be controlled by the Arduino. Any NPN transistor should work, two that I’ve used are the N3904 and the MPS2222a. With the PCB oriented such that the buttons are facing up the transistor should be solder across the button leads with the flat side facing down. Before soldering bend the middle lead down. I find that a couple inexpensive helping hands can make this operation much easier (Note the transistor lead is bent up in the picture, you will want to bend it down).
Since you have the soldering iron heated up, tin the ends of the power wires that you previously clipped. You will need to strip them first of course.
Now you should be able to insert the tinned red wire into the 3V3 header on the Arduino and the black wire into ground. Finally insert the bent transistor lead into port 13 (You may notice that I am in fact not using port 13 in the picture below, that was because I was using some different code, but using port 13 will allow you to use the blink sample directly).
Fire up the Arduino IDE, load the Blink sample program and download it to the Arduino. This should start playing whatever sample you have loaded for one second intervals with a one second delay in between.
From here you can tinker with the code to do something more useful, trigger the sample with a button or hook up some sort of sensor to trigger it.
There are a few things you will want to do to make it more than a quick hack and to improve usability in your project. Since the power wires and the transistor lead are pretty thin and slip out of the Arduino headers easily you will want to add some more substantial wires or even solder them directly to a proto-shield.
Another great modification is a jack to the speaker wires so that it is easy to direct the output into an amplifier. A somewhat more advanced enhancement is to replace the timing resistor with a potentiometer so that you could control the pitch for some truly spooky sounds.
You can find details on these modifications here and here.