Building a Compact Flash card duplicator

Burn large volumes of Compact Flash images quickly

by Paul McGowan, Technical Manager, Yawarra Information Appliances
Here at Yawarra, we burn a lot of CF card images. At least I thought we did, until we had a request from a customer who wanted us to supply around 750 of them.

OK, I thought, it can’t take that long can it? After all, it only takes a few minutes to burn one image using Physdiskwrite, and that has worked well for us previously.

Then I did the maths…

The image I needed to burn was 512MB, and it took around 5 minutes to burn. That meant I could do 12 per hour, assuming no gap between one and the next. Bad assumption, so let’s say 10 per hour to be safe. Hmmm, 750 divided by 10 is 75 hours.

That’s 2 weeks work, just to burn the cards! That would not do at all.

So, I needed an alternative. It had to be easy to use (so anyone could do it), scalable so we could do multiple cards simultaneously, and preferably inexpensive (relative to paying someone for sitting there for two weeks straight burning CF cards) and it would be really cool if we could continue using it afterwards.

Armed with the job requirements and a burning need to play with some hardware, I started rummaging through our warehouse.

After a bit of hacking around, I settled on the ALIX 1 “XL”, with an external USB CF reader, and the picoLCD from iTuner.

I still didn’t have a usable enclosure for them, so I designed one and ordered a sample. While I waited for it to arrive, I installed Voyage Linux and the LCD drivers on the ALIX 1, and started writing the software.

By the time the sample case arrived, I had a working solution, and I had already started using it to burn the operating system images we offer on all our ALIX and net boxes.

Our ALIX 1 “XL” with LCD saves us time, reduces errors and best of all, means that I don’t have to do it all myself.

Now, when I need to install software onto a CF card, I select the software, the card size and the number of copies I want and the ALIX 1 “XL” takes care of the rest, even providing timely reminders when it is ready for a new card to be inserted. (I’ve even taught my 4-year-old how to change the CF cards, so I don’t have to do that bit either.)

The way it has been set up, I can easily duplicate the machine itself (using itself, in the best recursive tradition) and with only 10 of these tiny, shiny, cool machines, I can duplicate hundreds of CF cards in a day.

It’s eminently scalable, quick to deploy and very flexible. Because it runs Voyage Linux, I have full access to Apache, PHP, perl and any other tools I might want to use to build an easy-to-use interface.

I’m not sure why I didn’t think of it sooner, but I’m really glad we have it now, and I certainly can’t imagine doing it the hard way ever again.