Git Product home page Git Product logo

midiuartusb's Introduction

MIDI UART USB converter

Bi-directional converter between MIDI USB and MIDI UART. There are many pages that describe how to connect a UART port to DIN connectors so it is not covered here.

Maximum System Exclusive size is 1024 bytes. This can be bigger on SAMD boards which have more RAM.

Install MIDI Library (version 4.3.1) and MIDIUSB libraries using the Arduino IDE library manager. MIDI Library version 5 and newer do not work with large SysEx.

Tested in 32u4 boards such as Arduino Leonardo, SparkFun Pro Micro, and Adafuit Itsy Bitsy 32u4.

Tested on Arduino Zero, Adafruit Trinket M0, and Adafruit QT Py. It might work on other SAMD21 boards. Either Arduino or TinyUSB stack can be used.

Tested on Raspberry Pi Pico using the TinyUSB stack and the Earle Philhower Arduino Core for RP2040. It might work on other RP2040 boards.

Testing

Tested in with hardware loop back on UART Tx/Rx using SendMIDI and ReceiveMIDI.

In one command line window run receivemidi like this:

$ receivemidi dev arduino

In another command line window run sendmidi with the test script receivemidi.txt like this:

$ sendmidi dev arduino file receivemidi.txt

Compare the output of receivemidi (redirect output to a file) with the receivemidi.txt test script.

Hardware

All of the following run MIDIUARTUSB.

Arduino Leonardo (32u4) with SparkFun MIDI shield. The buttons and pots are not used in this program.

Arudino Leonardo with SparkFun MIDI shield

Pro Micro (32u4) 5V with MIDI breakout board.

Pro Micro 5V with MIDI breakout board

Adafruit Trinket M0 (SAMD21) 3.3V with MIDI breakout board. Note the different resistor values on the MIDI board for 3.3V operation.

Trinket M0 3.3V with MIDI breakout board

Options

Ground pin 2 to enable MIDI pass thru.

Trinket M0 firmware

Compiled programs can be burned into the Trinket M0 just by dragging and dropping a UF2 file on to the Trinket M0 USB drive. There is no need to install the Arduino IDE, source code, or USB serial device driver.

  • Download the UF2 file.
  • Plug in the Trinket M0 to the computer.
  • Double tap the Trinket M0 reset button.
  • When the TRINKETBOOT USB drive appears, drop the UF2 file on to the drive.
  • Wait until the Trinket M0 reboots.

References

https://www.midi.org/specifications/

http://www.usb.org/developers/docs/devclass_docs/midi10.pdf

https://github.com/gbevin/ReceiveMIDI

https://github.com/gbevin/SendMIDI

midiuartusb's People

Contributors

gdsports avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.