MIDI Controller With Keyboards

by EvanKale in Circuits > Arduino

36106 Views, 241 Favorites, 0 Comments

MIDI Controller With Keyboards

thumbnailInstructables.jpg

Today we're building the 400 key MIDI controller using an Arduino and computer keyboards!

For the budget conscious music producers out there, this project is a great way to build an inexpensive control board for your digital audio workstation.

Or if you're just a musician with an odd taste for instruments, this geeky looking device will surely give you some strange looks.

Watch the Video!

Build MIDI Controller with 400 Keys (Arduino and PC Keyboards)

Check out this quick video to see how this mega MIDI device translates to an instrument and for a run-through of all the steps below from start to finish.

Click here to watch on YouTube

What We'll Need...

vlcsnap-2016-04-14-08h42m25s395.png
arduino.jpg
vlcsnap-2016-04-14-08h42m56s387.png
vlcsnap-2016-04-14-08h43m04s548.png
cardboard.jpg
vlcsnap-2016-04-14-09h14m03s904.png

We're going to build a box that translates signals from multiple keyboards into standard MIDI out signals.

To do so, we'll need:

  • An Arduino (I'll be using the UNO, but any other variants will work fine)
  • 2 PS/2 ports (as many as you'd like, as long as there's enough digital pins on the Arduino for it)
  • MIDI female port
  • Cardboard
  • A 220Ω resistor
  • Perboard
  • Wires
  • Keyboards!

Where to buy

Soldering gear:

Testing gear:

Prepare the PS/2 Ports

vlcsnap-2016-04-14-09h09m15s971.png
vlcsnap-2016-04-14-08h43m27s531.png
vlcsnap-2016-04-14-08h43m49s570.png
vlcsnap-2016-04-14-08h43m53s107.png

Push a piece of perfboard through the bottom pins of the PS/2 ports to make soldering easier.

Clamp the PS/2 ports in place and solder wires to the four pins of each of the PS/2 port that we need to access (they are the Vcc, Ground, Clock, and Data pins - see diagram).

Hot glue the PS/2 ports together.

Prepare the MIDI Port

vlcsnap-2016-04-14-08h43m58s105.png
vlcsnap-2016-04-14-08h44m03s556.png

Push a piece of perfboard through the bottom pins of the MIDI port to make soldering easier.

Add a 220Ω resistor in series to the Vcc pin (see diagram).

Solder wires to the three pins we need to access (they are the Vcc, Ground and Serial pins - see diagram).

Wire Up the Arduino

vlcsnap-2016-04-14-08h44m22s497.png

Wire the PS/2 and MIDI ports to the Arduino as follows:

For the PS/2 ports:

  • Vcc pins goes to 5V
  • Ground to GND
  • Clock and Data pins goes to digital pins 4 to 11

For the MIDI port:

  • Vcc pin goes to the 220Ω resistor, then to 5V
  • Ground to GND
  • Serial to TX

Upload the Arduino Program

arduinoIDE02.png

I've made the source code to this project open-source, so simply head over my GitHub to download the Arduino sketch:

https://github.com/evankale/ArduinoMidiPS2

Plug in the Arduino to the PC, open up the sketch in Arduino IDE, and upload the program to the Arduino.

Make a Box

vlcsnap-2016-04-14-08h45m03s748.png
vlcsnap-2016-04-14-08h45m16s865.png

Cut out a cardboard box template that fits all the components.

I decided to expose the MIDI and PS/2 ports in the front of the box while the Arduino USB port through the back so that it can be USB powered or reprogrammed easily.

Hot glue the components into place.

Close Up the Box

vlcsnap-2016-04-14-08h45m27s399.png
vlcsnap-2016-04-14-08h45m32s780.png
vlcsnap-2016-04-14-08h45m37s270.png

Close up the box with some PVA glue, and admire your work of art.

Find Keyboards

vlcsnap-2016-04-14-08h45m51s972.png
vlcsnap-2016-04-14-08h46m08s770.png
vlcsnap-2016-04-14-08h46m16s234.png
vlcsnap-2016-04-14-08h46m21s021.png

Just for fun, I decided to attach three old keyboards together with some wood pieces and screws.

Attach two strap buttons, put on a strap, and we have a very unique "keytar" to go with our MIDI box.

Plug It in and Give It a Test

vlcsnap-2016-04-14-08h46m38s782.png
vlcsnap-2016-04-14-08h46m47s925.png

Plug in as many keyboards as you'd like and give it a test!

Watch the video to see the MIDI controller in action.

---

That's all I have for you today!

If you liked this Instructable, then perhaps you'll like some of my other projects!

You can check them out over at my YouTube channel.

New projects every Thursday! See you next week!