Arduino WiFi Photo Backup
This instructables show how to make a portable Arduino WiFi photo backup device with M5STACK.
What Is Portable Photo Backup Device?
Portable photo backup or called memory card backup device appear alone with Digital Camera. It can help you backup the photo from memory card directly. It is very useful especially when you in travel and cannot access your own computer.
This device appears over 10 years ago, not much hardware update recently but price tag still very high.
It has a very big limitation, it is you need to take out the memory card from DC and plug into it to make a copy. If you forget to do that in every certain period, it lost the backup purpose.
Ref.:
http://www.urban75.org/photos/photo-storage.html
How About WiFi Backup on the Fly?
There are various WiFi enabled SD card in the market: Eye-Fi, PQI Air, Transcend WiFi SD, Toshiba FlashAir, ez Share...
You can view the photo in your mobile via WiFi once you take it from the digital camera.
So it is possible backup the photos over WiFi on the fly without take the SD card out.
I have a Transcend WiFi SD in hand, let's try it first.
Ref.:
Selecting Device for WiFi Backup
Most WiFi SD card have its own mobile app, so you already have an official WiFi photo backup device (your mobile).
However, you still need turn on your mobile app and certain operation for the backup process after taken photo.
I would like to find a device that can backup photo seamlessly, it have some criteria:
- Portable
- WiFi capable
- Expandable storage
- Always on over hours
I have an M5STACK in hand, it is very portable in size, WiFi capable, micro SD card slot, expandable battery dock. It can fulfil the above requirement.
Let's try to make a WiFi photo backup device now!
Ref.:
Download & Install M5STACK Software
For simplicity, I will use Arduino platform for this project.
If you are using Windows Platform, you can direct download M5STACK version of ESP32-Arduino-IDE 1.8.5 at:
Other platform can follow the official Getting Started steps:
Download Source Code
Download source code from github:
https://github.com/moononournation/ArduinoWiFiPhot...
If you are not familiar with github, simply click the green button on the right middle then Download ZIP.
Fill Parameters
Open the source code in Arduino.
Fill your SD card login parameters:
#define AP_SSID "WIFISD"<br>#define AP_PASS "YOURPASSWORD"
#define WEB_USER "admin"<br>#define WEB_PASS "YOURPASSWORD"
Check your digital camera folder name and fill it:
#define WIFISD_ROOT_FOLDER "/DCIM/100MSDCF"
Note:
If Sony, it is "/DCIM/100MSDCF";
If Nikon, it is "/DCIM/100NIKON".
Program
Plug the M5STACK and press the upload button.
How It Works?
WiFi
When you turn on the digital camera, the WiFi SD have power to turn on a WiFi AP. It require around 30 second to boot up. Some camera have some "Eye-Fi awarded" feature, so the WiFi can always on even turn off the camera.
Detect New Photo
Arduino WiFi Photo Backup check the photo list in WIFISD_ROOT_FOLDER every 5 seconds. Once you take a new photo, the device know it. In each listing, the device will download the first 3 new photos found.
Download Photo
The device will download the EXIF data and thumbnail first and display on the LCD. And then download the original file, the download status show at the left bottom status bar.
What's Next?
This device still at PoC stage, there are many things that can improve:
- Check downloaded photo integrity
- Add browser photo feature
- Power saving option
- Auto detect different brand camera folder name
- Detect different photo with same filename and auto rename
- and more...