MIDI_Pipes-Filter.ino (More complicated MIDI routing rules that also filter and modify MIDI messages that travel through a MIDI_Pipe)
Serial-Interface.ino (Sending and receiving MIDI messages over a serial port (e.g. for 5-pin DIN MIDI))
BLEMIDI-Adapter.ino (Sending and receiving MIDI messages over Bluetooth Low Energy (LE), and relaying them over Serial)
USBMIDI-Adapter.ino (Sending and receiving MIDI messages over USB, and relaying them over Serial)
USBHostMIDI_Interface-Passthrough.ino (Sending and receiving MIDI messages to and from USB MIDI devices connected to a Teensy's USB Host port, and relaying them over the USB Device port)
AppleMIDI.ino (Sending and receiving MIDI messages over the network (WiFi/Ethernet) using RTP-MIDI)
Debug-MIDI-Interface.ino (Printing and reading MIDI messages to/from the Serial monitor for debugging purposes)
MIDI-Monitor.ino (Turns the Arduino into a MIDI monitor by printing all messages it receives to the Serial monitor, and sending messages typed into the Serial monitor over MIDI)
MIDI-Monitor-OLED.ino (Prints all messages that are sent and received to a small OLED display)
CCPotentiometer-Map.ino (Applying a mapping function to the analog input to account for nonlinearities or calibrate the minimum and maximum values)
Pitch-Bend-Potentiometer.ino (A single analog input from a potentiometer that sends MIDI Pitch Bend messages (higher resolution than Control Change))
Buttons & Switches
NoteButton.ino (A single digital input from a momentary push button that sends MIDI Note On/Off messages)
CCButton.ino (A single digital input from a momentary push button that sends MIDI Control Change messages)
NoteButtonMatrix.ino (A scanning keyboard matrix for a grid of momentary push buttons that send MIDI Note On/Off messages)
CCIncrementDecrementButtons.ino (Two momentary push buttons that increment/decrement a value by sending relative MIDI Control Change messages)
Rotary Encoders
RotaryEncoder.ino (A quadrature encoder that sends position changes using relative MIDI Control Change messages)
AbsoluteRotaryEncoder.ino (A quadrature encoder that sends its absolute position using MIDI Control Change messages)
MCP23017-RotaryEncoder-No-Interrupts.ino (Multiple quadrature encoders connected through a MCP23017 port expander that send position changes using relative MIDI Control Change messages)
PCButton.ino (A single digital input from a momentary push button that sends a MIDI Program Change message when pressed)
Program-Changer.ino (Multiple momentary push buttons (or any other selector) that sends MIDI Program Change messages)
ManyAddressesPCButton.ino (Multiple buttons that send MIDI Program Change messages, and the programs they send are arranged in multiple banks, allowing you to select many programs using a limited number of buttons)
1.SPI-Blink.ino (Blink an LED that's driven by a shift register connected using SPI)
2.BitBang-Blink.ino (Similar to previous, but using ordinary GPIO pins instead of SPI)
2.RGB-LED-Chaser.ino (Display some fancy patterns using a handful of RGB LEDs driven by shift registers)
1.MAX7219-Blink.ino (Blink an LED that's driven by a MAX7219 8×8 LED driver)
MCP23017.ino (Read input from a push button and turn on/off an LED using a MCP23017 I²C port expander)
Toggle-LEDs.ino (Read digital inputs from 8 push buttons connected through a multiplexer, and use them to toggle 8 LEDs on/off, using a shift register to drive them)