Ukulele, Uke, How to Build a USB Recording Controller

Let me preface everything by a big disclaimer that the "hacks" discussed here can potentially damage your computer if done incorrectly and should only be attempted if you have some soldering experience. If you attempt to make one it is at your own risk.

If you are not familiar with soldering or don't want to risk anything on your computer - you are not out of luck. The "hacking" is just to simplify things for the "end user" with fewer controls and big well labeled buttons. You can just use any USB joystick off the shelf to control your recording software - Just simply skip ahead to the software section.

Ok now that that is out of the way. while recording with my wife it quickly became apparent that going back and forth to the keyboard/mouse can take up a lot of time and break your concentration. I suddenly remembered something I had seen on a projects forum on Build Your Own Arcade Controls. My other major hobby besides ukes is building arcade cabinets - so that is a frequent hangout of mine.

I finally tracked down the project that Pathdoc2 created for his home studio. So I set out to build something similar and a bit smaller. Looking at the keyboard shortcuts for Audacity I realized that all I needed were buttons for Stop/Play (Spacebar), Record (R), and Undo (Ctrl-Z). Typically USB Joysticks have a lot of buttons so you can adjust it to whatever you need.

Parts Needed

  • USB controller - I had one on hand that I purchased at a garage sale for 50 cents
  • Wire
  • Buttons - I had some extra arcade buttons lying around so I used them but any momentary button will work fine
  • Project enclosure from Radio Shack - they come in a variety of sizes and are typically under $5. I would advise to first get your buttons
  • and controller and get a rough estimate of size to make sure you get a box big enough.
  • Crimp Connectors - for connecting the wire to the buttons - you can solder directly to the button connectors if you are careful
  • Switch - I added a switch I had lying around to be able to disable one of the buttons

Tools Needed

  • Drill
  • Drill Bits - for the sized holes you need for the buttons and controller wire
  • Soldering Iron
  • Solder
  • Screw Driver
  • Wire stripper/Crimper
  • Electrical Tape/shrinkwrap/hot glue

First thing to do is to go ahead and drill your holes for your buttons in your project enclosure. For arcade buttons they should be 1.5 inches between centers. I marked the center line of the project box with some masking tape and marked the button locations. First I drilled a pilot hole and then the big hole with a forstner bit (but any type of bit will work)

Then drill a hole at the top of the back of the box for the controller cord to come out - make sure the top clears and it doesn't pinch the cable.

This is a good time to do a test fit to make sure everything will fit inside your box and to get some idea how you will route wires.

I won't go into too much detail about hacking the controller as there are already several good How To pages online located at the links below:

Good site with Pics

Fortunately I lucked out with the USB controller I had on hand. The controller I had was a Playstation style controller that has 4 shoulder buttons that were attached with wires. Since I only needed three buttons for what I was doing (what buttons they are do not matter) I was just able to snip, strip and solder to those wires.

Be sure to cover any solder joints with shrinkwrap or electrical tape to prevent them from touching. You can use hot glue or electrical tape to secure wires to prevent strain. Hot glue is also good to use to secure the controller board inside your enclosure.

I added a switch to mine to disable the "undo" function to prevent accidental deletion of the recorded track. You can do this by simply hooking up the switch to break the ground going to the button, but after using it for a while I realized this was not really useful because if you "undo" something in error you can easily "redo" it from the menu.

Yes it's spaghetti junction but no one will be able to tell when the top is on :).


I added a label and attached it to the bottom of my music stand using velcro. If the USB cable is not long enough they sell USB extension cables that will give you some extra length.

If you are using a Windows machine go ahead and plug in your controller. If all went well you will hear a "USB detected" noise and it will say it detected the new hardware. After it says the hardware is ready to use go into Control Panel and Game Controllers and then click on Properties. It should a circle for every button on the original controller. Press the buttons on the controller and it should light up the corresponding switch on the screen. Make note of the which button is which.

Now for the Software - there is a wonderful program called JoytoKey which is available here (click English on the left). This programs translates joystick button presses to keyboard commands. There are similar programs for other operating systems (ie Joy2key for Linux) so just look for the particular version for your OS.

Simply unzip the Joytokey program to your program files directory and double click the joytokey.exe program It will open to the configuration screen. From here simply double click the Button label you want to program and then press the button you want it to trigger. If it is a shifted command (using shift, alt or control) enter the shift key first. That's all there is too it. You can then either add a shortcut to Joytokey to your desktop and launch it when you need it or you can add it to your start menu to always have it ready. You can tell it to open minimized by s electing "Don't Show Window at StartUp" under the Settings menu.

Now to record in Audacity all I have to do is press record. I can stop and review it with the Stop/Play button. If I don't like it the Undo button will clear the track and start all over again (and again and again....).

I gave it a good long test last evening and it works VERY well. The only "quirks" in Audacity are:

* If you have any of the tracks "selected" and muted - if you record a track and "undo" it will un-mute the tracks (I know that makes little sense reading it - but if you will discover it quickly if you use one) The trick is to just click in a clear space prior to recording.

* Record will start wherever the cursor was positioned.

Contact Ukeland