Make An Animated GIF Photo Frame With A Raspberry Pi

Make An Animated GIF Photo Frame With A Raspberry Pi


The Raspberry Pi is idea; for all kinds of interesting and complex projects. It’s also great for stupid projects, like this animated GIF photo frame I buot recently. Here’s how to make one for yourself.

What You’ll Need

You’ll need a bit more than just a Raspberry Pi to build this. Shop around for all these elements – some will be cheaper online, and some can easily be picked up locally:

What You’ll Get

Once you finish with this project, you’ll have a Raspberry Pi mounted to your wall with a photo frame around it that displays a new random GIF every few seconds. It’s incredibly goofy, but surprisingly awesome at the same time.

Step 1: Install Raspbian

Firstly, you’ll need to install and set up Raspbian. If you’re using the PiTFT display I did, it’s a heck of lot easier to set up with its custom Raspbian image. You’ll install it on your SD card the same way as usual with Raspbian, but the operating system will already be configured for the display. You can follow our guide here. Make sure you also set up the Wi-Fi card while you’re at it.

During first boot, you might also want to overclock your Pi to at least 900MHz. Some of these GIFs are huge and need a little extra power to load up properly. While you’re in the Raspi-Config menu, go ahead and make sure Boot to Desktop is enabled as well.

Step 2: Hook Up Your Display

I went the extremely lazy route and bought the PiTFT that’s already soldered and ready to go. So, all you need to do here is click the display into the GPIO on your Raspberry Pi.

When it’s hooked up, go ahead and boot up Raspbian. You’ll be asked to calibrate the touch screen. Follow the on-screen directions and you’re all set.

Step 3: Install Chromium

In order for this to work, you’ll need a web browser that has a full-screen mode. Chromium’s kiosk mode works perfectly for this. Load up LXTerminal to get into the command line in Raspbian. Then type this in:

sudo apt-get install chromium

Once it’s finished downloading you can take your GIF machine for a test spin. I’m using Giphy TV to supply the GIFs. Type in:

chromium --kiosk

Chromium should now launch with some full-screen GIFs. You can change the /giphytrending part of the URL to whatever search string Giphy supports, like /science, /adhd, or /cat

When you’ve verified it works, tap Ctrl+F4 to exit kiosk mode and head back to the command line.

Step 4: Stop The Screensaver And Power-Saving Features

Your sweet little GIF photo frame is up and running, but unfortunately after about 10 minutes the screen will dim and you won’t see those fabulous GIFs. Next up, you need to disable any power saving features on your Raspberry Pi. From the command line, type in:

sudo nano /etc/xdg/lxsession/LXDE/autostart

This loads up the text editor. You’ll do a couple of things in here. First, comment out the @screensaver -no-splash line by adding a # before it so it looks like this:

# @xscreensaver -no-splash

Then, add these lines below that:

@xset s off
@xset -dpms
@xset s noblank

While you’re in there, you might as well get Chromium to launch on boot in case you accidentally unplug your Raspberry Pi. Add in this line, inserting whatever Giphy URL you want:

@chromium --noerrdialogs --kiosk

With that, your Pi will boot right up into GIF mode.

Step 5 (Optional): Mount It To A Wall

Finally, you’ll just need to mount your Raspberry Pi to a wall and stick a frame around it. I used a couple command picture hanging strips like this so I can easily remove the Pi from the wall when I need to. Then, I went and grabbed a cheap wallet-photo sized photo fram, cut out some spaces for the Pi’s parts to stick out of, and taped it all together with electrical tape. I like that the electronics are still visible, but you can cover them up if you prefer.

The Cheapest NBN 50 Plans

Here are the cheapest plans available for Australia’s most popular NBN speed tier.

At Lifehacker, we independently select and write about stuff we love and think you'll like too. We have affiliate and advertising partnerships, which means we may collect a share of sales or other compensation from the links on this page. BTW – prices are accurate and items in stock at the time of posting.


Leave a Reply