What do I need for this project?

I’m not really sure what I need to start this project, so I’m looking for a little direction. To be honest I’m not even sure if this is the correct forum, so go easy on me. I’m looking to control something, say a set of LEDs, but it could be any type of device controlled via a PC. However, I want to control them via USB. Lets say I have a simple windows based Java or C++ program that receives user input. This input controls whether the LEDs turn on/off for example.

What can I use as this USB connected black box? Where would I buy this USB connected black box? Any websites you can direct me to to get started?

Thanks in advance,

Topaz

You could connect a FT232R (usb-RS232 converter chip) to an AVR through the UART. Then on the AVR you would have your ‘doo-dads’ (LEDs and Stuff). The AVR would recieve commands through your Java program and it would set off the LEDs ect…ect. To interface through USB is REAL easy with the FTDI FT232R (I’m about to order the SFE breakout). You don’t need any USB code. The FT232 shows up as a Comm port using VCP drivers. The AVR talks to the FT232 just like its talking to the computer;s serial port.

If you only need a few digital input and output signals, the FDTI chip is enough. No need for a micro. The DTR and RTS are output pins. DSR, CTS, RI, and CD are input pins. RXD and TXD are also input and output respectively.

Also, some of the FTDI chips can be put into a “bit-bang” mode where they just provide a handful (sixteen?) of GPIO lines. I don’t know much about them, never used it.

It’s possible to program an AVR to [implement [a low-speed USB device entirely in firmware, which is [kind of neat.

Alternatively, you could buy a prebuilt “USB-to-a-few-IO-lines” device. I’ve seen some of these, often they have a handful of outputs, inputs, maybe optoisolated, maybe with ADCs. Usually around $100-$150.](http://unpythonic.net/avr/usb/)](http://www.cesko.host.sk/IgorPlugUSB/IgorPlug-USB%20(AVR)_eng.htm)](http://www.obdev.at/products/avrusb/index.html)