DIY Digital Photo Frame in less than 20 minutes

Sasha Shturma
Women Make
Published in
3 min readMay 15, 2020
Digital photo frame with Raspberry Pi 4 and touch display.

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

Here’s what you’ll need:

  1. Raspberry Pi 4
  2. Raspberry Pi 7” Touch Display
  3. SD card
  4. NeeGo Frame for RPi 4
  5. USB-C power cord and power supply
  6. Pyxian OS

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

So, let’s begin.

  1. Download Pyxian OS and flash it to SD card. Use the dd command or Balena Etcher for more GUIsh processes.
  2. [Optional] 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.
  3. Insert the SD card into Raspberry Pi.
  4. Connect the white ribbon cable to the DSI port on the Pi.
DSI connection of display to Raspberry Pi.

5. Connect power via Pi’s GPIO. See the pinout diagram.

GPIO connection of display to Raspberry Pi

6. Once assembled, power it up with a USB-C power supply and make sure everything is working.

7. 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.

Assembled photo frame

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

Pyxian Settings application
WiFi network connection screen

9. Choose the Digital Photo Frame application in the Settings App. 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.

List of demo applications on Pyxian OS
Digital Photo Frame info screen

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.

--

--

Sasha Shturma
Women Make

Engineer 🖥 entrepreneur 🌁 film photographer 🎞 obsessed with cats 🐈 >>> Follow me on IG: https://www.instagram.com/mr_zuccini/