View Full Version : USBHID concept

11-04-2011, 05:46 PM
Hi all,

I got a notification today concerning this http://mbed.org/handbook/m0-release . This got my head spinning, especially seeing this: http://mbed.org/handbook/USBHID .

I had been reading this post:

http://forums.parallax.com/showthread.php?135507-What-type-of-computer-to-use-for-Eddie-s-central-processor and I was very interested in the wireless USB hub.

My question is this: I know the Prop 2 will have a full USB host of some sort, is it possible we will be able to do something similar with the Prop 2 as this little Mbed Cortex M0? I have interfaced the Prop via RPC calls and serial obviously, but I have always loathed the serial virtual COM port addressing required for that. I really like the idea of passing messages via the USBHID reporting mechanism. Has anyone seen this? What are some thoughts on this? I'd love to see something like this used for interfacing to Viewport or 12blocks or something. I would really like to be able to create a UI on a PC, and interface to a Prop this way, and bypassing the virtual COM port numbering.

I'm thinking of a multiprop system, each linked via its own dedicated USB connection all over wireless back to a PC.. Almost like a Prop-Phidget...

Any thoughts?

Mike Green
11-04-2011, 06:05 PM
The Prop 2 will not have a "full USB host" in hardware. It does have some additional low level support hardware compared to the Prop 1, but essentially it's all done in software like most of the I/O that the Propeller does. There already exists some USB software for the Prop 1 that will do the low level USB stuff and some higher level USB support, like for HID devices and virtual serial ports. The software is complex and takes a lot of memory and it "cheats" a little in terms of some of the requirements of USB. This is not too different from the way that other microcontrollers do USB ... many use simplified implementations of a USB client.

You should be able to do what you want with either the Prop-1 or the Prop-2, but you'd be better off using something like xBee or Bluetooth or even Ethernet/WiFi. The external hardware takes a huge burden off the Propeller, implements the protocols involved correctly, does error checking and correction for you, etc. The fact that you could do what you want doesn't mean that it's the best or cheapest way to do it.

Also keep in mind that wireless USB hubs are not long term solutions. AFAIK, they're not supported for the MacOS or Linux, only Windows (on the host end) and it's not clear that they'll be on the market for long.