This page is a mixture of beginner and advanced, DIY options covering MIDI in (receive), MIDI out (send), and USBMIDI to MIDI conversion for non-Arduino like microcontrollers.
Here are some other pages of interest:
- Ready-Made MIDI Modules – a range of modules for “ready to go” MIDI IN and OUT for both 5V and 3V microcontrollers.
- Arduino MIDI Interfaces – a range of DIY options for serial and USB MIDI IN and OUT for 5V microcontrollers.
- Arduino and USB MIDI – a complete summary of USB MIDI interface related projects.
- MIDI Connections Cheat Sheet – how to work out which pins to use for your MIDI connectors.
And remember the golden rule and warning: I strongly recommend using an old or second hand keyboard for your MIDI experiments. I am not responsible for any damage to expensive instruments!
Kevin
MIDI Out for 3.3V Microcontrollers (Beginner)
Supported microcontrollers:
- Raspberry Pi Pico
- Adafruit Circuit Playground Express
- BBC Microbit
- Adafruit Feather
More details here: MIDI, MicroPython and the Raspberry Pi Pico.
MIDI In for 3V Microcontrollers (Beginner)
Supported microcontrollers:
- Raspberry Pi Pico
- Adafruit Circuit Playground Express
- BBC Microbit
- Adafruit Feather
More details here: MIDI In for 3.3V Microcontrollers.
USB to Serial MIDI Router (Beginner)
Supported microcontrollers:
- Any CircuitPython device, for example Raspberry Pi Pico, Seeed XIAO, Adafruit Trinket M0.
More details here: CircuitPython USB to Serial MIDI Router
3V3 MIDI Module (PCB)
Supported Microcontrollers:
- Any 3V3 logic level microcontroller with a UART.
More details here: 3V3 MIDI Module PCB – Part 2
Reversible MIDI Out for the Raspberry Pi Pico (Intermediate)
Supported microcontrollers:
- Raspberry Pi Pico
More details here: Raspberry Pi Pico Reversible MIDI Out.
MIDI In for the Raspberry Pi Pico (Intermediate)
Supported microcontrollers:
- Raspberry Pi Pico
More details here: MIDI IN for the Raspberry Pi Pico.
Universal Microcontroller MIDI Module (Intermediate)
Supported Microcontrollers:
- Any 3.3V microcontroller (Raspberry Pi Pico, Adafruit Circuit Playground Express, Adafruit Feather, etc).
- Any 5V microcontrollers (Arduino, etc).
More details here: Universal Microcontroller MIDI Module.
MIDI Pack for the Raspberry Pi Pico (Advanced)
Supported microcontrollers:
- Raspberry Pi Pico
More details here: Pi Pico PIO Poly Tone MIDI “Pack”.
MIDI for the Raspberry Pi (Intermediate)
Supported devices:
- Raspberry Pi v3 or v4.
More details here: Raspberry Pi, Clumsy MIDI and MT32-Pi.
PC USB to DIN MIDI In (Intermediate)
Parts list:
- Arduino Leonardo compatible board – I used the Beetle USB again.
- 2x 220Ω Resistors
- 5 PIN 180 DIN Plug
- Jumper wire
- An existing Arduino MIDI project for testing
For details, see: PC USB to DIN MIDI IN.