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.
Please note: This software is free to download but only works on one of our USB boards or chips which must be bought separately (see below).
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.
Click Here to Download (Version 1.24)
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
- Standard MIDI compliant devices are supported.
We have a list of known 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
- 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.
Turn ON/OFF MIDI DEVICE Attached Indicator
Filter incoming MIDI Channel data
[0-OFF|1-16 Channel to be filtered]
|DEBUG||Temporarily turns on debug output|
Set mode of operation
0 - Standard Mode, 1 - Midi Thru mode - Default is 0
Turn ON/OFF MIDI Channel Override
Turn ON/OFF MIDI REALTIME messages
[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)
? Hobbytronics.co.uk - 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
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.
USB Host - MIDI device software
- Manufacturer: HobbyTronics
- Product Code: USBHOST-MIDI
- Availability: 1
- Ex Tax: £0.00