Arduino noise box synth

This project is an Arduino based step sequencer, synthesizer and sound effects box. It was constructed a year ago as a third birthday present, and has recently come back to me for some 'refurbishment' - fresh batteries and some glue to fix LEDs that have been pushed into the box. Not too bad after a year with a small child!

As my first Arduino project, it was a bit of an experiment with the Arduino programming environment, and I also wanted to investigate direct audio synthesis using PWM on the Arduino. The basic sequencer concept came from the Arduino Punk Console, while synthesis was adapted from the Atmega SID Project.

The basic features are:

  • 16-step programable sequencer with adjustable frequency and duration for each step
  • synthesizer with 4 output waveforms (sine, square, triangle and sawtooth)
  • noise generation (sirens, laser beam, random noise)
  • special random sound modes

The user interface is kept very simple, with just four knobs, three push buttons, 8 LEDs and a power switch. The speaker is connected straight to a pin on the Arduino via the volume knob - everything is done in the Arduino using PWM to generate analog waveforms. The LEDs indicate the current step in sequencing mode, and provide light patterns in noise modes.

Functions of the knobs

  • volume
  • tempo
  • frequency
  • duracino

Functions of the buttons

  • change mode / save step
  • play / pause
  • next step / change synth sound

Construction is very basic, with all of the controls mounted to the lid of a plastic box using hot-melt glue. Wires from the controls are soldered to header pins in the Arduino sockets. A piece of foam stops things rattling around inside the box.

In future I'd like to try adding a MIDI socket to attach a real keyboard, and try some more complex synthesis envelopes and modulation. For now it's a fun toy!

The full source code is available here:

For more recent Arduino projects, check the robots section of this site.

User login