Upload Code

  1. Download and Open the sketch (*.ino file), and then Save it to the proper location on your computer
  2. Download and Add the Control_Surface.h Library – This library allows an Arduino board with USB capabilities to act as a MIDI instrument over USB. Check the official documentation for more info.
    • Go to Sketch < Include Library < Add .zip Library
    • Find “Control-Surface-main.zip” and click Install
    • Once it has finished, an Installed tag should appear next to the Control_Surface.h library.
    • Close the Library Manager.
  3. Connect the board to your computer
  4. Find the MOSI and GND pins for the ATmega USB-Serial Processor.
  5. Connect MOSI and GND pins with a wire. Keep the pins connected while uploading the code. Remove the wires connecting the pins with done.
  1. Assign the Arduino Mega R3 board
    • Go to Tools < Boards < Arduino AVR Boards… Select Arduino Mega or Mega 2560
    • Go to Tools < Port < select the correct usb port which your Arduino is plugged in, PC will probably say COM
  2. Go to Tools < Processor… Select ATmega2560 (Mega 2560)
  3. Click Upload (Ctrl + u)
  4. *** Important: Once code is uploaded, remove the connecting wire between MOSI and GND pins.

Control-Surface.h is an Arduino library by tttapa Pieter P for creating MIDI controllers and other MIDI devices. In addition to MIDI input/output, Control Surface also provides easy-to-use utilities intended for building MIDI controllers, supporting controls that send MIDI messages ─ like potentiometers, push buttons, rotary encoders, etc. ─ and controls that react to incoming MIDI messages ─ LEDs, displays, and so on. More advanced controls that combine MIDI input and output ─ such as motorized faders ─ are supported as well.

https://github.com/tttapa/Control-Surface