USB Host Board - MIDI device

HobbyTronics USB Host Board - MIDI device
Click to enlarge
Manufacturer: HobbyTronics
Average Rating: 5 out of 5 Stars!


USB Host Board - MIDI device

This software allows you to connect a USB midi device to one of our USB Host boards (or IC's) for 2-way communication using the MIDI protocol.

It translates the USB MIDI data packets to/from Serial data packets at the MIDI baud rate of 31250.

This is a free software download for our USB Host Boards and USB Host IC's (SOIC, DIP, SSOP).

To order, simply select which of our boards or IC products you wish to have the software loaded onto. See the USB Host Board and IC product pages for details on pricing and installing this software.

Download Software
Click Here to Download (Version 1.24)
USB Host BoardUSB Host Mini
USB Host Boards
USB Host IC's

With this software on one of our USB Host devices you can now communicate with USB MIDI devices using Arduino / Teensy / Raspberry Pi and many other microcontroller boards using the standard MIDI message format.

Use your USB MIDI device without having to connect it to a computer.


  • Convert your USB MIDI device to Serial TTL
  • Operates at 31250 BAUD
  • Override MIDI Channel Number of device

Supported Devices

  • Standard MIDI compliant devices are supported.

We have a list of known supported devices

Un-Supported Devices

  • Some Complex MIDI devices use a built-in USB Hub. These MIDI devices are not supported and will NOT work with our USB Host Boards. You can determine if your device has a built-in hub by running the free Windows program USB Tree Viewer. If, when you plug in your MIDI device it appears as a new Hub plus one or more devices then it will not work.

Connections required for Midi Software

The USB MIDI device must be connected directly to the USB Host, it cannot be connected through a USB Hub.

Serial TTL connections are at 31250 baud

  • 5V power in
  • 0V
  • TX out
  • RX in


The USB Host Board has the following configuration options available for the MIDI software

[NEW] - As of V1.18 command mode is now inactive by default. The reason is that if you have the board connected to MIDI IN and OUT but no USB MIDI device attached, then serial MIDI data received would be echoed back out on MIDI OUT.

So, in order to get into command mode you must do the following..
1. Boot up the board without a USB MIDI device attached
2. Send two consecutive dollar characters "$$" in the first 10 bytes of serial data. If $$ is not received within the first 10 bytes, a reboot is needed to try command mode again.

The following Commands are available. Connect the board/chip to a suitable serial connection at 31250 BAUD and a Terminal program. The Help screen and configuration settings can only be made when there is no MIDI device attached.

DEVICE <value> Turn ON/OFF MIDI DEVICE Attached Indicator
FILTER <value> Filter incoming MIDI Channel data
[0-OFF|1-16 Channel to be filtered]
DEBUG Temporarily turns on debug output
MODE <value> Set mode of operation
0 - Standard Mode, 1 - Midi Thru mode - Default is 0
CHANNEL <value> Turn ON/OFF MIDI Channel Override
[0-OFF|1-ON] - Default is OFF
HELP or ? Display Help Screen



The DEVICE indicator when turned ON will set the SS pin HIGH when a MIDI device is attached and LOW when removed. This is useful if connecting the board to another microcontroller as it indicates if a MIDI device is attached.

Because the DEVICE option and CHANNEL option use the same SS pin, only one option can be activated.


The FILTER option allows you to block ALL incoming MIDI channel data received on the serial RX pin EXCEPT for the MIDI channel selected.

This is useful for MIDI Effects devices which run in OMNI mode only (which means the effect would be applied to ALL channel data)


Temporarily turns on debug output. This is useful if you have a USB MIDI device that is not working. The debug output can be sent to us at Hobbytronics to determine the problem.


The MODE command is only realy applicable to the MIDI USB to DIN Converter. If you only need to send midi data to the attached MIDI USB device, you can can use the MIDI OUT port as a THRU port


No configuration needs to be done for normal operation. However, we have added the option to be able to override the outgoing MIDI Channel number. By default this is turned off. This is a very useful feature when connected to a device like the WAV Trigger as it can be used to switch between different set of WAV files - effectively switching instruments.

Turn it on by using the command


The channel number is set using the unused pins on the board. This can be done using a BCD Rotary Switch.
How they are to be set is shown in the Help Screen (as shown below)

? - USB Host MIDI Driver v1.13

  REALTIME <value>       - Enable RealTime MIDI Messages
   [ON]                    0 / OFF - Disabled, 1 / ON - Enabled
  DEVICE <value>         - MIDI Device Attached indicator (SS pin)
   [ON]                    0 / OFF - Disabled, 1 / ON - Enabled
                         ** Turning ON disables CHANNEL override **
  FILTER <value>         - Filter MIDI Channel Number
   [OFF]                   0 / OFF - Disabled, 1 - 16 - Filter channel
  CHANNEL <value>        - Override MIDI Channel Number
   [OFF]                   0 / OFF - Override OFF, 1 / ON - Override ON
                         ** Turning ON disables DEVICE Attached Ind **

       Channel Override can be set using the following pins
       Channel  SDO SCL SDA SS       Channel  SDO SCL SDA SS
          1      0   0   0   0          9      1   0   0   0
          2      0   0   0   1         10      1   0   0   1
          3      0   0   1   0         11      1   0   1   0
          4      0   0   1   1         12      1   0   1   1
          5      0   1   0   0         13      1   1   0   0
          6      0   1   0   1         14      1   1   0   1
          7      0   1   1   0         15      1   1   1   0
          8      0   1   1   1         16      1   1   1   1

  HELP or ?               - display help

If using the CHANNEL override function, the channel number pins should either be connected to +3.3V or to GND. They should not be left floating.


This option allows you to turn off MIDI Realtime messages. The default is to turn Realtime message OFF


MIDI message format
Sparkfun MIDI Tutorial
Arduino Board as basic MIDI synthesizer - Create a basic MIDI Synth using an Arduino Board
MIDI Player Tutorial using Teensy 3.1
USB Host Serial MIDI Connections - Connecting the Serial port to serial MIDI devices
MIDI Synth Project - See our project to make a MIDI Synthesizer

Program Updates

To upload the Software to the USB Host Board you will need to use the ds30Loader program. See the USB Host Board product page for more information on this.


Write Review
Your Name:

Your Review: Note: HTML is not translated!

Rating: Bad            Good

Enter the code in the box below:

There are no additional images for this product.
USB Host Board - MIDI device
$ 0.00 New In Stock
Shopping Cart
0 items

Free Delivery Orders over £50

UK - £2.40 orders under £50
Airmail from £2.95 (+VAT)
More Details...

 Check out our videos
Follow us on: