Is Arduino the right platform for my project ?


I am currently prototyping an idea using the arduino platform. The basic idea is to duplicate large files of varying formats from ether CF or SD cards and then save the duplicates to a usb storage device such as an external hard drive. I am beinning to wonder if arduino is the best platform for this or would it be more useful if I started over with a different platform. When suggesting different platforms please bear in mind that I have a very limited programming background and so would have to start learning again from scratch.

Thank You

Why don't you just use a computer with an external HD and a card reader?

The purpose of the device is to be portable and inexpensive

I don't believe the Arduino is the right system to copy USB removable disks. It is more designed to control devices, blink lights, and not deal with storage devices.

Well you didn't mention what else the Arduino needs to do besides copying files. If it is just copying files, you can get the following device to copy files from one USB OTG device to another: This device is probably on the slow side, and there was no indication of how it was powered (battery or wall plug). My sense is these devices were only USB 1.1 (slooooow, but note the Arduino also likely would not give you more than USB 1.1 assuming you could find drivers).

If you need a little more than just copying a file, perhaps a Raspberry Pi might do the trick. It runs Linux, so you will need to write a shell/python/perl script to do the copy. Perhaps over at the Raspberry Pi forum, somebody has already done this: Raspberry Pi Forums - Index page.

A few years ago, in the digital photography field there were a bunch of devices that you insert a media card (CF, SD, etc.) and it would copy the files to an internal disk drive (typically each time you insert a card, it would create a new folder, which would copy all the files from the media card to that directory). Later you could plug the device into a computer, and be able to retrieve all of the files. Most of these have disappeared in the mists of time. B&H sells a few (but they still are somewhat expensive):|0&ci=3369&N=4000227848&srtclk=sort

Thank you so much for your help. With the ultimate aim of going to a pcb manufacturer with circuit designs so that they can produce the board and code to program each of the boards, would this be possible with the raspberry pi ?

The project would be possible with a Raspberry Pi, but not the "make your own board" bit of it.

what would you recommend for the make your own board part ? I tried hiring someone over odesk to design the boards and write the code but the person I hired turned out to be a scam so I have now decided to do it myself, plus I think it is about time i learnt some programming.

How have the files that you want to copy been created? If they have been created by (or for) a Windows/Mac/Linux PC it won’t be a trivial task to write a program to copy them without the assistance of the operating system utilities that created them.

My guess is that you would need a processor capable of running Linux and also the capacity to act as a USB host. I’m ruling out Windows because of the cost of licences. And the easiest way to get a Linux device is a Raspberry PI or a Beagle Bone Black. Would it really be prohibitively expensive to build one of them into your “copying box”?

What production volume do you have in mind? I guess if it’s a small run for a specialized purpose the price won’t matter a lot. And if you envisage a huge volume the PI/BeagleBone people might do a deal.

And because you are asking the question here (rather than teaching the answer) I suspect you don’t have the knowledge or experience to design anything similar to a PI.


Why don't you just use a computer with an external HD and a card reader?

The purpose of the device is to be portable and inexpensive

Seems to me after all this discussion, that my $250 "netbook" does precisely this job already, and I cannot see you making any sort of small run device with these capabilities, an awful lot cheaper.

Except perhaps, any small tablet computer (circa $100) with a USB-to-go port, plugged into a (powered) hub ($20).

Again, making it involves reinventing the wheel. So far, displays have not been mentioned; by the time they are added to one of these Single Board Computers, things are getting funky.

Hi James

Thsi sounds like a project for a computer type portable device. If I had to do it, I would look at the Raspberry Pi. Full Linux etc, small screens etc.


A beaglebone black might be better than the Pi since your code could be loaded on the 2G on-board flash rather than on a removable SD card like the Pi.