The Arduino Synthesizer

The Arduino is able to output sound through a library that has been developed called the Tone Library.

By creating an interface and a program that can call certain values to be output to an audio out, the Arduino Synthesizer is a robust tool for making a rudimentary noise machine. It uses granular synthesis techniques to generate a distinctive sound that can be a whole lot of fun for musicians, artists, tinkerers, and hobbyists.

Step 1: How it works

Sound is created by playing the same sound grain, or samples (small pieces of around 1 to 50ms) over and over again at very high speed. Our ears and brains turn this into an audible hybrid of the repetition rate and the original grain, and it sounds like a constant tone.

The grain consists of two triangular waves of adjustable frequency, and adjustable decay rate.

The repetition rate is set by another control.

Step 2: Materials and Tools

To make this project, you will need the following things.


(5X) 5K potentiometer– (Radioshack #271-1714)
(5X) Potentiometer knobs – (Radioshack #274-416)
(3X) LEDs – (Radioshack #276-307)
(1X) SPDT switch – (Radioshack #275-1549)
(1X) Light Dependent Photo Resistor – (Radioshack #276-1657)
(1X) Arduino – (Radioshack #276-128)
(1X) Arduino Protoboard – (Radioshack #276-140)
(1X) Tactile Switch – (Radioshack #275-002)
(1X) Project enclosure – (Radioshack #270-1807)
(1X) 1/8″ Audio Jack– (Radioshack #274-251)
(1X) a whole lot of solid core wire – (Radioshack #278-1222)
(1X) heat shrink – (Radioshack #278-1627)
(1X) breadboard – (Radioshack #276-002)
(1X) jumper wire – (Radioshack #276-173)
(3X) 10K ohm resistors – (Radioshack #2271-1335)
(3X) 220 resistors – (Radioshack #271-1313)
(1X) 9V battery – (Radioshack #23-866)
(1X) 9V battery clip – (Radioshack #270-324)
(1X) size M coaxial DC power plug – (Radioshack #274-1569)


  • soldering iron
  • solder
  • flux
  • glue
  • multimeter
  • drill

Step 3: Code, Circuit Diagram, and Power.

The Arduino Synthesizer

I have attached the code for the Arduino to this Instructable. You will need a USB 2.0 to upload it to your board. After you have uploaded the code from your computer, go ahead and attach the Proto Shield to your Arduino.

You have many options when it comes to power. The Arduino is capable of running on a 9v wall wart power supply, or you may use a 9V battery with a battery clip to a size M coaxial DC power plug. You may also power via your USB cable.

The circuit diagram was made with Fritzing, it has also been attached to this step.

Step 4: Using a breadboard.

By using a breadboard to build the circuit first, it is much easier to transfer the circuit to your Protoboard later. Run wires from the GND and 5V to the – and + rails of your breadboard.

Then, connect the signal wires from the potentiometers to Analog Input 0-4 on the Arduino. The right and left side leads will get connected to the ground rail, and positive rail of the breadboard.

Connecting the potentiometers will control the grain, frequency, and decay of the synthesizer.

Analog in 0: Grain 1 pitch
Analog in 1: Grain 2 decay

Analog in 2: Grain 1 decay
Analog in 3: Grain 2 pitch

Analog in 4: Grain repetition frequency

Step 5: Wire your Audio Jack.

Solder wires to the your 1/8″ mono audio jack, make your leads fairly long. Connect your positive lead to PWM~ 3 on the Arduino. You will need a 10K ohm resistor between the arduino board and the positive lead of your audio jack. Connect the negative lead of your jack to ground rail of the breadboard.

Step 6: Connect your photoresistor.

One lead of your photoresistor is wired directly to your 5V positive rail on the breadboard, as well as Analog Input 5 on the Arduino. The other lead of the photoresistor is connected to a 10K ohm resisted ground rail.

Step 7: Connect a SPDT switch.

Connect the signal, middle, lead of your SPDT switch to Digital pin 02 on the Arduino. The remaining leads are connected to ground, and the 5V positive rail that is resisted by a 10K ohm resistor.

Step 8: Wire the tactile switch.

The tactile switch has four leads. Allow the switch to straddle the bridge of the breadboard. Connect one of the two parallel pins to your 5V positive rail on the bread board, and the other to a 10K ohm resisted ground pin.  The last connection of your tactile switch connects a signal wire between the switch and Digital Pin 6 on the Arduino.

Step 9: Connect the LEDs.

Step 10: Test it!

This is the completed breadboarded circuit. Test with a pair of headphones, or connect to a small speaker. If you are using headphones, this is a mono output, and it will be loud. Do not put your headphones directly near your ear when firing up this synth.

Step 11: Drill the enclosure.

The Arduino Synthesizer circuit
Drill out holes in the project enclosure for each of the components that were placed in the breadboard. I used a gold paint pen to mark where I wanted my holes.

Drill five holes for the potentiometers.

Five small holes in a square for the tactile switch.

Three pairs of small holes for each of the LEDs

Two holes close together for the photoresistor.

One hole for your audio jack.

One additional hole for the SPDT switch.

Step 12: Start adding components to the enclosure.

Thread the five potentiometers through the holes that have been drilled, then secure them into place.

Step 13: Add the rest of the components.

Secure the LEDs, SPDT switch, tactile switch, audio jack, and photoresistor into place. A dab of hot glue worked great to quickly mount all of these components.

Step 14: Wire the audio jack to the Protoboard.

The next few steps outline how to move the circuit from the breadboard to the Protoboard. Because all of your components are secured to the enclosure, it will be simple to run wires from your components to the board.

Solder lead wires to all of the components within the the enclosure, using red and black wires respectively to denote which leads are positive and negative.

On the Protoboard, connect one wire to digital pin 3, and solder into place, run a jumper wire to the center of the board so that you may break the line with the same 10K ohm resistor from the breadboard.

When you solder these into place, make sure you drop enough solder on to the board to connect the wire to the resistor.

For more detail: The Arduino Synthesizer

Clip to Evernote

Leave a Comment

(Spamcheck Enabled)

Read previous post:
Pro Arduino by Rick Anderson E-Book
Pro Arduino by Rick Anderson E-Book

So, you've created a few projects with Arduino, and now it's time to kick it up a notch. Where do...

Scroll to top