Go Down

Topic: Arduino, file systems, SD cards and copying (Read 2859 times) previous topic - next topic


Long time listener first time caller. In theoretical stages now, would appreciate some discussion on an idea.

An Arduino, connected to an SD card, say. Like so: http://chipdos.com/modules.htm

Might one then copy a file already on this existing SD card to another SD card inserted during operation? Or, better yet, another serial device, maybe a usb hard drive, maybe even an iPod... of course, writing to the iPod would also require editing the iTunesDB file, but we can worry about that later.

Hmmm.... discuss?


I have that thing but it didn't really work for me. One of the reasons I use dataflash, so much easier.


yeah? What kinds of problems did you run into?


I tried to forget it. Now you come here and start remembering me.  ;)

Did you try the search?

Did you search around on other forums about it? Try the sparkfun forum.

If you have it working let me know.


Oh of course. Searching a plenty, and a good amount of info on the parts of the above idea.
The SD card, MMC cards, serial communication.

Wondering about guesses afa problems I might run into with this proposed idea.


Well, there is no doubt I am still frustated with the dosonchip module.

Back to your original question. Do you want to store a file from SD card 1 somewhere, remove card 1 insert card 2 and write the stored file to it? Is that what you want?


Lets say theres a file on SD card 1. I want to move it to SD card 2. Or USB thumb drive 2. Or SD Card 1 could be USB Thumb Drive 1 instead. I'm flexible. Basically the copying of one file from one serial based storage medium to another, automated.

The originating medium (SD Card 1, i.e.), ideally, would never need to be unplugged.


The only option I see is to use 2 vdip modules. But I also tried these...no luck either. But I guess that you can get them to work. But it will take some time.

If you are using SPI you would need very small files. You need to store the data somewhere because you can only use 1 device on the SPI port at a time. If you want to use a serial interface there will be 1 software serial port, so maximum speed 9600 baud: very slow. You might be able to use 1 on SPI and the other on the hardware serial port though. But then you have to get 2 interfaces working.


In my thinking I have been leaning towards the SPI & hardware serial connection in tandem. I wonder how well they will talk to one another.

The files would probably be biggish, in comparison. 3, 4 megs maybe. And there might be more than one.

Oh Snap. This is gonna get messy. Is the difficulty with the vdip module just a simple 'does not show up' issue?


I've got a vdip 1 working with arduino and a usb memory stick as a datalogger - I'me thinking of posting it to the playground once I've tidid it up.

I can't remember the syntax for copying between the two ports - I might look at it this weekend and report back




Jul 18, 2007, 11:51 pm Last Edit: Jul 18, 2007, 11:52 pm by mrgosh Reason: 1

That would be great. I can mail you a beer in return.


I just had a quick look to see if there is a simple file copy command - there isn't.

You would need to open the file and read it in chunks that would fit into arduinos memory and write them to the destination - this would be a fairly simple loop once you have got all the other bits sorted.

They do have a product VF2F as a proof of concept that copies all the jpegs off one memory device into a unique folder on a usb memory stick in the other socket.

If you email them they might let you see the code (couldn't see a download in readable form on the site).


http://www.vinculum.com/prd_vf2f.html / http://www.vinculum.com/prd_vnc1l.html - hmmm this is very interesting.

Thanks for the tip. I have been considering the possibility of small form factor or single board computers (SBCs) for this project, comparing and contrasting the arduino to say...a Soekris or an Acrosser. They are very different beasts.

It is an interesting question, especially considering the fact that an SBC requires a full on OS like FreeBSD, Linux, et al.

Go Up