Objective: build a monome - a complex electronic music instrument - using easy-to-learn, inexpensive components and a process that's so easy a kid could do it.

Gist: This touchscreen music instrument is essentially 4 parts:

  1. MaKey MaKey (or Arduino)
  2. Neopixels
  3. copper tape
  4. cardboard

Sound is produced in either Scratch (visual programming language for kids) or Processing (visual programming language for artists). Additional info on my website: jdeboi.com.



  1. MaKey MaKey (or Arduino)
  2. about 20 alligator clips
  3. 64 Neopixels
  4. copper tape (double-sided conductive - 6mm x 30m)
  5. stranded 22 gauge wire
  6. 5V power supply
  7. power adapter
  8. 300 to 500 Ω resistor
  9. capacitor (1000 µF, 6.3V or higher)
  10. jumpers
  11. 22 square inch glass
  12. lots of cardboard (at least 26 inches long)
  13. thin, semi-transparent white paper


  1. soldering iron+solder
  2. wire strippers
  3. wire cutters
  4. scissors
  5. measuring tape
  6. straight-edge
  7. box cutter
  8. small philips head

Step 1: Neopixels

Neopixels are individually addressable, RGB LEDs. Adafruit sells them in long strips.

Soldering Neopixels

  1. Cut the Neopixels into 64 pieces, cutting along the line marked by the scissor icon.
  2. Tin all of the copper pads on the Neopixels to make it easier to solder on wires.
  3. Space out the neopixels by 2.5 inches so that each square on the lattice contains a single LED.
  4. Cut lots approximately 2 inch strips of 22 gauge, stranded wire.
  5. Strip the plastic off the tips and tin the wires so that it’ll be easier to solder onto the Neopixel’s copper pads.
  6. I recommend using 3 different colored wires for GND, 5V, and Data. Check the label on each Neopixel to make sure you’re always soldering the right wire to the right pad.
  7. Solder together 8 sets of 8 Neopixels.
  8. We’re going to zizag the Neopixels over the array- each row is 2.5 inches above the subsequent row.
  9. Always make sure that the LEDs arrows point in a continuous direction as you zig zag from one row to the next, and that you’re soldering 5V to 5V, Ground to Ground, Data to Data.

Adding Power Adapter

  1. Between the 4th and 5th row of Neopixels, we’re going to splice in the power supply. c
  2. In addition to the ground and 5V wires, insert a 1000 µF capacitor across the + and – power adapter terminals. The longer leg of an electrolytic capacitor is the positive leed.
  3. The data wire from the end of the 4th row wraps around to the beginning of the 5th neopixel row, as usual.
  4. Finish connecting all of the rows of Neopixels together to form the zigzagged array.

Neopixel Strip to MaKey MaKey

  1. Ground pin on strip to ground on the Makey Makey.
  2. Data pin on strip to the MaKey MaKey's D0 pin through a 300 ohm resistor.
  3. Install Arduino IDE.
  4. Install MaKey MaKey Arduino addon (unless you're just using an Arduino)
  5. Install Adafruit Neopixel library.
  6. Plug 5V power supply into power adapter.
  7. Upload a Neopixel sketch (in the example folder of the Adafruit Library) to test the Neopixels!
<p>I keep trying to upload the code onto the makey makey and it highlights this - </p><p>float thresholdPerc = SWITCH_THRESHOLD_OFFSET_PERC;</p><p>and says this in the error box at bottom, </p><p>Art_sketch.ino:21:22: error: settings.h: No such file or directory</p><p>Art_sketch.ino: In function 'void initializeInputs()':</p><p>Art_sketch:191: error: 'SWITCH_THRESHOLD_OFFSET_PERC' was not declared in this scope</p><p>Art_sketch:192: error: 'SWITCH_THRESHOLD_CENTER_BIAS' was not declared in this scope</p><p>Art_sketch:205: error: 'keyCodes' was not declared in this scope</p><p>Please Help!</p>
<p>Awesome. I'm a beginner and have been trying to understand the concept of multiplexing and the capacitive touch matrix. I stumbled across your tutorial and everything finally clicked for me. Very nice presentational style. Thank you</p>
<p>Hello! Any updates on getting Makey Makey working with Max/MSP? :) I've tried it with Maxuino, but hit a brickwall with uploading Standard Firmata. Since Makey is similar to Arduino Leonardo, I was hoping this route is possible. (minimal coding really, am not much of a programmer). You can find more about it here. http://www.maxuino.org/video</p>
Hi! how easy would it be to change the sounds that are played? for example,would I be able to use a software instrument with this?<br>Thanks!
super easy! just change the audio files in the audio folder.<br><br>my next project is making this instrument compatible with Max/MSP
perfect,thanks so much! And sorry for what may seem an obvious question (I'm new to all this) but how much harder would it be to use an arduino?
<p>I've made a 4x4 monome using an Arduino (code is on Github in the same repository). I haven't tried the code with an 8x8 monome, but I think it should work. :)</p>
<p>Hi Jenna! What do we need to change in the current setup in order to make it work with an actual Arduino Uno board? We got the Neo-pixels to work with the Adafruit script. But nothing works when using your MakeyMakey script on Arduino, even after addressing the pin numbers to the columns and raws. Let us know if you can help&hellip; Cheers</p>
<p>actually working on this right now! (and discovered it doesn't work by merely changing the pin numbers). Send me a message if I forget to reply by the end of the week!</p>
<p>Hi! Yep, we're stuck there too as we are still trying to get the codes to talk to our Arduino board... I understand that it is just a matter of defining and integrating the parameters for pin controls, while getting rid of the MakeyMakey ones. (Btw, could you receive the email I sent you through your website?)</p>
<p>Hi! This is really cool, and I wanted to see if I could try to make this so I tried to run the monomeVisual.pde in Processing but it doesn't seem to be working no matter what I try.... Is there something I might've done wrong? I couldn't download any of the audio files on your GitHub for some reason, and I wonder if I'm supposed to?</p>
<p>i think I may have accidentally committed a bug. lemme check it out when I get home :)</p>
<p>Okay! Thank you! ^^</p>
<p>so, so cool and so many possibilities. thanks jenna! </p>
<p>:) I know! So excited to see how people iterate on this idea! I'm thinking conductive paints, fabrics, different programs... so many possibilities!</p>
<p>agree - exactly what i was thinking! ok. question for ya. i briefly glanced at the code, and i think, as a novice, i could do this, but iyo: how complicated would it be to port it to arduino generally? then: mmm for 1/10 the cost. simple or 4 weeks of tearing hair out or between? ALSO... tho your code is more extendable into other uncharted realms, and i really like this, i wonder about the possibility of an iteration that heads even further into monome territory and gets married to the bliptronome: http://wiki.straytechnologies.com/doku.php/bliptronome. thoughts! thoughts. </p>
<p>HOLY MOLY! So cool!</p>

About This Instructable




Bio: maker, programmer, teacher, activist
More by jdeboi:Classroom Clock Interactive Spacelady Mural Simple Arduino Monome 
Add instructable to: