Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use Adafruit MIDI FeatherWing Kit: Examples, Pinouts, and Specs

Image of Adafruit MIDI FeatherWing Kit
Cirkit Designer LogoDesign with Adafruit MIDI FeatherWing Kit in Cirkit Designer

Introduction

The Adafruit MIDI FeatherWing Kit (Manufacturer Part ID: 4740) is a versatile add-on board designed for Feather microcontrollers. It enables seamless MIDI (Musical Instrument Digital Interface) communication, allowing users to create and control musical projects with ease. This FeatherWing features MIDI input and output ports, making it compatible with a wide range of MIDI devices such as keyboards, synthesizers, and controllers. Whether you're building a MIDI controller, synthesizer, or experimenting with music-based projects, this kit provides a reliable and user-friendly solution.

Explore Projects Built with Adafruit MIDI FeatherWing Kit

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Solar-Powered Environmental Data Logger with Adafruit Feather M0 Express
Image of Lake Thoreau Monitoring Station: A project utilizing Adafruit MIDI FeatherWing Kit in a practical application
This circuit is designed for environmental data collection and logging, utilizing an Adafruit Feather M0 Express microcontroller as the central processing unit. It interfaces with a BME280 sensor for atmospheric temperature, humidity, and pressure measurements, an SGP30 sensor for monitoring air quality (eCO2 and TVOC), and a STEMMA soil sensor for detecting soil moisture and temperature. The system is powered by a solar panel and a 3.7v LiPo battery, managed by an Adafruit BQ24074 Solar-DC-USB Lipo Charger, and provides easy access to the microcontroller's connections through an Adafruit Terminal Breakout FeatherWing.
Cirkit Designer LogoOpen Project in Cirkit Designer
Touch-Sensitive Interface with Adafruit MPR121 and Feather 32u4 Bluefruit
Image of MPR121: A project utilizing Adafruit MIDI FeatherWing Kit in a practical application
This circuit integrates an Adafruit MPR121 capacitive touch sensor with an Adafruit Feather 32u4 Bluefruit microcontroller. The MPR121 is powered by the Feather and communicates via I2C (SCL and SDA) to detect touch inputs, which can be processed or transmitted wirelessly by the Feather.
Cirkit Designer LogoOpen Project in Cirkit Designer
Adafruit Feather 32u4 Bluefruit with MPR121 Capacitive Touch Sensor Interface
Image of ALi WTSE: A project utilizing Adafruit MIDI FeatherWing Kit in a practical application
This circuit integrates an Adafruit MPR121 capacitive touch sensor with an Adafruit Feather 32u4 Bluefruit microcontroller. The MPR121 is powered by the 3.3V supply from the Feather and communicates with the microcontroller via I2C, with SCL connected to pin 3 and SDA connected to pin 2 of the Feather. This setup allows the Feather to detect touch inputs from the MPR121 for further processing or wireless communication.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO and OLED FeatherWing Display: Battery-Powered Hello World Project
Image of ARDUINO_SSD1306: A project utilizing Adafruit MIDI FeatherWing Kit in a practical application
This circuit consists of an Arduino UNO connected to an Adafruit OLED FeatherWing display via I2C communication (SDA and SCL lines). The Arduino is powered through a Vcc source and provides 3.3V and GND connections to the OLED display. The Arduino runs a program to display 'Hello, World!' on the OLED screen.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Adafruit MIDI FeatherWing Kit

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Lake Thoreau Monitoring Station: A project utilizing Adafruit MIDI FeatherWing Kit in a practical application
Solar-Powered Environmental Data Logger with Adafruit Feather M0 Express
This circuit is designed for environmental data collection and logging, utilizing an Adafruit Feather M0 Express microcontroller as the central processing unit. It interfaces with a BME280 sensor for atmospheric temperature, humidity, and pressure measurements, an SGP30 sensor for monitoring air quality (eCO2 and TVOC), and a STEMMA soil sensor for detecting soil moisture and temperature. The system is powered by a solar panel and a 3.7v LiPo battery, managed by an Adafruit BQ24074 Solar-DC-USB Lipo Charger, and provides easy access to the microcontroller's connections through an Adafruit Terminal Breakout FeatherWing.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of MPR121: A project utilizing Adafruit MIDI FeatherWing Kit in a practical application
Touch-Sensitive Interface with Adafruit MPR121 and Feather 32u4 Bluefruit
This circuit integrates an Adafruit MPR121 capacitive touch sensor with an Adafruit Feather 32u4 Bluefruit microcontroller. The MPR121 is powered by the Feather and communicates via I2C (SCL and SDA) to detect touch inputs, which can be processed or transmitted wirelessly by the Feather.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ALi WTSE: A project utilizing Adafruit MIDI FeatherWing Kit in a practical application
Adafruit Feather 32u4 Bluefruit with MPR121 Capacitive Touch Sensor Interface
This circuit integrates an Adafruit MPR121 capacitive touch sensor with an Adafruit Feather 32u4 Bluefruit microcontroller. The MPR121 is powered by the 3.3V supply from the Feather and communicates with the microcontroller via I2C, with SCL connected to pin 3 and SDA connected to pin 2 of the Feather. This setup allows the Feather to detect touch inputs from the MPR121 for further processing or wireless communication.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ARDUINO_SSD1306: A project utilizing Adafruit MIDI FeatherWing Kit in a practical application
Arduino UNO and OLED FeatherWing Display: Battery-Powered Hello World Project
This circuit consists of an Arduino UNO connected to an Adafruit OLED FeatherWing display via I2C communication (SDA and SCL lines). The Arduino is powered through a Vcc source and provides 3.3V and GND connections to the OLED display. The Arduino runs a program to display 'Hello, World!' on the OLED screen.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Building custom MIDI controllers for music production.
  • Interfacing Feather microcontrollers with MIDI-compatible instruments.
  • Creating DIY synthesizers or sound generators.
  • Developing MIDI-based lighting or visual effects systems.
  • Experimenting with MIDI communication in educational or hobbyist projects.

Technical Specifications

The Adafruit MIDI FeatherWing Kit is designed to work seamlessly with Feather microcontrollers and provides robust MIDI communication capabilities. Below are the key technical details:

General Specifications

Parameter Value
Manufacturer Adafruit
Part ID 4740
Communication Protocol MIDI (Musical Instrument Digital Interface)
Input Voltage 3.3V or 5V (depends on Feather board used)
Dimensions 51mm x 23mm x 8mm
Weight 5.5g

Pin Configuration and Descriptions

The MIDI FeatherWing Kit connects to the Feather microcontroller via its standard Feather headers. Below is the pin configuration:

Pin Name Description
TX Transmit pin for MIDI output. Sends MIDI data from the Feather to devices.
RX Receive pin for MIDI input. Receives MIDI data from external devices.
3V or 5V Power supply pin. Voltage depends on the Feather board used.
GND Ground pin. Common ground for the Feather and MIDI FeatherWing.

MIDI Ports

  • MIDI IN: Standard 5-pin DIN connector for receiving MIDI data.
  • MIDI OUT: Standard 5-pin DIN connector for sending MIDI data.

Usage Instructions

The Adafruit MIDI FeatherWing Kit is easy to set up and use with Feather microcontrollers. Follow the steps below to integrate it into your project:

Assembly

  1. Soldering: Solder the included headers to the FeatherWing PCB. Ensure clean and secure connections.
  2. Connection: Attach the FeatherWing to your Feather microcontroller by aligning the headers and pressing them together.
  3. MIDI Ports: Connect MIDI cables to the MIDI IN and MIDI OUT ports as needed.

Circuit Integration

  • Ensure the Feather microcontroller is powered via USB or a battery.
  • Connect the MIDI FeatherWing to external MIDI devices using standard 5-pin DIN cables.
  • Use the TX and RX pins for MIDI communication. The Feather microcontroller will handle the data processing.

Example Code for Arduino UNO-Compatible Feather Boards

Below is an example of how to send and receive MIDI messages using the Adafruit MIDI FeatherWing Kit with a Feather board:

#include <MIDI.h> // Include the MIDI library

MIDI_CREATE_DEFAULT_INSTANCE(); // Create a default MIDI instance

void setup() {
  MIDI.begin(MIDI_CHANNEL_OMNI); 
  // Start MIDI communication on all channels
  Serial.begin(9600); 
  // Initialize serial communication for debugging
  Serial.println("MIDI FeatherWing Example");
}

void loop() {
  if (MIDI.read()) { 
    // Check if a MIDI message is received
    Serial.print("Received MIDI message: ");
    Serial.print("Type: ");
    Serial.print(MIDI.getType());
    Serial.print(", Channel: ");
    Serial.print(MIDI.getChannel());
    Serial.print(", Data1: ");
    Serial.print(MIDI.getData1());
    Serial.print(", Data2: ");
    Serial.println(MIDI.getData2());
  }

  // Example: Send a Note On message (Middle C, velocity 100) on channel 1
  MIDI.sendNoteOn(60, 100, 1); 
  delay(500); // Wait for 500ms
  MIDI.sendNoteOff(60, 0, 1); 
  delay(500); // Wait for 500ms
}

Important Considerations and Best Practices

  • Ensure the Feather microcontroller and MIDI FeatherWing are securely connected.
  • Use appropriate MIDI cables to avoid signal loss or interference.
  • Verify that the Feather board's voltage (3.3V or 5V) matches the MIDI FeatherWing's requirements.
  • Use the latest version of the Arduino IDE and install the MIDI Library from the Library Manager.

Troubleshooting and FAQs

Common Issues and Solutions

  1. No MIDI Communication:

    • Verify that the FeatherWing is properly connected to the Feather microcontroller.
    • Check the solder joints on the headers for any loose or cold connections.
    • Ensure the MIDI cables are securely plugged into the MIDI IN and OUT ports.
  2. Incorrect MIDI Messages:

    • Confirm that the TX and RX pins are correctly configured in your code.
    • Check the MIDI channel settings in your code and ensure they match the external device.
  3. Power Issues:

    • Ensure the Feather microcontroller is powered via USB or a battery.
    • Verify that the Feather board's voltage matches the FeatherWing's requirements.

FAQs

Q: Can I use the MIDI FeatherWing with non-Adafruit Feather boards?
A: The MIDI FeatherWing is designed for Adafruit Feather boards, but it may work with other boards that have compatible pin layouts. Ensure proper voltage levels and pin configurations.

Q: Does the MIDI FeatherWing support USB MIDI?
A: No, the MIDI FeatherWing is designed for standard 5-pin DIN MIDI communication. For USB MIDI, additional hardware or software may be required.

Q: Can I use multiple MIDI FeatherWings in one project?
A: Yes, but you will need to manage the TX and RX pins carefully to avoid conflicts. Consider using a multiplexer or software-based routing.

By following this documentation, you can effectively integrate the Adafruit MIDI FeatherWing Kit into your projects and explore the exciting world of MIDI communication!