SparkFun Forums 

Where electronics enthusiasts find answers.

Have a good idea for a new product for SFE or Olimex? Let us know!
By souplogic
#118070
I would love to see a minimal (cheap as possible) board that had the bare minimum for implementing a useful "LUFA Bridge".

The idea is to break off the Arduino portion of the Uno leaving that nice little AVR chip and USB port to use on other projects.

The Teensy is pretty close to what I would like to see in terms of size (although smaller would be even better) and cost - plus its Wiring compatible through Teensyduino.

So you would be offering a great little microcontroller, but people like me could use lufa to reprogram it into a class compliant MIDI device gateway, for plug and play fun.

--background and clarification--
The USB boards on most of the Arduino, NetDuino, Fez, etc boards here are simply serial gateways, which can not be used to create class compliant MIDI devices or HID devices, etc. The Uno uses an AVR chip running the LUFA library (formerly MyUSB) as their serial gateway, but it can be used for these other things, if reprogrammed.

I am not sure how difficult it is to program an Uno over serial USB and use its port as something else, so the availability of an additional "LUFA Bridge" might still be useful to even these devices.
By cwalker_secretlabs
#118103
souplogic wrote:--background and clarification--
The USB boards on most of the Arduino, NetDuino, Fez, etc boards here are simply serial gateways, which can not be used to create class compliant MIDI devices or HID devices, etc. The Uno uses an AVR chip running the LUFA library (formerly MyUSB) as their serial gateway, but it can be used for these other things, if reprogrammed.
Hi souplogic,

A LUFA Bridge device would be cool. A MIDI gateway would be fun, and I can think of a lot of other potential applications for that as well (joystick interface, driverless comm interface, etc. etc.)

Also, just FYI...I don't want to get too far of the topic here, but I should clarify that the USB port on the Netduino is a full USB device port. One can turn a Netduino into a USB mouse, custom HID device, etc. The ARM7 chip has a half dozen available endpoints, bulk or interrupt, at your disposal. .NET MF has integrated USB Client functionality, and it's all open source. [We're also working on a firmware update which will let you debug your Netduino app using USB while simultaneously using the USB for HID Netduino<->computer communication.]

Chris
Secret Labs LLC
By souplogic
#118157
Also, just FYI...I don't want to get too far of the topic here, but I should clarify that the USB port on the Netduino is a full USB device port. One can turn a Netduino into a USB mouse, custom HID device, etc. The ARM7 chip has a half dozen available endpoints, bulk or interrupt, at your disposal. .NET MF has integrated USB Client functionality, and it's all open source. [We're also working on a firmware update which will let you debug your Netduino app using USB while simultaneously using the USB for HID Netduino<->computer communication.]
Thanks for the clarification! I wish I could edit the original post with some illustrative strike-out mark-up. The Fez Panda which I purchased recently works the same way, and I do not know why I had it listed among the boards with a serial gateway - I had thought that this was a unique feature to the Fez boards, but it appears it is actually part of NETMF proper?

Either way, it seems USB MIDI is a bit unique in how its hearers work (according to the fez folks: http://www.tinyclr.com/forum/6/2234/#/1/msg22735) and cannot be implemented through NETMF (Im guessing the story is the same with the Netduino).

So again, it seems like a simple LUFA bridge would be good for this regardless of controller, as it manages (perhaps through a lower level implementation) to support class-compliant USB MIDI device.
By cwalker_secretlabs
#118201
souplogic wrote:
Either way, it seems USB MIDI is a bit unique in how its hearers work (according to the fez folks: http://www.tinyclr.com/forum/6/2234/#/1/msg22735) and cannot be implemented through NETMF (Im guessing the story is the same with the Netduino).
Hmm, curious. If the microcontroller supports it, then you should be able to do it. One of the big pluses of Netduino is that it's 100% open source, so you can hack away at the .NET MF source or write a bit of native code if .NET MF doesn't support something...

I'd be really curious to know _what exactly_ .NET MF doesn't support out of the box that MIDI needs (unless it's an NXP issue...a number of NXP microcontrollers only allow certain endpoint types on certain endpoint numbers).

Chris
By souplogic
#118634
Teensys are still out of stock at adafruit, as well as their Atmega32u4 Breakout Board+ which is essentially the same thing.

Another way this could be used/sold is as a replacement/alternative to the FTDI based usb serial cables. The form factor would be great for my purposes assuming I could reprogram the pins to be SPI, or access some extra PTHs on the part for that purpose.

I like the idea of a simple USB board that could be sold as a USB MIDI / HID gateway, serial gateway, and small AVR (and teensyduino) platform depending on how its programmed.
By souplogic
#118635
To Chris from Secret Labs:

Thanks for the input, though I am not sure I am ready to take on a custom NETMF port to get MIDI working yet. Though maybe its not is difficult as I think.

Its definitely something I would like to work on long term - what resources should I start with.

Also, nice spot on Hanselminutes.
By Inopia
#118696
@souplogic: the first implementation of the PS3's USB sploit was on AVR, I believe using a at90usbkey. These were then quickly sold out worldwide, as well as teensy and others. Chinese manufacturers have since taken up production and with no way to differentiate, prices have been driven down to the current price point of roughly $7 (note that DX has free shipping, and they will ship a single unit to you if you want them to).