Goal: Build a USB MIDI controller with basic buttons/knobs
Software: Arduino IDE, Ableton (music software)
Hardware: SEEED XIAO RP2040, soldering iron
Prior Experience: USB MIDI messages from device -> computer
New Methods:
GPIO,
switch,
button,
knob,
MIDI message from computer -> device
Details:
- Musical Instrument Digital Interface (MIDI) is a protocol for communciating between electronic musical devices and computers
- This is an exercise in creating a USB MIDI controller that functions as a 1-note electronic keyboard
- Features of the USB MIDI controller include:
- 1 switch button, 1 push button, 1 knob, 1 LED
- Device automatically recognized as MIDI controller by computer
- When a button is pressed, the computer will play a note
- The note is held as long as the button is held
- The note's volume is determined by the position of the knob
- Our microcontroller of choice is the SEEED XIAO RP2040
- The input devices (switch/push/knob) will be connected to the microcontroller's GPIO pins
- First, make these pins more accessible by soldering headers to the pins
- Next, connect the input devices to the microcontroller as shown in the first video:
- Switch Button: connect one side to 3.3V, the other to a digital GPIO pin
- Push Button: connect one side to 3.3V, the other to a digital GPIO pin
- Knob: 3 connections--connect the middle to an analog GPIO, flanked by connections to 3.3V and ground
- See the device pinout diagram and detailed schematic for further details
- Next is the software
- These instructions are for Arduino IDE, a development environemnt for writing programs for microcontrollers
- If you don't have Arduino IDE, download it here, install and open it
- To add support for our hardware (SEEED XIAO RP2040), follow instructions from this git repository
- To add USB MIDI support, follow instructions from this git repository
- You can find the program from the example video here
- For more detailed information on software setup, please see introductory tutorials online
Resources:
- Fab Facility: Harvard SEAS REEF Makerspace
- Program Troubleshooting: OpenAI GPT4
Files:
[next week]