This is an inexpensive DIY MIDI controller device for USB.
It consists of a simple Atmel AVR ATMega16 with a
software-only implementation
of a low-speed USB device from
Objective Development.
Read the
latest news about V-USB-MIDI.
Download
schematics and demo software.
This USB MIDI is build upon an Atmel AVR ATMega16, powered from USB through
2 diodes (3.5 volts). Up to eight potentiometers (AVCC/AGND) are connected
to the analog inputs (PORTA) which are converted to a range from 0x00..0x7F
to create midi controls (CC).
On my Atmel AVR STK500 starter kit I've tested a simple key routine (PORTB),
which sends eight "white" keys (60, 62, 64, 65, 67, 69, 71, 72).
Serial debugging is enabled.
MIDI messages are received from PC but for now only a LED is toggled
(and a debug message sent to UART).
This interface shows up on my linux PC and works fine with vanilla kernel
>=2.6.23.x or with a little
patch
for my very old
sidux realtime kernel 2.6.22.1-rt9.
This device is class compliant, I use device class audio/midi stream. The device
descriptors in my software are based upon
this document,
Appendix B.
The PID=1508 and VID=5824 are sponsored by
Objective Development.
AVR is a registered trademark of
Atmel Corporation.