The StompByte uses the PCM.h library running on an ATMega328p to output a duty-cycle-modulated square wave on pin 11 at 8kHz, which is connected to a 1/4" jack. Clock source is a crystal resonator, and LM7805 is used to provide a stable 5V power supply. Stomping the button triggers a sound. Holding the button for two seconds cycles through different sounds. There are 10 samples and 3 patterns:

  1. muted kick
  2. rock kick
  3. tr808 kick
  4. woodblock
  5. cross stick
  6. tambourine
  7. handclap
  8. mario bump
  9. mario fireball
  10. mario jump
  11. pattern: rock kick – woodblock – tambourine – woodblock
  12. pattern: tr808 kick – tambourine – handclap – tambourine
  13. pattern: mario bump – mario fireball – mario jump – mario fireball

Three additional options are actually 4-step patterns. Steps 1 and 3 are triggered when the button is pressed, and 2 and 4 when the button is released.

Sounds are sampled to 8-bit PCM files, then converted to lists of 8-bit values and stored in program memory using the PROGMEM macro, using up most of the 32kb of the 328. A detailed explanation of the method can be found at MIT Media Lab's High-Low Tech blog - many thanks!

Code was written in the Arduino IDE, then the .hex file from compilation was flashed to the ATMega328p using the SPI interface on a Raspberry Pi, with the help of avrdude's linuxspi programmer option.