An experiment pushing the limits of the Arduino Uno's memory. The glitchbox is an Arduino-powered, sample-based drum machine used for live audio sequencing. The buttons on the front of the instrument play back nine audio samples stored in memory. A switch on top records, quantizes, and loops sequences of these samples. Once a sequence is recorded, additional samples may be layered and automatically looped on top. Recorded sequences may also be temporarily muted or cleared and rerecorded. Two knobs on top of the instrument control volume and tempo. Complete build documentation can be found on Instructables. This project builds on the digital signal processing tutorials discussed in Arduino DSP.
Since all audio samples are stored in the EEPROM memory of the Arduino, they need to be heavily compressed to fit; this gives the glitchbox a characteristically gritty sound. The device can store 9 single-channel audio samples as byte arrays with an 8 kHz sampling rate. The total length of all 9 samples is limited to about 4 seconds. Once sequenced, audio is sent to a resistor ladder DAC, where each sample is converted from a digital byte to an analog voltage.
Two potentiometers on top of the controller control tempo and volume, one switch powers the device on and off, and another switch times and triggers looping.
USB port for programming the Arduino, and audio jack sends out line-level audio to headphones or speakers. The glitchbox can also be programmed as a serial interface/sequencer; in this mode it communicates serially with MaxMSP to control MIDI applications. More information on Instructables.