GitPedia
tttapa

tttapa/Control-Surface

Arduino library for creating MIDI controllers and other MIDI devices.

8 Releases
Latest: 3w ago
2.1.2Latest
tttapatttapa·3w ago·June 6, 2026
GitHub

📋 Changes

  • Disable NimBLE encryption by default (#1170)
2.1.1
tttapatttapa·1mo ago·May 3, 2026
GitHub

📋 What's Changed

  • Support for the latest arduino-esp32 BLE APIs
  • Secure connection support in ESP32 NimBLE backend
  • Add compiler defines for RPi Pico 2W to Bluetooth MIDI by @tuulikauri in https://github.com/tttapa/Control-Surface/pull/1156
  • Fix compile error with Teensyduino 1.59.0 and Teensy++2.0 board by @BlinxFox in https://github.com/tttapa/Control-Surface/pull/1150

New Contributors

  • @tuulikauri made their first contribution in https://github.com/tttapa/Control-Surface/pull/1156
  • @BlinxFox made their first contribution in https://github.com/tttapa/Control-Surface/pull/1150
  • Full Changelog: https://github.com/tttapa/Control-Surface/compare/2.1.0...2.1.1
2.1.0
tttapatttapa·10mo ago·August 19, 2025
GitHub

**Added support for version 3.3.0 of the [arduino-esp32](https://github.com/espressif/arduino-esp32) core**: The Bluedroid-based Bluetooth stacks for all boards except the original ESP32 have been replaced by NimBLE-based stacks. For these configurations, Control Surface now automatically switches to the `ESP32NimBLEBackend` for [MIDI over BLE](https://tttapa.github.io/Control-Surface/Doxygen/db/d99/md_pages_MIDI-over-BLE.html). More details about the migration from Bluedroid to NimBLE can be found in https://github.com/espressif/arduino-esp32/discussions/10991. **Full Changelog**: https://github.com/tttapa/Control-Surface/compare/2.0.0...2.1.0

2.0.0
tttapatttapa·1y ago·April 27, 2025
GitHub

💥 Breaking changes w.r.t. version 1.2.0

  • ([7bd5268](https://github.com/tttapa/Control-Surface/commit/7bd5268fe8906ba4fbd01024fbddc8598ffd9eb3))
  • The `pin_t` type is now a distinct type rather than an alias to an integer.
  • This improves type safety, because `pin_t` is no longer implicitly
  • convertible to an integer (although integers are still convertible to
  • `pin_t`), and it is no longer possible to accidentally use incorrect
  • constructs such as `mux.digitalRead(mux.pin(0))`. A new type, `pin_int_t`,
  • was added to represent sizes and offsets of pins (e.g. “the sixth pin of this
  • multiplexer)”, and the argument types of the member functions of the
  • + 65 more

📋 Other significant changes

  • MIDI parser and pipe staller overhaul (63d51ef).
  • ESP32 3.0.0 compatibility and updates (806beca, 48c87ad, e9c06a2, 34334518, 6e2c3585).
  • Full BLE MIDI support across multiple backends:
  • ESP32 NimBLE and Bluedroid backend support, with security, privacy, async send improvements (59ac8ef, 7419b6c, 7209429, dc72207).
  • BLE MIDI support for Raspberry Pi Pico W (e910569, 99c98cc, 01620b0, d7a4e69).
  • Cleaner BLE backend abstraction and thread-safe ring buffers (6851687, 8aa7d3c).
  • USB MIDI multi-cable support (up to 16 cables) on RP2040 (5f492cf).
  • Added encoder support for Arduino UNO R4 (e20e32f, e9d555e, 6f57a56).
  • + 7 more
Version 1.2.01.2.0
tttapatttapa·5y ago·September 8, 2020
GitHub

📋 Changes

  • Arduino Nano Every support
  • Buffered Extended IO
  • Support daisy-chained MAX7219 chips
  • Support for rotary encoders connected through MCP23017 port expanders
  • Thread-safe `Updatable` class
  • AppleMIDI support
  • "Smart" bankable potentiometers
  • MIDI pipes for routing MIDI traffic between Control Surface and MIDI interfaces
  • + 4 more
Version 1.1.11.1.1
tttapatttapa·6y ago·January 15, 2020
GitHub

📋 Changes

  • Shorter filenames for examples (Windows limitation)
  • Small bug fixes and improvements
  • Documentation improvements
  • More examples
Version 1.1.01.1.0
tttapatttapa·6y ago·November 30, 2019
GitHub

This version adds support for Arduino Due and Arduino Nano 33. The directory structure has been improved, and some parts of the library have been moved to a separate repository, [Arduino Helpers](https://github.com/tttapa/Arduino-Helpers).

Version 1.0.01.0.0
tttapatttapa·6y ago·November 30, 2019
GitHub

This is the last version before changing the structure to use the [Arduino Helpers](https://github.com/tttapa/Arduino-Helpers) library.