Keystone Control Center

Shipped

Cross-platform desktop app for managing Keystone guitar pedals. USB MIDI connection, real-time parameter control, preset management, and firmware updates.

CTO at Keystone Musical Instruments. Sole developer.

Keystone Control Center screenshot 1

Overview

A JUCE-based desktop application (macOS + Windows) that connects to Keystone pedals over USB MIDI. Users can control all 6 knobs and 3 switches in real-time, manage 128 preset slots (10 factory + 118 user), update pedal firmware via DFU bootloader, and configure the APEX expression pedal matrix. Communicates via a custom SysEx protocol with 15+ command types.

Tech Stack

Framework: JUCE 8.0.4, C++17, CMake 3.22+MIDI: Custom SysEx protocol (Manufacturer ID 0x7D)Packaging: macOS DMG, Windows Inno Setup with WinUSB driversCI/CD: GitHub ActionsFirmware updates: Vendored dfu-util, DFU bootloader

Engineering Highlights

  1. 01Custom SysEx protocol — 15+ command types for identity, presets, parameters, config, and firmware updates. Supports both 5-pin DIN MIDI and USB-MIDI. Firmware header validation prevents flashing wrong pedal firmware.
  2. 02Expression pedal learning (APEX Mode) — Runtime parameter mapping without recompilation. Users assign expression pedal to any parameter with custom min/max/inversion, saved to flash.
  3. 03USB auto-detection — Automatic pedal discovery and disconnect polling, with graceful reconnection handling.

Stats

35 commits
stat_0
128 preset slots per pedal (JSON export/import)
stat_1
15+ SysEx command types
stat_2
Native installers for macOS (DMG) and Windows (Inno Setup)
stat_3
v0.3.0 released
stat_4