You can control digital audio workstations (DAWs) like Pro Tools, FL Studio, Ableton Live, etc., if you have a MIDI keyboard. Additionally, it can link to a wide range of MIDI devices, including tabletop synthesizers. Is it possible to make a non midi keyboard to a midi? This instruction is helpful for people who already own a non-MIDI keyboard and want to upgrade it for usage in music production.
what you’ll require
- 1 Arduino UNO or similar Arduino
- two parallel to serial shift registers
- Pull-up resistors (1 220 for the MIDI port and 6 10 k, depending on step 4) and resistors
- 1 prototype board
- single female MIDI port
- Men’s pin header 1,
- The other tools we’ll need are breadboard jumpers, a multimeter, soldering supplies, and wires.
Open the Keyboard
Cut the ribbon cable from the main board that connects to the keys by opening the Keyboard.
Figure Out the Scan Matrix
Is it possible to make a non midi keyboard to a midi? Set the multimeter to read resistance or continuity. Sweep the Keyboard to locate our keys while attaching the probes to two pins. I have a 17-pin ribbon for my Keyboard, which I determined to be a 6×11 scan matrix. I’ll reduce the number of pins from 11 to 3 using 2 shift registers to fit all the keys on the Arduino UNO. The total number of input pins we have thus dropped from 17 to 9. (The outcome will vary depending on the Keyboard, but the process will be the same.)
Setting Up First Shift Register
The first shift register will be our starting point. Then connect our clock, latch, and data lines, and connect it to the Arduino’s digital pins 8, 9, and 10. The voltage and ground from the Arduino are then connected to the board. Run the image’s first test code segment. We can use a voltmeter to check the voltage at each data pin’s output. For pins that are shifting out a 0, this should be 0 volts, and for pins that are shifting out a 1, this should be a positive voltage.
Second Shift Daisy Chain Register
We’ll daisy link the second shift register after the first one is operational. The voltage and ground will be connected the same way as the first chip, and the extra data pin from the first chip will then be connected to the Data pin of the second chip. Next, we’ll need to connect the two chips’ latch and clock pins.
To accommodate the second shift register, we now re-plug in our Clock, Latch, and Data lines in the same manner as before and make a slight tweak to our Arduino software. All our data pins from this application should display an identical alternating pattern. Shift out 8 bits of 0s and 8 bits of 1s at a time to see which chip is producing the signal if you’re unsure which chip comes first.
Setting Up Resistors
- Connect the second breadboard to the power.
- The first 11 data pins from the shift registers will be extended to the second board .
- Then, we’ll connect 6 lines to the Arduino’s 6 digital pins.
To create a pull-down resistor setup, we must add a 10k ohm resistor to the ground for each line. When the switches on the Keyboard are open, this will ensure that we have the desired signal.
Pull Up or Pull Down?
One thing to keep in mind is that we can easily change to a pull-up resistor arrangement by performing the following (see the image) in case this direction of current doesn’t work for your Keyboard:
- First, we disconnect the shift registers’ ground and voltage connections.
- Then, we connect our six resistors to positive voltage rather than ground.
- We also want to maintain the current connection of the shift register pins.
- This will result in the pull-up arrangement shown in the diagram.
- Add the Keyboard Ribbon
- To align the rows and columns of the scan matrix, plug the cable ribbon into position.
Setting Up MIDI Port
The serial output pin of the port, which is pin 1 for the Arduino UNO, will be connected to the serial output of the Arduino.
Upload Arduino Program
- Get the complete Arduino code from GitHub (choose the correct version; pull-up or pull-down)
- We’ll connect our MIDI port to the computer and launch a MIDI monitor tool like MIDI-OX to test our Keyboard.
- We’ll press every key to check that everything is connected correctly.
- You can purchase one of these MIDI to USB converters (for a few dollars if your computer lacks a MIDI connection.
Transferring to Proto Board
Is it possible to make a non midi keyboard to a midi? After ensuring everything functions, we’ll transfer everything from the breadboard to the protoboard and solder all the connections. Use the male pin headers here to secure our wires after plugging them into the Arduino in the same manner as before. Reassembling the Keyboard After cutting out the hole, I traced the MIDI and USB port shapes onto the keyboard case. I added a couple of popsicle sticks, and hot glued them to support the Arduino and protoboard.
Try it out by plugging it in and starting a DAW! I’m done now!