Build a 3D printed USB MIDI controller that features keyset style switches, potentiometers, a rotary encoder, and an OLED DISPLAY using CircuitPython code powered by the Adafruit KB2040.
The OLED features a GUI that allows customization of MIDI notes, velocity, channel, and MIDI CC messages. Five CHOC key switches are used to trigger MIDI notes, and the potentiometers can adjust modulation and LFOs.
Intuitive GUI
On the main screen, the MIDI notes and potentiometer values are overlaid on shapes that represent their components.
The rotary encoder can be used to select and edit the potentiometers or the keys. In the edit mode, you can change MIDI notes, MIDI CC, MIDI channel, velocity, and minimum/maximum range.
Inspired Design
The enclosure design is inspired by our DIY USB keyset project that features similar hinged keys. The shape of the device felt like a vintage synthesizer, so we thought we'd reimagine the keyset as a MIDI controller.
Three (3) of each:
Also:
Page last edited August 15, 2025
Text editor powered by tinymce.