USB-MIDI Converter  もこ


MOCO(MIDI-Out COnverter) / MICO(MIDI-In COnverter)

  1. 1.Introduction

I designed a simple USB - Serial MIDI interface for hand-made analog synthesizer. There are two configurations; one for input and one for output.

  1. (1)MOCO (MIDI-Out COnverter) もこ

   MOCO receives MIDI messages from PC via USB-MIDI and send them to Serial MIDI

  1. (2)MICO (MIDI-In COnverter ) みこ

 MICI receivess MIDI message from Serial MIDI and send them to USB MIDI.

  1. 2.Schematics

 V-USB-MIDI is adopted for MICO and MOCO. The following components are used.

  1. A Tiny2313 and a crystal oscillator(16MHz)

  2. A couple of voltage level converter for V-USB

  3. Serial MIDI interface circuit with opt-coupler

As the flash memory of tiny2313 is too to have both V-USB and MIDI parser code, you need to choose one of MIDI-OUT or MIDI-IN function.

  1. For MOCO, MIDI-OUT side should implemented. No opt-coupler is required.

  2. For MICO, an opt-coupler is required but no MIDI-OUT circuit.

  1. 3.Usage

 For PC side, standard driver is used and no driver is required.

 When MOCO or MICO is plugged to one of USB port, OS will recognize them as MIDI device. You just need to choose MOCO or MICO for MIDI-OUT/MIDI-IN in your DTM software.

  1. 4.Notes

  2. USB hubs will not always work. In the case, please plug them PC ports, not hub.

  3. System-exclusive messages will ignored. This is because no space left for flash rom.

  4. You need to use gcc-3.x for recompile MOCO/MICO. With gcc-4.x, you will end up with the code that is too big to fit in tiny2313.

  5. With a ATtiny4313, you can build bidirectional device named MicoMoco. I confirmed the software works correctly with a t4313 which obtained Evil Mad Scientist Lab (EMSL). You need gcc-4 to compile for t4313.

  1. 5.Prototyping

Top picture is my first prototype with universal PCB. She has both MIDI-IN/MIDI-OUT circuits onboard. Because of the restriction of flash memory in tiny2313, one of them can be used.

I feel this implementation is good for built-in home-made analog synthe.

Example1: MOCO in MIDI cabse

I use DIP version of Tiny2313, as it is very cheap in Japan. (~100YEN)

Tiny2313 is programmed before soldering.

A SMD crystal is installed under tiny2313 for saving space.

The other passive components are also SMD.

The housing of DIN connector came from female DIN connector, as it is slightly longer.

Example 2: MICO by SOP

MICO is made with SOP components for tiny2313 and opt-coupler. HCPL-M701 by HP is used for opt-coupler.

  1. 6.Download Firmware

VERSION 2011021(moco-110211.tgz)     UPDATED 2011/02/14

  1. 7.Acknowledge

I adopted a serial MIDI parser by RadioJukeBox(RJB) and mmtakeda. Based on their code, a state transition table is build for code reduction.

V-USB and  V-USB-MIDI is used for the USB stack.