Control Surface main
MIDI Control Surface library for Arduino
Loading...
Searching...
No Matches
Examples

Getting started

  • 1.First-Output.ino (Multiplexed potentiometers that send MIDI Control Change messages)
  • 2.First-Input.ino (LEDs driven by a shift register that turn on/off when a MIDI Note On/Off message is received)

MIDI interfaces

Interfaces, transports and routing

  • MIDI_Pipes-Routing.ino (Setting up automatic routes for MIDI messages between multiple MIDI interfaces, using MIDI_Pipes)
  • MIDI_Pipes-Filter.ino (More complicated MIDI routing rules that also filter and modify MIDI messages that travel through a MIDI_Pipe)
  • Serial-Interface.ino (Sending and receiving MIDI messages over a serial port (e.g. for 5-pin DIN MIDI))
  • BLEMIDI-Adapter.ino (Sending and receiving MIDI messages over Bluetooth Low Energy (LE), and relaying them over Serial)
  • USBMIDI-Adapter.ino (Sending and receiving MIDI messages over USB, and relaying them over Serial)
  • USBHostMIDI_Interface-Passthrough.ino (Sending and receiving MIDI messages to and from USB MIDI devices connected to a Teensy's USB Host port, and relaying them over the USB Device port)
  • AppleMIDI.ino (Sending and receiving MIDI messages over the network (WiFi/Ethernet) using RTP-MIDI)
  • Debug-MIDI-Interface.ino (Printing and reading MIDI messages to/from the Serial monitor for debugging purposes)
  • MIDI-Monitor.ino (Turns the Arduino into a MIDI monitor by printing all messages it receives to the Serial monitor, and sending messages typed into the Serial monitor over MIDI)
  • MIDI-Monitor-OLED.ino (Prints all messages that are sent and received to a small OLED display)
  • Dual-MIDI-Interface.ino (Using multiple MIDI interfaces at the same time)

Sending and receiving MIDI messages

MIDI output elements

Potentiometers & Faders

Buttons & Switches

  • NoteButton.ino (A single digital input from a momentary push button that sends MIDI Note On/Off messages)
  • CCButton.ino (A single digital input from a momentary push button that sends MIDI Control Change messages)
  • NoteButtonMatrix.ino (A scanning keyboard matrix for a grid of momentary push buttons that send MIDI Note On/Off messages)
  • CCIncrementDecrementButtons.ino (Two momentary push buttons that increment/decrement a value by sending relative MIDI Control Change messages)

Rotary Encoders

Program Changers

  • PCButton.ino (A single digital input from a momentary push button that sends a MIDI Program Change message when pressed)
  • Program-Changer.ino (Multiple momentary push buttons (or any other selector) that sends MIDI Program Change messages)
  • ManyAddressesPCButton.ino (Multiple buttons that send MIDI Program Change messages, and the programs they send are arranged in multiple banks, allowing you to select many programs using a limited number of buttons)

Other

MIDI input elements

LEDs

Other

Banks & Selectors

Hardware and Extended Input/Output

Displays

Board-specific examples

Teensy

ESP32

  • VU-Meter-Bridge.ino (Mackie Control Universal control surface with an OLED display for real-time level meters and a MIDI over BLE interface)

Extending the library

Other examples