Here are step-by-step instructions into making your very own Tower of Power !!! The Tower of Power is a new MIDI based controller in which you are able to perform your drum samples like the Bop It! Ever wanted to throw your MIDI controller around in your hands whilst being able to trigger your beats? This is the instrument for youuuuuuuuuuu!


Before we start putting things together, we need to make sure we're going to have all the necessary parts to construct our Tower of Power !

You're going to need:

1 x MaKey MaKey
1 x Bread board
3 x Boxes (Whether they're square or rectangle, try to make all under the same shape!)
6 x Square Push Buttons
(OR any buttons of your choice, if you would prefer something else by all means go ahead!)
4 x Small Circular Push Buttons
1 x Switch
2 x Potentiometres
2 x Knobs (At sizes which will fit onto your chosen potentiometers)
28 x Jumper Wires
1 x 1m of Ethernet Cable


Of course in order to put our Tower of Power parts together - we will require various tools!

You're going to need:

1 x Scissors
1 x Sticky Tape
1 x BLACK Electric Tape (Or any black tape)
1 x WHITE Electric Tape
1 x Drill + Parts
(Please make sure your drill comes with different sized drills as you're going to be drilling holes into boxes which will require sizes according to the thickness of your buttons!)
1 x Soldering Iron + Lead (Pack)
1 x BLACK paint (Or any colour paint you desire)


First things first, you will need to make sure your first two boxes which will be on top and in the middle of this structure, have an open-side. This will be so you're wiring will be able to thread through into the last box which will contain your MaKey MaKey and breadboard!

With your boxes decided, you're now going to take four square buttons + switch which will be placed on the top box. These will be placed on the side opposite of the open-end box. This is where we take our drill to make some holes. Adjust drill sizes accordingly to the buttons size, to allow it to go through. Repeat this process for the 5 buttons/switches on top, and repeat again with the 4 other available surface areas of the box.

With the second box you will need to trill a large hole into the side opposite the open-side, so that the wiring from the top box can thread through, and into the last box. With this box you will now only have 4 surface areas to work with, which will contain 2 potentiometres on opposite sides, and 2 square buttons. Using your drill, make holes accordingly to the buttons/potentiometres sizes!

With your 3rd box, drill a hole on the top of the box, to allow wire threading.
Also drill a hole on the side of the bottom box to allow the USB cable to run through to the Makey Makey and laptop/computer

Once your holes have been drilled you may take your paint, and colour in your boxes to give it some style!


Before we get to putting our buttons into the boxes, we're going to have to connect our wirings to our buttons. It'll be easier to perform now than if they were inside the boxes.


Top Box:
4 Square buttons + Switch (Top surface) // 4 Circular buttons (Side surfaces)

Middle Box:

2 Potentiometres (Opposite ends of the side surfaces) // 2 Square Buttons (Opposite ends of the side surface)

With your Ethernet cable, you're going to make a small incision in the blue chord, and hopefully be able to separate it's blue chord capsule to reveal the smaller and thin wiring's intertwined inside. With these wiring's, you're going to separate them all until they're into individual parts. We will now cut 18 x 15cm lengths of these wiring which will act as extensions for our jumper wires within the top box (as our jumper wires won't be long enough to reach the bottom box containing our boards).

You will now require the soldering iron, which will make a solid and conductive bond with the buttons positive and negative prongs. Taking one Ethernet wire, carefully solder it onto one prong. Repeat this with the positive side. Before you move onto the next button, you will now also solder onto your jumper wires onto the Ethernet wire extensions. Once you've successfully forged a bond with four wires, you will now use black and white electric tape to go over the soldering to safely secure and protect it. You will also use the black and white tape to tape on the end of the two jumper wires to act as a note for which will be used for grounding (BLACK), and which will be used for the digital input (WHITE). A/N Writing on the white tape which button it is will help reference what to assign the buttons during the coding and mapping process! Repeat this process for the prongs of the other 8 buttons/switch!

Once you've done this, you will take the jumper wires for the two buttons, and potentiometers and solder straight onto their prongs (Should result in 4 wires for 2 square buttons, and 6 for the 2 Potentiometers). Take note the potentiometers contain three pongs, in which one will act as a a ground, one as 5V, and one as an analogue input. It will be easier to make sure the jumper wire is color coding - Black/Ground, Red/5V, and White/Input. This will help with the arduino connectivity board (A/N Make sure these are the only colours used out of all your jumber wire cables. And if not, make sure you note down which is which!) Once you've successfully soldered your wires onto your button/switch prongs, you will be ready for the next step!


This is when you get to put your buttons into the boxes! This step requires a bit of patience, as you'll be threading alot of wiring through different holes, and thing may get a little messy and tangled! (NOTE: LABEL YOUR WIRINGS ON YOUR WHITE TAPE TO MAKE THINGS EASIER)

Every button is different, so installations are going to be from one side or the other. Whatever they maybe, just ensure that as you go to secure them into place, that you have both the washer and the nut! They will secure it's position to the box, and minimise movement and twisting.

Carefully screw the 8 buttons + switch into place within the top box.

Now, you will repeat this step with the 2 buttons + 2 Potentiometres within the middle box. Once you've placed your 2 potentiometres inside the box, you will now be able to place your knobs inside the rotating dial!

Once done, you will take the collective wirings from the top box into a bunch and carefully thread them through the large hole on top of the middle box.


This is where we'll be using the jumper wires to connect to the digital and analogue inputs of the MaKey MaKey.
Obviously we don't have enough inputs on the MaKey MaKey itself to use, which is where the bread board helps.

Before anything, we're first going to take our MaKey MaKey and breadboard and use tape to stick it firmly down into the bottom box.

We're first going to set-up our breadboard-to-MaKeyMaKey connection using the jumper wires. Taking a wire, we're going to place it into the 5V at the top of MaKey MaKey board, and into the first input of the bread board. The wires connected onto this row will receive 5V, and will be used to source power for our potentiometres.

We will also take a wire and forget a ground connection. The wire will be taken from one of the 6 Earth inputs, and placed into the very bottom left input of the breadboard. The row on the breadboard (not to include the row across the other half of the board, as they have no mutual connection) will now act as a ground input. However, as there are 13 buttons/switches/potentiometres, we will need 13 inputs for earth. So, we will now take another 2 jumper wires and take it from two more earth inputs on the MaKey MaKey, and into 2 more rows on our bread board.


This will be where things get a little bit messy and tangly, so a keen-eye and attention to detail are key in this step.

First step before we start piling things will be to find the two wires connected to the potentiometres which will be the 5V connection (should be the only 2 red wires in the lot! Remember to write on the white tape to clarify). Take these two wires and place them into the first top row of the breadboard. This will receive 5V for the potentiometres.

Next we will take the two WHITE wires (which will act as the analogue connection for the potentiometres), and put them straight into the MaKey MaKey. Now, in order for this to work properly, we need to make sure we place these two wires into the A0, and A1 inputs of the makey makey. This largely has to deal with the fact that A0, and A1 will be coded as analogue inputs, and therefore will detect the voltage changes in the potentiometres as you rotate it's dial.

Once you have done this, you are now able to connect everything else into it's desired place. Any wires containing black electric tape on the end will be used as a ground connection. Therefore, these will be placed into the 3 bottom rows of the breadboard already containing a connection. If you need more inputs, just take another wire from the earth within the makey makey and place it into another row on the bread board for more inputs!

The wires left over should all contain white electric tape, which will act as our digital inputs. These will be able to go into the 6 digital inputs on the left side of the makey makey board, as well as the left over inputs on the right side.


Now that we've done this, we will now be able to connect our USB connector into our Makey Makey via the hole drilled on the side of the box.

Before we glue, and stick the box in one go, it'll be worth your while to test your coding and mapping out before. This will ensure that all your parts are working and you don't have the hassle of taking the whole thing a part to re-check and re-do!


We are going to need some Arduino software to configure the settings of the MaKey MaKey. This will allow us to do more MIDI possibilities withour buttons and with our potentiometres (eg. use as a fader or a knob within Ableton).

To download Arduino, you can just click the link below:





Once you've downloaded your software you will need to set-up an Arduino folder which will contain sketches and hardware information to configure your MaKey MaKey.

This folder can be downloaded from the attached file!

After you've downloaded your Arduino folder, place it somewhere it will be able to be stored - your desktop will work fine. Now open your Arduino program, and click onto the Arduino tab at the top of your screen, and click into preferences. It's here you will now choose your sketchbook location. Make sure it's location is in the exact spot of where your Arduino folder is.

Once you've done this, you may quit the Arduino app, and restart the app again.

Plug in your MakeyMakey, and cancel any messages about “detected new network interface” or “setup keyboard”. In the “Tools | Board” menu you should now be able to select Makey Makey. In the “Tools | Serial Port” menu you should select something like “/dev/tty/ usbmodem411”. The exact name may be different. There may also be a similar looking entry with “cu” instead of “tty”. Make sure you choose the “tty”.

Now we will open our sketch. The sketch you will need is the "MIDIAbletonPlusSketch", which has configured coding for our specific buttons and 'knobs'.

You should now be able to click the 'upload' button - the button with the right arrow, it'll say upload when your mouse hovers over.

When it's finished uploading, the program should tell you it is done. And you're makey makey is now one step closer to MIDI control!

Step 10: Hairless MIDI Serial

You will also need to download Hairless MIDI serial, which will be an easy way for you to connect your arduino board to send and receive MIDI messages.

You can download it here:


Run the app, and make sure the checkbox marked
Serial<->MIDI Bridge On
is ticked, and select USB IO Board in the Serial Port pull-down menu. In order to receive MIDI in Ableton you need to make sure the “IAC” MIDI driver is enabled (IAC stands for InterApplicationCommunication, and is a utility that comes with Macintoshes that allows MIDI to be sent between different software applications). To check this, open up the utility called “Audi MIDI Setup”. There should be an icon for it (that looks a bit like a MIDI keyboard) in the Dock. Otherwise, it should be in / Applications/Utilities. You might need to go to the “Window” menu of this application and select “Window | Show MIDI Window”. In the “MIDI Studio” window that appears, look for an icon labeled “IAC Driver”. Double click this icon, and make sure the checkbox labelled “Device is online” is ticked. Back in hairless-midiserial you should be able to now select “IAC Driver Bus 1” from the “MIDI Out” pull-down menu.

Step 11: ABLETON

Now that you're coding is set, and your MIDI connection is flowing, you will now be able to MIDI map your controller within Ableton.

Now in Ableton, open the Preferences window, select the MIDI / Sync tab, and make sure that in your MIDI Input ports, the IAC Driver (Bus 1) has both “Track” and “Remote” enabled.

Now if you're relatively new to Ableton, there's quick basic pdf guide to it's functions and how everything works (see attached file!).

Once you've sorted your Ableton preferences you will now be able to create a drum rack in Ableton, and then place your chosen samples into these racks. Opening the MIDI mapping window you can now choose which track to trigger, via pressing a button on the Tower of Power. Repeat this process for all buttons with drum rack triggers, and or with other effects etc within Ableton. The potentiometres, are now able to be used as faders or knobs, so you will also be able to map that to some effects or volume if you would like!


After you've double checked to see your buttons/switches/knobs are working, you are now able to connect your three boxes together with glue, or sticky tape. Making sure you do so in a secure and efficient manner, and with a little bit of pride in your presentation!

Once you've done this, you'll be able to explore more with different drum samples in your drum rack, and even any other instrumentation you would like to try!

This is a simple set-up for the Tower of Power, however feel free to explore new shapes, and new buttons and get creative!

<p>Well done..this is really a labour of love! I would love to make this, is there any chance of you putting up a demo video of it in operation?</p>
Nice project! One thought though: why not use an Arduino Leonardo instead of the MaKey MaKey? Not only is it a lot cheaper, it's also easier to use, since you can program it to act like a midi device on its own, so you won't hairless anymore. (However, you should be able to get this working on the MaKey MaKey as well, since it's basically the same chip...) There's a nice tutorial on how to do this for the Arduino on Adafruit. (https://learn.adafruit.com/mini-untztrument-3d-printed-midi-controller/software) It only works with an older version of the Arduino IDE, but once I got it all installed, it worked just fine for me. Another advantage of the Arduino is that you could use a custom shield, instead of a breadboard. On top of that, you can always use capacitive pads with the Leonardo - or any other Arduino, for that matter - just like the MaKey MaKey. <br>You could also get midi capabilities on an Uno, by DFU programming the tiny usb-chip, using Atmel Flip (www.arduino.cc/en/Hacking/DFUProgramming8U2) and this midi firmware: https://github.com/ddiakopoulos/hiduino/tree/master/compiled_firmwares . One disadvantage however, is that you always have to reinstall the Arduino bootloader if you want to upload new code.<br>Well that was a lot longer than I intended...<br>Anyway, keep up the good work and thanks for sharing!
<p>Great instructable! Thank you for sharing this.</p><p>I hope we see more from you soon! :)</p>

About This Instructable




Add instructable to: