USB host shield is nice, but I’d prefer an integrated USB host microcontrolller board. Micropendous is very nice, but isn’t produced in large quantities, so it might be perfect for SparkFun:
If someone is willing to design something from scratch, there’s the PIC24F32GB002 micro which has USB otg/host support and comes in a DIP package. A hand-solderable breakout board would be a nice and most of all cheap solution.
@mcuaust: USB stands for ‘universal serial bus’ There’s loads of stuff you can connect over it but most importantly, it’s a standard used in commodity devices. So instead of getting an expensive $30 bluetooth-serial bridge you might be able to get a $3 dongle from DX and use that instead:
@mcuaust: the reason Arduino is popular I think, is that it’s a bit like a swiss army knife. It has loads of I/O such as GPIOs with input capture and PWM, I2C, SPI, UART, ADCs, etc. The fact that you can pretty much hook anything up to it is a big advantage. To me, adding USB to the list just seems like a natural progression of that idea.
USB has several benefits over other connections. It’s bi-directional and asynchronous, and you can connect multiple devices to one host - possibly using a hub - which saves on pins. And like I’ve said, there’s a lot of inexpensive commodity devices that connect over USB. Right now many of us are using expensive low-volume GPS modules instead of cheap USB dongles like http://www.dealextreme.com/details.dx/sku.37137. There’s also code available for low-cost bluetooth through a dongle like http://www.dealextreme.com/details.dx/sku.11866. Mass storage allows you to easily add gigs of storage to your project for say, logging purposes.
So to come back to your question, USB has the benefit of a) allowing us to talk to cheap commodity devices, b) have multiple devices on a single bus, c) easy to program.
thanks for all of that. I’m still trying to understand what your suggested “integrated USB host microcontrolller board” will provide as opposed to an Arduino with built-in USB.
By the way, apparently the new Arduino Uno can hook up to a PC using USB without any drivers required.
mcuaust:
Inopia, do you have some usage examples for “slave” devices you would want to connect to that host controller, and what they are used for?.
@mcuaust, Inopia already said a few examples would be to use a cheap gps or bluetooth donlge. Inopia wants to be able to plug devices into an arduino, that would normally be plugged into a computer. Although arduino has usb on it, it is a usb device, not a usb host. For example you cannot plug a usb mouse into an arduino right now. You have to have some type of microcontroller that is a usb host to do that. That is what Inopia is looking for.