Arduino as USB Drive

So, I've got an Arduino logging data to some file on a SD card. Now I want to retrieve it. I'd rather not pull the SD card. I would like to plug in the Arduino to a PC and have it show up as a USB Drive with my log files and all. Is this possible?

I know I can send Data from the file over the serial port. That's not what I want.



just have it print over serial, use a terminal program to log the incoming text, as far as a serial term, even stupid ole hyperterm which has been around since before the windows 3x days will record incoming text to a log file

format it properly and it and a spreadsheet application can read it fine

otherwise if your removing the whole thing from whatever it was connected to, why not just yank the SD card … sockets cost like 2 bucks and can easily be soldered to perfboards

sounds like your intentionally making your life harder with these unfounded restrictions, KISS (keep it simple silly)

The idea is a consumer product that is also hackable...thus incorporating a full arduino instead of just a pic. I want it to be simple enough for people to use, yet open source enough for people to hack.

If I were to dump data over the serial port, I'd have to write an application for a computer. For example, Suunto watches require a special software app to download data, Garmin GPS units let you just browse to the log file. Suunto is lame, Garmin is user-friendly. I'd rather be in the latter category.

So, I'm looking to log data, plug into the arduino's USB port, see it recognized as a USB drive, and browse to the file. It might not be possible while maintaining the ability to program the Arduino over USB. It might just be easier to have two USB ports.

It's not just a matter of having two (or more) serial ports. The Mega has that. It's more a matter of using the right kind of USB to serial conversion process (hardware and software). Perhaps the Leonardo would be worth looking at.

It can pretend to be a mouse or a keyboard. You might be able to extend that to have the Leonardo pretend to be a USB drive.

Yeah, I saw that functionality people built in. I think it’s a little easier if it’s just a keyboard. But, that’s the kind of thing I’m going for.

When I said two ports, I meant two physical ports. The idea being the memory chip is connected to the Arduino which writes to it and a USB port that you can connect to a computer. It’d have to be something like and i2c bus with two hosts. I don’t know if that works with spi. I’m hoping that if you connect a computer and it starts talking, the Arduino will just not care what’s going on. Might need some diodes or something.