Beginner USB gadget project - suggestions needed

Very excited with my new toy of a Hydra board so far. Endless possibilities! I am mostly an application level software person so the .Net Gadgeteer system opened the hardware world to me in the past 24 hours.

I am planning a bit more complex project of controlling a digital camera through USB port using PTP protocol. Something like this: http://www.circuitsathome.com/camera-control/generic-ptp-control-of-digital-cameras
It requires the system to be a USB Host and the camera will be the USB client.

The question now is to evaluate the feasibility and complexity/cost of solutions. Since I am quite inexperienced with this type of stuff, can you provide your opinions/corrections of the following?

Option 1. FEZ Spider (which has an H socket) + USB Host Module
The “Premium Library” has support for USB Host in GHIElectronics.NETMF.USBHost Namespace. I am assuming that I will need to extend USBH_RawDevice class following the PTP protocol.

Option 2. FEZ Panda II plus hardware modifications
This one is listed to have “Premium Library” support so the programming work would be the same as option 1?

Option 3. FEZ Cerberus (which has an H socket) + USB Host Module
This one only has “OSHW Library”. Meaning that I have to first do some “low level” programming to enable USB host function? What exactly does that mean? Where do I begin?

Panda II is out of question - not enough RAM. Cerberus is borderline you will need ~58K for one image with smallest resolution.

Spider is your best bet.

Check this out:

http://code.tinyclr.com/project/355/ghi-usb-webcam-290/

Thanks!

It looks like the “Premium Library” be available to EMX Module. So in this case should I develop using Spider + USB Host Module then find a way to migrate to EMX Module for production, or I should develop using EMX Development System instead?

EMX Dev Sys is reasonably “old” these days, and the intent of Gadgeteer is that it is your “prototype” platform, making connecting mainboard and “devices” easy.

EMX is the core for Spider, as well as EMX Dev Sys, and also the Cobra (“OEM” style) so you could choose any of those as reasonable devices for your prototyping stage, if all you need is USB Host. If you want to connect other devices, I’d suggest Gadgeteer (ie Spider) is the way to go, and since you have Hydra you will already have some modules and therefore get to use some of them on either device.

Can someone clarify if FEZ Cerberus can work with a USB Host Module or not? It has the socket. But only “OSHW Library”, which does not contain USB Host yet. Thank you!

You answered your question when you said “yet”. This board us open for everyone to contribute as well.