Getting Started

cs-midi is a standalone MIDI library for pico-sdk, extracted from Control Surface. It provides BLE MIDI, Classic BT SPP MIDI, rotary encoders, buttons, potentiometers, LEDs, banks, and a flexible pipe-based routing system.

What's included

  • BLE MIDI via BTstack (pico-native, no Arduino)
  • Output elements: NoteButton, CCRotaryEncoder, CCPotentiometer, and more
  • Input elements: NoteValue, CCValue, PBValue, LEDs
  • Pipe routing: bidirectional MIDI pipes with filter/transform support
  • Banks: switch between multiple CC/note mappings
  • Custom hooks: extend the library without modifying it