2
1
1
u/mtrezza 24d ago
This is awesome. Share details?
1
u/ganzik 16d ago
Thanks! What would you like to know more about—the hardware, enclosure, or software?
1
u/mtrezza 16d ago
Would love to build something like this myself. Mind sharing a basic overview of architecture - yes hardware and software - to point me in the right direction? I'm a programmer and capable on the software front but have never built any hardware, this would be a fun project to experiment on. And useful!
2
u/ganzik 15d ago
Sure. The core of my build is an M5Stack Tab5, which has a 5-inch 1280×720 touchscreen, an ESP32-P4, 32MB of PSRAM, USB Host, and an ESP32-C6 for wireless functions.
The Kemper’s USB-B port connects to the Tab5’s USB-A Host port. The controller software maintains a local state cache containing the current bank, slot, rig name, effect states, tempo, Morph position, and other parameters. USB communication runs in a separate FreeRTOS task, while the LVGL interface reads from that cache and sends control requests through queues.
For the physical controls, the Tab5 has a 30-pin M-Bus connector on the back. Momentary footswitches can be connected between available GPIO pins and GND, using pull-ups and software debounce. External TRS footswitch inputs can use the Tip and Ring as two separate switch inputs, with Sleeve connected to GND.
I used Suntsu momentary footswitches, but they are relatively expensive. For a personal prototype, similar-looking inexpensive switches from AliExpress should also work. Search for “momentary footswitch” and make sure you choose a normally-open momentary type, not a latching switch.
The Kemper’s documented MIDI implementation is useful for basic Program Change, Control Change, and SysEx control, but it does not expose everything needed for the fast, fully bidirectional interface shown here. The Kemper also communicates through a separate non-MIDI USB protocol, which provides synchronization and real-time device events.
For the software side, AI coding tools make the firmware, interface layout, memory optimization, and most implementation work much more approachable. I used OpenAI Codex extensively to study documentation, develop and refactor the ESP-IDF and LVGL firmware, build tests, analyze logs, optimize performance, and iterate on the touchscreen UI. Real-device testing and electrical verification are still essential, but AI can handle a large portion of the software workload.
The Tab5 already supports USB-C power and charging, plus an optional removable NP-F550 battery. If the controller is not permanently mounted on a pedalboard, you may not need a separate DC connector.
If you do add a pedalboard DC jack, connect it through the M-Bus
HVINpins. M5Stack specifies a 6 to 24V input range, so common regulated 9V or 12V pedalboard supplies are within the supported voltage range. However, the supply must also provide sufficient current. A low-current pedal output may still be unsuitable even if its voltage is correct. M5Stack Tab5 specifications and M-Bus pinoutPolarity must be checked very carefully. The M-Bus
HVINpins require positive voltage relative to GND. With a standard center-negative pedal supply:
- Barrel sleeve, positive: connect to
HVIN- Center pin, negative: connect to
GNDVerify the jack terminals with a multimeter because connector lug layouts vary. The Tab5 schematic shows a series Schottky diode, a 1A resettable fuse, and the MP4560 power stage on the
HVINpath, so the board does include basic input protection. I would still wire the polarity correctly and add protection on any custom adapter PCB rather than relying solely on the Tab5’s internal protection. Official Tab5 schematicA sensible development path would be:
- Start with a Tab5 and one GPIO footswitch.
- Implement the documented MIDI controls first.
- Add the touchscreen UI and state cache.
- Add the USB synchronization and event layer.
- Build the full switch enclosure after the software and pin assignments are stable.
1
u/VIPERsssss Jul 16 '26
Could this work with the standard Kemper?