Arduino MIDI Keyboard With Song Teaching LEDs

Introduction: Arduino MIDI Keyboard With Song Teaching LEDs

This is a tutorial of how to create a MIDI keyboard, along with LEDs to teach you a song, and a LCD to display which song is selected.

The LEDs can guide you on what keys to press for a particular song.
Select the song with the left and right buttons, and start it by pressing the middle one.

Step 1: Step 1: Materials

What you will need:

  • 6 LEDs
  • Jumper wires (both male-male and male-female)
  • A male pin header
  • An i2c LCD display
  • An Arduino Uno and an Arduino Mega
  • 3x pushbuttons
  • 9x 10k resistors
  • 1 330 ohm resistor
  • An old keyboard (I used the Casio CT-638)
  • A USB cable to connect the arduino to the computer

Step 2: Step 2: Disassemble the Keyboard

Take apart the keyboard case, and remove the main PCB, buttons, and speakers. All you will need is the keyboard and the keyboard PCB / ribbon cable.

Step 3: Step 3: the Keyboard Matrix

Map out the key configuration for the keyboard matrix. You can do this with a multi-meter, but if you can find the schematics for it, even better! After you map out the keyboard matrix, solder the male pin header to the keyboard ribbon, so you can attach it to the breadboard.

Step 4: Step 4: the Breadboard Circut

Attach everything to the arduino according to the diagram. Above are images of the schematics, along with how it will look with the breadboard.

Step 5: Step 5: Connect to the Keyboard

Attatch the keyboard ribbon to the breadboard, and fix the LEDs to their correct keys.

Step 6: Step 6: the Code

Upload the code to your Uno and your Mega. If you are using a different keyboard, your input and output pins might be different. leduno.ino is for the Uno, and midipiano2 is for the Mega.

Step 7: Step 7: the MIDI Code

Download and install Atmel Flip. Then, connect the Mega to your computer with the USB and put it into DFU programming mode. This will allow you to program it with Atmel Flip.

Download Atmel Flip from here:

Then, download the arduino hex file from here:

Upload it to your board via Atmel Flip.

Step 8: Step 8: Connect to Your Computer

Now, if you want to play on your MIDI keyboard, all you have to do is connect it to your computer, fire up your favorite VST host or DAW, and you're ready to go!

Microcontroller Contest

Participated in the
Microcontroller Contest

Be the First to Share


    • Puzzles Speed Challenge

      Puzzles Speed Challenge
    • "Can't Touch This" Family Contest

      "Can't Touch This" Family Contest
    • CNC Contest 2020

      CNC Contest 2020

    2 Discussions


    3 months ago

    did not work
    #include "pins2_arduino.h"
    digitalWrite2(output_pins[o],HIGH); //write the output pin high