BeeTar - Wireless Rock Band Keytar

A built-in wireless MIDI-to-USB interface for Rock Band keytar using XBee radios

Similar projects worth following
Rock band keytars work as regular MIDI controllers, but not wirelessly. This project adds wireless by building an XBee radio into the keytar. The serial MIDI data is transmitted to a second XBee, and sent to both a standard MIDI OUT port and a MIDI-to-USB interface cannibalized from a cheap USB-MIDI cable.

I've had a Rock Band keytar controller on the shelf in my dungeon for a while that I found for a few bucks at a furniture outlet of all places. For some reason, it puts out regular MIDI in addition to being a game controller - just connect a cord from the 5-pin DIN plug to your favorite sound module, synth, or computer and rock out. I like the feel of the keybed, and it's got octave and program change buttons, and the touch slider does pitch bend and modulation (though it's a bit wonky). It communicates wirelessly with a Wii, but that's only as a game controller. I have a couple XBees from when I followed Lady Ada's very good MidiBee tutorial back when I started all this soldering nonsense in earnest. I decided to crack open the controller and stick an XBee inside, and put the other into a quick and dirty USB MIDI interface made out of a hacked cheap USB MIDI cable and give myself a wireless MIDI keytar controller to rock out on.

  • 1 × Rock Band Keytar
  • 2 × XBee Series 1
  • 2 × XBee adapter protects XBee from USB's 5V and has good buffering to prevent data loss
  • 1 × FTDI Cable for talking to XBees
  • 1 × Cheap USB-MIDI cable find 'em on Amazon, eBay for $6 or less

View all 13 components

  • 1
    Set Up XBees for MIDI

    The XBees have to be configured to communicate at 31,250 baud, the standard MIDI communication rate. To do this, you will connect to them using the FTDI cable and a serial terminal program (such as RealTerm on Windows) and send some commands.

    Plug each XBee into its adapter shield. Connect one of the XBees to a USB port on your computer using the FTDI cable. Drivers should automatically download and install (on Windows at least). You'll need to figure out which COM port the FTDI cable is using - on Windows this can be accomplished by opening Device Manager and looking in the 'Ports' section for something like a 'USB Serial Device'. Start your terminal program and open this port at 9600 baud, with 8 data bits, no parity, and 1 stop bit (9600 8N1 for crotchety BBS geeks). Type '+++' (without the quotes) quickly and you should get 'OK' as a response. If not, try the other standard baud rates (2400, 38400, 57600, etc.) - the XBee uses 9600 by default but may have been reconfigured to another baud rate.

    Send 'AT' and receive 'OK' to confirm you are in programming mode. Programming mode ends after a period of inactivity - you can send '+++' to get back into it. Send 'ATBD 7A12' and get 'OK' to set the baud rate (7A12 in hex = 31250), send 'ATBD' and get '7A12' to confirm the right value is set, and send 'ATWR' and get 'OK' to write the value to the XBee. The whole exchange should look something like the image. Do the same for both XBee radios.

  • 2
    Hack the Keytar

    The plan is to build a MIDI IN circuit as described in the MIDI specification, wire an XBee up to its output, stick it inside the keytar, and run wires from the back of the keytar's MIDI OUT port to the input of our MIDI IN circuit. In this step we'll open up the keytar and splice into some convenient power wires and solder wires onto the back of the MIDI port.

    Remove all the screws on the back of the controller's case. There are four that are shorter than the others that screw into the back of the keybed - keep track of these and where they go. Flip the controller over, separate the two halves of the case a tiny bit, then slide the top half forward and around the front of the keys, then tip it back and clamshell the whole thing open as shown in the image.

    We'll use the VDD1 and GND lines running to the touch sensor to power our circuit - we can get to them easily without taking the whole controller apart (although check out the teardown in the appendix if you're curious), and there's some free space nearby where we can stick the XBee. I clipped my multimeter probes onto these wires, and they seem to carry a nice, steady 3.3V no matter what I do on the keytar. This might affect the range of the XBee a bit, but since power is provided by 3 AA's (3 × 1.5V = 4.5V max), it's my guess that everything inside the controller runs on a regulated 3.3V so that the voltage stays steady. So, that's probably as good as we'll get, but hey, low power is the new something something.

    You can see which lines are +3.3V (VDD1) and GND by reading the silkscreen (see image). Use a razor/knife to slice about a 6cm length of these two free of the plastic ribbon joining the five wires running to the touch sensor PCB. Then snip them in the middle and strip the free ends. Slip a bit of heat shrink onto one of the wires, then solder a new wire to each pair of wires you cut. Slide the heat shrink over the bare wires and shrink it down to keep things from shorting.

    Now for the MIDI port. Solder a couple of long wires to pins 4 and 5 (the pins on either side of the middle pin, see image). The wires should be long enough to reach around the top of the keybed and down to where the XBee/MIDI IN circuit is going to sit, just next to the touch sensor. I recommend lots of solder and a hot iron to get a good bond, and then securing the two wires to the PCB just behind the port with a bit of electrician's tape, to reduce strain on the solder joints and keep them from popping free.

  • 3
    MIDI IN circuit

    Cut a piece of perfboard down so it will fit into the little space between the screw post and keybed as shown in the image. I usually use a box cutter with a ruler as a straight edge to cut through perf - a few (careful) swipes and I can bend it and get a clean break. Side trimmers or a rotary tool can be used to fine tune the shape. Stick your components in the board (without soldering) and put it in place in the controller to make sure everything fits.

    Whack together the circuit shown in the schematic on your perfboard. I always have a crazy difficult time keeping the pins on MIDI ports straight, since they depend on whether you're looking at the front or back of the port, and the things are freaking symmetrical. Refer to the helpfully numbered image if you share my issues.

    Once you have everything wired up to power and the MIDI port but before you screw the thing back together, turn on the keytar. The green LED on the XBee should start blinking if you have power. The indicators on the front of the keytar will blink a few times, then one will glow steadily to indicate a device is plugged into the MIDI port, which will now always be the case. If the indicators keep blinking, there's an oops in your circuit. You might want to also power up the other XBee (plugging it back into a USB port with the FTDI cable would work) to make sure you have them both programmed correctly. The red LEDs on both XBees should light up as the midi sense data from the keytar is sent between the two XBeesI found that my XBee/MIDI IN circuit fit nice and snugly in its spot, and when I tucked the wires in and closed up the case I couldn't get it to rattle by shaking, so I decided friction fitting was fine and to not potentially mess things up permanently by hot gluing the circuit into place or trying to secure it some other way. Results might vary depending on what shape your little circuit ends up being, so test and use your judgement. Once you're satisfied with how your circuit fits in place, close up the controller and replace all the screws.

View all 4 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates