This module came to life because we figured we wanted some way to sequence the synthesizer,
and building a hardware sequencer seemed like overkill.

After realizing there were no game ports on my fairly new laptop a USB->MIDI was necessary.
This seemed like money, and money we didn't have.
The new microchip PICs with USB had seemed pretty interesting for a while in any case, so
we got a few PIC18F2455s. After trying to read up on USB, checking the microchip forums,
talking to various people and
pulling hairs forever this module *finally* came to life.
The functionality is really simple, it outputs one CV and two GATEs. It's currently hard-coded
to generate CV and GATE#1 from midi-channel #1 and GATE#2 from midi-channel #2. It's also supposed
to take MIDI-IN when USB is not connected.
It's a really simple module, a PIC, a D/A and a couple of OP.AMPs.

Unfortunately, the MIDI-IN part of this module doesn't work yet. This has partially to do with
the fact that there's a silicon bug in the 18F2455 that supposebly prevents its USART to work for
MIDI purposes. I added a PIC18F628 to take care of that, but it became unstable and i never had
the time to fix it.
Anyhow, schematics and really crappy, non-tidied firmware below:
Schematic
Firmware
The code is an edited version of Microchip's CDC code i got from Thorsten Klose, i've removed most
of his original editions and inserted what's necessary to do midi out on one port.
Since i don't understand much of american legal mumbo-jumbo i'd just like to say that this code is for
testing *only*, no commercial applications can use this code. Also, if there's any copyright issues
towards Microchip by releasing this code, tell me an i'll remove it.
The Schematic is based on Thorsten
Klose's
USB PIC Module and the
CREATE USB Interface by Dan Overholt.
This device should work without drivers on all USB capable systems, though it's only tested on Windows XP so far.
Making use of the general MIDISTREAMING interface driver under Windows is a pain, i pulled hairs for a long
time to make it work. The main problem i had - and that many has had before me it seems - was that the
device enumerated and installed fine but didn't show any midi in or out ports.
I read somewhere that USB Filter applications can prevent windows from understanding
what's going on, so after trying and trying i finally - without any changes in hardware or software -
hooked the module up to another laptop to see what happened. I got perfect response so i removed the LibUSB
USB filter and did a general clean-up of the registry on my laptop and made it work there aswell.
I can't really say that i recommend anyone building this, sure it works but after searching
the forums it seems like Microchip doesn't really give any support/help on their products.
It was due to the help of Ryan Williams, Thorsten Klose and - as always - the rest
of the team at the Synth-DIY list that i was able to do this.
So simply..
THANKS