Introduction: The Arduino OctoSynth

What is the OctoSynth you may ask? The octosynth is a polyphonic synthesizer that is able to produce eight Pulse Width Modulated tones that form together a musical scale. In English terms, it is a 8 key electronic organ that can play more than one tone at once but only one scale.

Special thanks to Joe Marshall who wrote the very useful code.

As suggested in the title, it runs on Arduino.

So before we get started, let's see what is sounds like. Shall, we?

And and explanation would be nice.

Step 1: Parts of the OctoSynth.

You will need:
An Arduino
12 Male headers (2 together and another six together. Also, another 4 together(Optional))
8 Unifomly LONG Wires ( By long I don't mean 3 meters but it means a decent 10 inches or maybe, 20 crentimeters.)
A Certain Amount of Copper Tape (Get a roll to be safe)
Enclosure (I used styrofoam as a base but if you want an enclosure, which is totally fine, you can use one. The length will depend on the wideness of you choose.)
Power Jack and Battery

Step 2: Program.

Upload the code below to the Arduino.

Open with the viewer of your choice.

Step 3: Build.

  1. Measure out how much material you have with the copper tape. Make sure you leave enough enclosure/foam to accommodate for the spaces in between to prevent shorting.
  2. Cut that much tape and maybe a millimeter more.
  3. Divide the tape into eight sections by folding.
  4. Solder ONE wire to each piece of tape.
  5. Solder male headers to the tape. Six pieces to six headers for six in puts and then a pair of two for the other two inputs; Digital 6 and 7.
  6. Order will now begin to matter. The first one (Analog 0) will go on the far left of the enclosure/foam. Analog 5 will go to the input 6 so it is la on the musical scale. 
  7. Digital input 6 is ti and input 7 is high do.

Step 4: Wiring.

Plug in the wires to the Arduino. Connect the speaker to Digital Output 11. You may need to use headers.

Step 5: Enjoy.

You can now add power to your Arduino. You speaker should play an opening tone.

The thing is the opening tone is when the machine calibrates itself. If you press any key then it will think that that key is 0. Count to ten before playing.

This is polyphonic and so it can play more than one note at once. Hope you enjoy.


CemR (author)2017-02-07

Hi, I made it but when i power it and not touch anything, after 3 seconds it stars making a loud sound. It is like every note is played.

I disconnected 7 of the (buttons?) it still sounds the same

CemR (author)CemR2017-02-08

Please help this is urgent

kahodel made it! (author)2016-09-28

It's great!
Lasse Munk (author)2016-05-20

Hi ! This is great !


I would like to use quite a few sensing 'pads' to make a sort of lamp. But I need some longer cables / wires.

It works when I use a 1,5m cat5 cable, using only 1 of the wires, but if I connect 1+ wires, then I can't get a reading from. Do you have an idea of why? And do you know how to use longer wires?

I'm not sure I understand it right, but it would it help to amplify the voltage?

blinkyblinky (author)Lasse Munk2016-05-22

When working with wireless, I often wish I could just use a very long wire and be done with it. Unfortunately, that is not always the case. In this case, this circuit depends on capacitance, so the lengthier the wire, the more noise the wire will pick up, meaning it will be less able to detect the change when you touch it. When you add another wire, you increase the amount of noise pick up. In this case, one viable solution I can think of is to use wireless, which can lead to a whole array of other problems.

ValdemarK (author)2016-05-10

Cool! Thanks for sharing! Modifying it to output midi would be really sweet! A small and simple polyphonic midi keyboard/ controller would surely be appreciated!

PCtronics made it! (author)2016-02-07

Great project, thanks a lot. A small video

ArnavS1 (author)2015-10-30

can someone give me the code the file is not compatible with my computer

Ricardo621 (author)2015-08-24

Hi, just made this in about 20 minutes – it's ace!

makeosaurus (author)2015-07-08

if you used a on-off-on switch could you program it to do two or maybe three different scales or change it using a potentiometer???

makeosaurus (author)2015-07-08

Could you use tin foil instead of the copper tape???

ramakrishna.kakani (author)2015-04-23

sketch_apr23e.ino:807:5: error: expected unqualified-id before string constant

Error compiling.

how to get rid of this? plz

arastırmacı (author)2015-03-24

sketch_mar25a.ino:781:5: error: expected unqualified-id before string constant

Why am I getting the error caused


Arduino 1.6.0 and beyond has problems with older code because some variable declarations have changed; revert back to Arduino 1.0.6 or something older and it should work but not before arduino 1.0 though.

Just the other day I was trying to compile some other code and found out that instead of just byte [variable name] I have to declare byte PROGMEM [variable name] in order to make it work; something similar may have happened with the Octosynth code so try an older build of Arduino such as Arduino 1.0.6 or prior.

DimitarD2 (author)2015-03-26

can someone help me?

i'm really bad with programing and i don't know what to do.

Arduino: 1.6.1 (Windows 7), Board: "Arduino Uno"

sketch_mar26c.ino:807:5: error: expected unqualified-id before string constant

Error compiling.

blinkyblinky (author)DimitarD22015-03-31

Arduino 1.6.0 and beyond has problems with older code because some variable declarations have changed; revert back to Arduino 1.0.6 or something older and it should work but not before arduino 1.0 though.

Just the other day I was trying to compile some other code and found out that instead of just byte [variable name] I have to declare byte PROGMEM [variable name] in order to make it work; something similar may have happened with the Octosynth code so try an older build of Arduino such as Arduino 1.0.6 or prior.

jo_mo (author)2012-02-17

Really great work. I made one and it sounds sweet.

arastırmacı (author)jo_mo2015-03-24

would you please assign me the code of the project

blinkyblinky (author)jo_mo2012-02-17

Very good job! Achievement patch coming soon!

Ploopy made it! (author)2015-02-16


Here's my messy version of it. I added volume control.

Nice code :)

Photo on 2-16-15 at 6.19 PM.jpg
amaria9 (author)2015-02-02

can the same code be used for lilypad?

saymowan (author)2014-09-23

Nice project, simples and amazing! :-))

orangeisnon (author)2014-06-12

First off, great project. I haven't read through all of it, but I get the idea.

Now, how feasible would it be to get this running using something besides the copper tape? Say, mmm, bananas?

Basically, could one use the same wiring and code from this and use bananas (like this: People know me as the banana guy, and I think it would be fun to make a video of me playing a banana synth. I've got all the parts (and the nanners) but the linked 'able doesn't use Arduino.

rogeliotorlao (author)2014-05-24

can you add more effects to choose from? and add more keys .. lt is a brilliant project

Electronickid4314 (author)2013-12-28

What's the point of havin the headers couldn't u just plug the wires straight in the arduino


The headers are thicker than the wire and are more likely to stay in the Arduino headers; they make the project more stable; also, it means you wont have to dig through to figure out which wire is which when you leave the project on hold and then suddenly pick it up again.

Electronickid4314 (author)2013-11-17

What gauge wire


What do you mean?

igneonumous (author)2013-09-09

i´m trying to make some like this but to use with Fl studio but i can´t figure how to change the code, any clue? (sorry my bad english)

blinkyblinky (author)igneonumous2013-11-17

I am not as advanced as FL Studio so I can't really help you there. Sorry.

agomes6 (author)2013-05-22

thanks for the instructable!

i am running into a problem though...i built mine and it only plays the first 3 keys, the remaining keys will play just fine if i touch the 9v battery...any thoughts?

blinkyblinky (author)agomes62013-05-22

What do you mean "touch" the 9 volt battery?

agomes6 (author)blinkyblinky2013-05-22

if i am in contact with the batteryor the arduino itself it plays, otherwise it will just plays the first 3 keys odly enough

blinkyblinky (author)agomes62013-05-22

Check the amount of power from the 9 volt using a multimeter.

If that checks out, look and see if you have proper connections.

agomes6 (author)blinkyblinky2013-05-23

battery was at 8.xx V capacity, the connections must be good, otherwise it wouldn't play properly attached to a usb port (does this make sense?)

I am using 1.2cm copper tape and they are 1cm apart from each other, I wonder if i am having some sort of capacitance issues. I will record a quick video and post it tomorrow morning

blinkyblinky (author)agomes62013-11-17

Sorry for the late reply but are you still having problems?

MaxTheFilmDude (author)2013-04-29

What kind of power source did you use? You mention a battery, but what kind?


9 volt.


9 volt battery

mabostudio (author)2012-09-11

very cool gizmo! we did this for burning man and people were awed!
thanks for the instructable.
I do have one question. Is it possible to wire this to a shiftbrite LED and have it play both colors and sound? I looked at the code but my novice level is a major handicap. how do you suggest this can be implemented?

Freaky271 (author)2012-08-29

to what pin I connect the speakers?

blinkyblinky (author)Freaky2712012-08-29

Pin 11

umfan110 (author)2012-07-31

could you add a pot to change the frequency of the synth

Emanuelgeo (author)2012-07-31

How did you connect the speaker up to the arduino board?

mocm (author)2012-02-25

any chance of midi out?

blinkyblinky (author)mocm2012-02-25

I am assuming you posted three of the same comments and then deleted two or Instructables just spazzed.

Not really. I have wanted to learn how MIDI works for a long time and what the uses could be...

If someone could write a good article (simpler than Wikipedia and other websites) I would probable try and add MIDI. I still have no idea about its application.

mocm (author)blinkyblinky2012-02-25

Hi, thanks for the replay...
i just sing up on the Instructables site and i mess with the comments ☺

blinkyblinky (author)mocm2012-02-25

Its okay. Sorry for no MIDI yet.

mocm (author)blinkyblinky2012-02-25

if you have sum time check my funny sound modules...

blinkyblinky (author)mocm2012-02-25


Now you just need How-Tos.

(I really like the FA one but I only examined a few. Any suggestions on which ones I should watch?)

About This Instructable




Bio: I love building things and taking pictures. If you want me to build something...I'm open to ideas. My motto? "If you want something ... More »
More by blinkyblinky:Keeping Up Appearances with ChindoguA Complete Beginner's Guide to Raw Files And Raw ProcessingHypercard - An Impossible Paper Object
Add instructable to: