Raspberry Pi Photo Frame in Less Than 20 Minutes

16,228

65

3

Introduction: Raspberry Pi Photo Frame in Less Than 20 Minutes

About: Engineer 🖥 entrepreneur 🌁 film photographer 🎞obsessed with cats 🐈

Yes, this is another digital photo frame! But wait, it’s more sleek, and probably the fastest to assemble and get running.

Supplies

Step 1: Download Pyxian OS and Flash It to SD Card.

Download Pyxian OS here. To flash OS image to SD card, use the dd command or Balena Etcher for more GUIsh processes.

To give you a full disclaimer, I’m one of the creators of Pyxian OS.

Step 2: [Optional] Fix Minor Stretching on Official Raspberry Pi Display

One annoying thing I noticed is that images looked stretched on the screen. After some research, I found this post. Setting

framebuffer_width=800

framebuffer_height=444

in the /boot/config.txt file as suggested in one of the comments, fixed the issue.

You can either do it from your computer by accessing a file on SD card, or via ssh to the Raspberry Pi. Alternatively, you can leave the configuration as is, it doesn’t bother everyone.

Step 3: Insert the SD Card Into Raspberry Pi

Step 4: Connect the White Ribbon Cable to the DSI Port on the Pi

Step 5: Connect Power Via Pi’s GPIO

Here's handy pinout diagram.

Step 6: Power It Up With a USB-C Power Supply

Make sure everything is working before the final assembly.

Step 7: Assemble the Photo Frame

Assemble everything into the photo frame. I was super excited to find a frame for my Raspberry Pi 4 + official touchscreen that would stand perfectly on the table. Most of the frames are for 3+, so it was a bit of a search.

Step 8: ​Connect to WiFi

In the Settings → Network → Enter your network name and password → Hit OK. Give it some time to connect.

Step 9: Choose the Digital Photo Frame Application in the Settings App

Go to Settings → Demo Applications → Digital Photo Frame. Note, if you choose to start it on boot time and at some point want to change the app, you’ll need to insert a USB flash stick into Raspberry Pi. There’s another way to reset what app starts on boot.

Step 10: Changing What Images to Show

Digital Photo Frame app gets its images from Unsplash. You can find the source code here. There are a lot of cool Unsplash APIs you can use to modify what pictures are shown. For example, show pictures with specific keywords only, like dogs, cats, nature, etc., or show only pics you liked. See the full list of different options here.

Additionally, you can show images from entirely different sources, like Google Photos or Flickr.

To modify what pictures are shown:

  1. Checkout source code and change base URL variable at this line.
  2. Copy directory “photo-frame” with updated code to the flash stick and insert it into Raspberry Pi.
  3. Go to Settings → USB Drive. Your app will be detected automatically, and you will see the “Install” button.

First Time Author Contest

Runner Up in the
First Time Author Contest

Be the First to Share

    Recommendations

    • Make it Fly Challenge

      Make it Fly Challenge
    • Metal Contest

      Metal Contest
    • Fandom Contest

      Fandom Contest

    3 Comments

    0
    bbarker231
    bbarker231

    Question 6 months ago

    I'm trying to use this with google photos rather than Unsplash. Has anyone had any success doing so and wouldn't mind helping out with some code?

    0
    berni.paetzold
    berni.paetzold

    Question 7 months ago on Step 10

    Hi
    I have a question. I built the frame according to your instruction. But I would like to connect the photoframe to my own pictures on a Synology NAS. Is there an easy way how I can modify the source to do this?
    I already googled and tried a few variants but never get it to work.
    Thanks a lot
    Berni

    0
    _Vyper
    _Vyper

    1 year ago

    Decent looking but seems a waste of a pi4 as it really shouldn't need much ram/cpu to run as a web connected photo frame - should work on pi 2b?/3b just fine, though a china knock-off 7' tablet should do it all too (cheap easel from $ store to prop it up) and would still be cheaper and easier than the pi+screen setup unless you have a bunch just lying around collecting dust