An Arduino-Only Electronic Drum Kit
This instrument is played without a MIDI controller for sampling, using custom inputs and an R2R ladder.
Audio hacks using Arduino and other similar dev boards are fairly common. Consider, though, that playing back audio samples is generally offloaded to a computer-based system per memory and processor restrictions. Hacker “joekutz,” or “JoEtuube” on YouTube, wondered if he could make a standalone audio sample-based drum kit with only an Uno, without any sort of external storage.
The big challenge, as explained in the first video, is that in order to properly reproduce drum sounds, you need roughly five seconds of audio for each instrument, each of which takes up nearly 500kB of space at CD quality. The Arduino, however, only has 32kB of memory, and even at an eight-bit sample rate, just one clip takes up more than that.
His solution was to clamp down these samples further, experimenting with four bits, then upping it to five bits when that proved to be a bit too rough. After further sound optimization — including using the Arduino to upsample the stored five-bit sounds to seven-bit before playback—and work to allow multiple instruments to play together without bogging down the processor, JoE had a system that could play drums all on its own.
Additionally, he created a custom R2R DAC and input pads made out of converted CDs. He also made two DIY pedal controls to play the double bass or close the high hat. More details can be found in the project's write-up. Along with the first clip's build outline, the second video shows JoE playing the electronic drum kit, together with his circuitbent toy piano.