How to Make a Low Cost DIY SD Card Duplicator

If you have to duplicate many SD cards for example to boot Raspbian on multiple Raspberry Pi board, one option is buy one of those SD card duplicators, but the problem is that they are not really cheap, for example the Systor 1-to-7 cards model sells for $540.

Bob Brown, a retired senior lecturer, is now teaching K-12 students how to get started with Raspberry Pi boards, and must prepare bootable SD cards for his class. In order to save time, a duplicator would have been nice, but the price is too high, so instead he went with a DIY solution.

DIY SD Card Duplicator
DIY SD Card Duplicator – Image Source: Richard Hayler

You’ll first need some hardware, including a powered USB hub with the number of cards you want to duplicate, and corresponding SD card reader, and a larger micro SD card to hold Raspbian and/or other operating systems (optional, only for Raspberry Pi based duplicator). Mr. Brown made a 10-port SD card duplicator (1-to-9) for just under $100.

One the software side, he’s used to utilities. PiShrink used to reduce to size for the firmware image of the SD card you want to duplicate so that it can fit into SD card with a slightly smaller size, and dcfldd to handle dumping the firmware to multiple cards in one command.

Example for PiShrink:


Example for dcfldd to copy the firmware to 4 SD cards in one go, after installation:


Mr. Brown used a Raspberry Pi to run the command, you could also use your Linux PC instead.  It takes about eight minutes for one card, and up to 20 minutes for 10 cards with the Raspberry Pi board. You’ll find the full details about the setup on Kennesaw State University website.

Support CNX Software - Donate via PayPal or become a Patron on Patreon
Advertisements
Subscribe
Notify of
guest
9 Comments
oldest
newest most voted
tkaiser
tkaiser
1 year ago

Strange advices. While dcfldd is of course available on other distros than Debian (and even totally different platforms — on macOS for example it’s just a ‘brew install dcfldd’) of course it’s a horrible idea to use it to burn SD cards for the same reason dd sucks with this use case in general: no verify. Using dd or dcfldd is a great way to write garbage to the SD card without being notified. If I have to write a bunch of SD cards I only use Etcher for the obvious reason that a verify is always needed. I insert… Read more »

Singman
Singman
1 year ago

Just no, your method is good for a few cards, not for a batch. “dcfldd” is NOT “dd”, that program include a few options to verify data written, and it could output to multiple disks at the same time. This is the feature you missed.

Jerry
Jerry
1 year ago

Nobody really cares about write speed. With RPI and the hub many cards can be written in parallel.

theguyuk
theguyuk
1 year ago
tkaiser
tkaiser
1 year ago

Using ‘dd’ to create a master image? Weird. I would use ‘ddrescue -d’ for this most important step.

theguyuk
theguyuk
1 year ago

There is also a Python based project again using a rpi and usb hubs, it is on Github.

theguyuk
theguyuk
1 year ago

Also came across this, has anyone tried it on PC?

Free for private use

https://www.osforensics.com/tools/write-usb-images.html

maurer
maurer
1 year ago

what about 9.99 $ ?
if you’re cheap and can wait up to 1 month you can get a 10-port usb hub + 10 uSD card reader for about 10 bucks shipping included from ebay or aliexspress
🙂

Drone
Drone
1 year ago

Isn’t there a way to do this over a network with something like PXE-Boot [Preboot Execution Environment – Boot]? Once up, each machine writes the new image received over the network to it’s own USB drive. No need for a big USB hub and plugging-unplugging nonsense.

Advertisements