Control Surface

Arduino library for creating MIDI controllers and other MIDI devices.

Author
Pieter P
Website
https://github.com/tttapa/Control-Surface
Category
Communication
License
GPL 3.0
Library Type
Contributed
Architectures
avr, sam, samd, teensy, esp32, esp8266, megaavr, mbed, mbed_nano, mbed_rp2040, renesas_uno

At its core, the library features a flexible MIDI abstraction layer with support for serial 5-pin DIN MIDI, MIDI over USB, MIDI over BLE, etc. These MIDI interfaces are compatible with a wide range of Arduino boards and are useful in any Arduino MIDI project. 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.

Downloads

Filename Release Date File Size
Control_Surface-2.1.0.zip 2025-08-19 4.40 MiB
Control_Surface-2.0.0.zip 2025-04-27 4.40 MiB
Control_Surface-1.1.0.zip 2019-11-30 1.20 MiB
Control_Surface-1.0.0.zip 2019-11-30 977.09 KiB