diecimila and usb pen drive

Hi all,

I am pretty new of Arduino and I am only a high level software programmer so I am not so skilled about microprogramming. So, please excuse me if my questions are too stupid. I have a Diecimila with USB port and I have already done a project for sending to a PC data read from a sensor. So far everything goes well. Now I would like to avoid the use of a PC and to directly connect Arduino to a USB pen drive that will store all the data that were previously sent to the PC. My question is about the way in which this can be possible. I am aware of the article "Writing data to USB memory stick" http://www.arduino.cc/playground/Main/UsbMemory but I am wondering if the ftdi viniculum chip (or any other USB controller) is still needed even if I already have a USB port. If so, how can I connect it to the Diecimila? Reading the specifications it appears that the serial pins are already hooked to the FT232RL.

Any comments are very welcome



The "USB" on the Arduino is not a real USB port, it is a chip gaves a USB "wrapper" around a virtual serial port. As far as the Arduino is concerned it just has a normal TTL serial port. As far as the computer end, all it sees is a driver for a virtual serial port. You can't connect the memory stick that way.

Someone has implemented true USB in software on the ATmega, but I haven't played with it. It really drives the chip to its limit and I'm not sure how much else you're able to do with the chip.

Well your question about the usb being used to send serial data to it to store, is what i'v been thinking. A few others must be thinking it to by the number of reads on the post. I have been reading the documentation on the new chip on the diecimila board and it sounds better that the featured chip in the example? I was going down the line of writing a program that sits on the usb stick to recieve and handle the data. Still in the research level.

Any thoughts from others would be apreciated.

There are two types of USB ports (and I'm not referring to physical connectors). There is a host port and a peripheral port. The arduino is a peripheral (specifically a USB to RS232 adapter). Your computer has host ports. A host has lots of operating system support to manage the bus and all the peripherals. This is too much work for a microcontroller like the ATmega.

In order to plug a USB peripheral into the Arduino, you need a device like the vinculum.


Thanks guys for your properly answer. I am going to order the vinculum today :)