Code Monkey home page Code Monkey logo

midiuartusbh's Introduction

MIDI DIN to MIDI USB Host Converter

Image of Uno, USB Host Shield, and DIN Shield

The old way of making an Arduino MIDI USB host to MIDI DIN converter consists of an Uno, a USB host shield, and a MIDI DIN shield.

Image of MIDI DIN to MIDI USB Host converter

This project uses an Adafruit Trinket M0 which has USB host capability. The USB Host Library for SAMD and a USB OTG to USB host cable or adapter is required.

Image of MIDI DIN to MIDI USB Host converter

Dependencies

Components

  • 1 x Trinket M0
  • 2 x 220 Ohm resistors
  • 1 x .1 uF ceramic capacitor
  • 1 x 5 pin DIN connector
  • 1 x TI SN74AHCT125, Logic level converter and driver
  • 1 x USB OTG to host cable or adapter

Related Project

[dsp-G1 synth]https://hackaday.io/project/161652-portable-midi-dsp-g1-synth

midiuartusbh'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  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  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

midiuartusbh's Issues

Host vs Device

Hi,
Thanks for this project.
If I understand correctly this project allows us to convert a good old MIDI host in a USB-MIDI host?
Would you mind add some docs about use cases?
I'm personally looking for a way to give a recent USB-MIDI device a good old DIN MIDI out.

Christophe

Lost/missed messages when playing continuously

I have noticed, when trying to play many notes at the same time, the whole system cannot manage to process them all.

It's mostly annoying when a NOTE OFF message gets lost and you get constantly playing note on your synthesizer etc.

The best way to reproduce is to use MIDI controller with a built-in arpeggiator. Set the tempo to 60+ BPM and division to 16th and literally just press one key.
You'd notice the synthesizer/instrument playing very very swingy, nowhere near the expected BPM and time division.

Other way is just to continuously press one key and observe the behaviour of the instrument. The note will be ignored at times, and play continuously at others.

Is there a way to make the MIDI transmission more robust? If high BPM cannot be supported, is there a way to at least make it not lose the messages?

USB Host mode and dedicated wiring

Hi,
Very interesting project, but not sure I am understanding the USB operation.

It looks like the M0 does not have the ID wire connected, so does this mean that the f/w is forcing it into USB Host Mode? If so, what is the recovery process for when 'we' want to upgrade the f/w or purpose for something else?

Looking at the pictures here:
https://learn.adafruit.com/adafruit-trinket-m0-circuitpython-arduino/overview

It looks like the D+/D- are also available as pads on the underside. Yes! This would make it much simpler to use in my project to host a Midi keyboard for my Uno Synth (2.5mm Midi in).

Just a regular USB Type A->Type Micro B cable cut D+/D- 1/2 way and solder direct to pads, then GND/VDD are shared between all Type-A, M0 and Type-miniB.

Any recommendations for a SMT single gate buffer chip for Midi UART out?

Thinking this (and the resistors) could just be super/crazy glued to underside of PCB with flying lead to Uno.

Cheers,
Simon

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.