Blog

Backup Your Photos on the go for “Cheap”

IMG_7981.JPG

Backing up photos while on the go is a must have for photographers, especially if you’re doing critical work like wedding or client base photos. Having an ingest station that doesn’t require a full blown computer is a really nice thing to have, but often it’ll set you back over $250 USD.

This is the situation I face when I will shoot a wedding in October (that is if COVID-19 doesn’t cancel it). So how can I back up my media on the go without blowing a lot of money doing so?

After a little research, I found a project called the Little Backup Box by Dimitri Popov. The project requires a bit of time and effort to setup but overall it is well worth the money.

Just a fair warning, this can be tedious and it is certainly not easy for the average computer user. If you’re new to the single board computers and Linux, you may want to do a lot of research or get a tech-savvy friend for help.

The Little Backup Box works as follows:

  1. Plug in power source to Raspberry Pi

  2. Insert SD card to Raspberry pi

  3. Wait a little bit then... profit!

Well, that’s an oversimplification, but it essentially works like that.

Parts List

Here are the items I used (as of July 2020)

Parts_List.png

You will also need your PC or Mac for the initial setup. Since I use a PC, the steps I describe will be for PCs. While the upfront cost may look unappealing, it’s far cheaper than other options, which I will address later.

IMG_7982.JPG

For anyone wondering, the Siig drive enclosure has an SD card reader built in at a good price. 2 for 1!

Building the LBB

So here are the steps I had to follow to build this thing.

Setup the SD Card

Usually when you’re working on a project for the Raspberry Pi, the first thing you’ll need to do is to download the operating system. Since the Little Backup Box runs headless, it doesn’t require a screen, keyboard and mouse, so the OS of choice here will be Raspberry Pi OS Lite (RPi OS).

Once downloaded, you’ll need to load the OS onto a micro-SD card. But you can’t just drag and drop the file onto the SD card. Rather, you’ll need to image the OS onto the SD card to get it to run properly. balenaEtcher is the desktop app I use to image RPi OS as it is very straight forward to use.

Annotation 2020-07-27 102322.png

Simply insert your SD card into your computer, open balenaEtcher, select the Rasperry Pi OS file, select your SD card and hit ‘Flash!’ It may take a few minutes to run, but you can take a step back while it does so.

After imaging the OS there’s still a few things I need to do to get it set up the RPi properly.

Notes about Raspberry Pi OS

Raspberry Pi OS is built on Linux, a free and open source operating system. And since it runs on Linux, it doesn’t play nice with Windows. For example, configuration files for Linux must be saved using UTF-8 encoding. If it’s not in UTF-8, Raspberry Pi OS won’t be able to read it. So the easiest way I found around this is to change the encoding on my text editor, Notepad. When I save a file, I have to select File > Save As and change the encoding in the drop down menu next to the save button.

Annotation 2020-07-22 171225.png

Enable SSH

Secure SHell (SSH) will allow me to finish setting up the Raspberry Pi, but it is not enabled by default. To fix this, I have to put in a blank text file called ‘ssh’ in the boot directory of the SD card (that’s ssh without the file extension). This proved to be a little troublesome because Windows 10 doesn’t support Linux based file system (ext4 for anyone wondering). More on this later.

Enable WiFi

Enabling WiFi on the RPi will allow me to work on it remotely without having to plug into my router. Like enabling SSH, I needed to create a file called ‘wpa_supplicant.conf’ in the boot directory and add the following lines:

Enable_Wifi.png

For anyone outside the US, simply change the country code to your country code.

From here I needed to change NETWORK-NAME to the name of my WiFi connection and NETWORK-PASSWORD to my WiFi password. After that, I saved the file to a USB key and used another computer to load it on the SD card.

Loading Files onto the microSD card

As I mentioned before, loading files onto the SD card is a challenge for Windows users. Mac users can drag and drop these files because Mac and open Linux file systems.

The easiest way around this I found was to use a computer with Linux installed. I could copy the ssh & wpa_supplicant.conf files onto a USB key, load the USB key and the RPi OS SD card onto the Linux computer and copy it over.

Steps to getting your hands on a Linux build can be extra work. Is it easier to do all of this on a Mac or Linux computer? Short answer yes. There are ways to get Windows 10 to read ext4, but that’s a bag of worms I didn’t want to go through.

Raspberry Pi Setup & 1st Boot Blues

Once the SD card is setup, it’s now time for the most time consuming portion of the build: updating the Raspberry Pi & installing the LBB app.

First thing first, I inserted the micro-SD card with RPi OS installed into the Raspberry Pi and plugged in the power. After waiting a few minutes, I needed to log into the RPi remotely via SSH using an app called PuTTY. While it’s supposedly better to use the Rpi’s WiFi device address, PuTTY allows me to use the simpler ‘raspberrypi.local’ as its host name. When the black and green text window popped up, I can log in as ‘pi’ with the password ‘raspberry’. It asked me to change the username and password, but for the sake of time, I left it alone since I’m only logging into the LBB for setup purposes only.

Now for the very, very time consuming part: updating. At the command line, which is affectionately known as BASH (Bourne-Again SHell, after the author of ancestor of the Unix command line), I typed in the following command:

Enable_SSL.png

This command will install the Little Backup Box app as well as install all the stuff it needs to update, upgrade and generally make the whole thing works. This is the part where I sat for a butt-number, because it took a long, long while. For anyone asking, it’s because the RPi runs on the old WiFi 3 (or Wireless G) that only runs up to 54Mbps. Add to the fact that I was using a class-4 SD card instead of a class 10 or faster, and that every package the RPi had to download had to be depackaged and installed, I was just asking for a long wait. On the upside, the progress of the install is displayed in the BASH window, so you’ll know when it’s done.

Testing the LBB

At the time I’m building the LBB, I didn’t have all of the parts ready, namely the combination external drive enclosure with SD card reader. In the mean time I used an Orico laptop disk enclosure with my SSD and a Sabrent USB 3.0 SD card reader for testing. After plugging in the power, I plugged in the target storage (the SSD in the enclosure), waited a few seconds, and followed up with the SD card reader. Copying the files from the SD card to the SSD may take anywhere from a minute to several minutes depending on how many files you’re copying.

What’s neat is the LBB sorts the copied files into folders denoted by date and time. This makes archiving from the LBB to permanent storage a lot easier.

Hick-up

When my Siig combo enclosure arrived, there was a hick-up with how the LBB worked. Instead of copying files from the SD card to the SSD, the LBB was copying files from the SSD to the SD card! Well, I guess that’s how the Siig was configured. The fix was relatively easy.

There’s two ways to fix this problem, but one meant diving back into SSH in PuTTY, so I decided to go the easier route.

With the LBB plugged in and powered on, I have to go to my computer and put in my LBB’s MAC address (Media Access Control address, which is like its home address) followed by port 8000, like so:

Annotation 2020-07-26 180300.png

Once there, I’m greeted with this screen. This is the Little Backup Box’s dashboard. To keep it from turning off while working in it, I had to click the ‘CANCEL SHUTDOWN’ button.

Annotation 2020-07-26 183444.png

From there, I have to click the first icon, the one that looks like a speedometer. Here the devices connected to the RPi are displayed.

Annotation 2020-07-26 184108.png

Figuring out which devices are my SD card and the SSD are relatively straight forward. The SD card I have inserted is 32GB while my SSD is 1TB. In this case, ‘sda1’ is my SD card and ‘sdb1’ is my SSD.

Clicking back to the dashboard, if I click the third icon on the top (the one that looks like a BLT), it heads to this screen.

Annotation 2020-07-26 184246.png

As highlighted in the picture above, I changed my storage device to ‘sdb1’ and the storage card to ‘sda1’. Once done I can click save, then back. At the dashboard I can shut down and restart my LBB.

Once the LBB restarted, I plugged in my SD card and the files copied properly.

Food for Thought

If you’re comfortable around Linux command lines and handling electronics, building a Little Backup Box is worth a Saturday afternoon. Sure, it could be cheaper, but that would not be advisable. For example here’s a modified materials list (prices as of July 2020).

Substitute_Parts_List.png

That’s a saving of $72.30, but there are several compromises. While the RPi Zero W has WiFi, it performs as well as the original Raspberry Pi, which is admittedly slow. You will also need a USB hub that works with the Zero W, which are far and few in between unless you’re willing to get into soldering. The power bank is a budget one from Walmart so there’s no guarantee that it’ll power the RPi and hard drive all at once. And changing from an SSD to a laptop hard drive increases the risk of data loss from shocks and falls. So the more compromises you make with parts, the less reliable the Little Backup Box may become.

If I had to make changes to the build, I’d swap over from the RPi 3 Model B to the Raspberry Pi 4 Model B with 2GB of memory. It’s still $35 but supports USB 3.0, which makes the transfer from card to SSD a lot faster. Swapping to the RPi 4 also means I need a different power bank, one that supports USB Type C Power Delivery (PD). A 10000 mAh PD power bank will bump the price of the power bank a little, about $5, but it’s what the RPi 4 needs.

Still, it’s less than half the price of a Gnarbox 2.0 ($499 for 256GB) and a few bucks cheaper than a LaCie DJI Copilot (MSRP $319.99 for 2TB). As far as functionality, the LBB does one thing and it does it well: copy files. There are some steps involved, but the steps are really the same with the other computerless backup options. The real difference are the feature sets you’ll get out the Gnarbox and the LaCie DJI Copilot: WiFi app controls, built-in battery, little to no dangling cables, a screen… speaking of which...

A nice-to-have for the LBB would be an OLED screen that will display some information like the capacity left on the SSD, the progress of the file copy, etc. But this screen would require some soldering and would add another $13 to the cost of the build, which by that price tag, the LaCie option looks a little more tempting.

To photographers who just want something to work out of the box, the LBB isn’t a viable option, because time is money. For the hobbyist building a Little Backup Box is a fun project and one that could be useful even during paid events. Just know as with any DIY projects, there will be challenges involved. Have fun shooting!