Build a smart photo slideshow with balenaCloud

When we started the balenaDash project, the main goal was to make it easy and straightforward to deploy IoT devices that display information on a screen. The project has been constantly developed, with new features such as automate the backlight timer, how to setup a dashboard or even displaying google slideshow being added and more to come.

Build a smart photo slideshow with balenaCloud

Today we are releasing a new update to the project that we believe many people will enjoy. This update enables any device running balenaDash to run a photo slideshow hosted on Google Photo Albums, Dropbox Photo Album, or Apple Photos.

The main objective of this addition is to create a physical photo album that is easy to build, configure, and maintain. Once configured, there is nothing else you need to worry about. If you edit the album, add or remove photos, the album will automatically update to display the latest photos.

This can be the perfect gift for family and friends. Give a smart photo album to your parents or grandparents so that they can keep up with your baby pictures, for example.

Installation and configuration

This project is based on the official balenaDash project, you can follow the initial setup tutorial and the assembly of the official Raspberry Pi touchscreen display blog post to get started. Once you have your device up and running, it’s time to configure it to display our desired photos.

Updating a current setup

In case you have an older version of balenaDash already working, to update the software to the latest version, all you need to do is to re-download the code from the git repository to your computer and re-push it using our balena-cli tool. The best part, you don’t even need to visit the physical location of the device to update it 😊.

Setting up the photo album

On balenaCloud, add an environment variable called GALLERY_URL and set the value to one of the photo galleries listed below. Note that once you setup the GALLERY_URL variable, the Tohoroa script or WPE_URL variables will then stop working. Then to revert back to the website display, simply delete the GALLERY_URL variable and everything will go back to the way it was previously.

Google Photos Albums

To add a google photos photo album, go to https://photos.google.com and select the album you want to display on balenaDash.

Click on the share button at the top right corner of the screen and on the Create link button and copy the URL. This URL will be the one you should enter as the value of GALLERY_URL

Build a smart photo slideshow with balenaCloud


Dropbox Photo Albums

On the Dropbox website, go to the folder that contains the photos and click on Share Folder and then Copy link. This is the URL you will need to add to balenaCloud.

Build a smart photo slideshow with balenaCloud


Apple iCloud Photo Album

Create a photo album and copy the share-url, similar to https://www.icloud.com/sharedalbum/#ALBUM-ID. You can do this from a Mac or iOS device.

Build a smart photo slideshow with balenaCloud

Build a smart photo slideshow with balenaCloud

Extra settings

Out of the box, as soon as you add the GALLERY_URL variable with the right URL, your device should automatically fetch all the images and start the photo slideshow. In case you want to further configure the gallery, you can add the following environment variables:

ENV VAR Description Options Default
GALLERY_URL Gallery URL for google photos, dropbox images, or apple photos
GALLERY_SLIDESHOW_DELAY Slideshow delay in milliseconds 10000
GALLERY_IMAGE_STYLE Contain shows the entire image on the screen. Cover zooms the image filling the entire screen. contain, cover cover
GALLERY_EFFECT Transition effects fade, horizontal, vertical, kenburns, false fade
CRON_SCHEDULE Cron scheduler to reload images to get changes 0 */12 * * *
RESIZE_WIDTH * Resize image width or height (larger side) in pixels 1000px
COMPRESS_QUALITY * Image compression 0 – 100 90

* Variable only available for iCloud photos.

Note that after some performance tests on the Raspberry Pi 2 & 3, the combination of GALLERY_IMAGE_STYLE = contain and GALLERY_EFFECT = fade or kenburns can make the transition effects choppy. We are currently waiting for the support of the Raspberry Pi 4 in which we believe all the transitions will become smoother.

Build a smart photo slideshow with balenaCloud

Thanks for reading! If you decided to build your own balenaDash photo album, we’d love to hear how it went, similarly if you got stuck or have any questions, let us know in our forums at https://forums.balena.io, on Twitter @balena_io, on Instagram @balena_io or on Facebook.