book collections email follower instructable user
Picture of Digital Photo Picture Frame, WiFi Linked – Raspberry Pi

This is a very easy and low cost route to a digital photo frame – with the advantage of adding /removing photos over WiFi via ‘click and drag’ using a (free) file transfer program. It can be powered by the tiny £4.50 Pi Zero. You can also transfer photos direct from a mobile phone (e.g. via ES File Explorer on Android).

This can be a standalone digital picture frame or can be the screensaver for a Pi based system (doing something else) and show pictures when it is not being used. For example, this could be the screensaver for a Pi based media controller or for an interface to my Pi based music and radio player.

For simplicity and size I have used a Pi Zero here but any of the Pi’s should work. I could have used a ZeroW (WiFi) but for the same cost one can get a Zero plus a 2 port USB hub and use a WiFi dongle to optimise the aerial location.

There is a huge choice for monitors:

  • Waveshare do very good monitors for the Pi, including ones with touch screens. A touch screen is not a requirement here but might be useful when this is the screensaver for another application. A downside of these is that the connectors plug into the side – that looks untidy or requires a wide frame to hide.
  • Most PC monitors will work. Used ones are available at low cost on ebay. Even new ones are pretty good value. If they don’t have a HDMI input they are very likely to have DVI that can be used via an adaptor or HDMI to DVI lead. I picked up a good condition 22” IPS, full HD (1920x1080) Iiyama touch screen monitor for under £80 delivered.
  • Lastly there is the option of re-purposing the screen from a dead laptop. See: instructable This has the big plus of being thin and being able to fit into a real picture frame.

All the software/firmware required is free.

The instructions here should allow a novice (or more experienced) to get this running from scratch.

Parts needed:

  • Pi (any)
  • SD card(suggest 8GB or greater)
  • USB hub
  • Wifi Dongle
  • Monitor and leads
  • Mouse (for setup)


  • Install Pi firmware
  • Attach/install monitor
  • Add some photos/pictures
  • Set up the screensaver

Text in bold italics has to be entered during the setup and can in most cases be copied and pasted – that saves a load of time.

Step 1: Install Pi Firmware

The system will work from both the full Raspbian Stretch install and from Stretch Lite. The latter uses less memory but the former may be needed if the PI is being used for something else as well. The instructions will cover both. The process will use remote setup of the Pi as in most cases this is easier – and can avoid the need for a keyboard.

First download Raspbian Stretch or Stretch Lite from

The version available at the time of writing was October 2018 but others should work fine.

Unzip the file to a known location. Then run Etcher to download the image to an SD card. Etcher is free and downloadable from and is straightforward to run:

After the card has been flashed add a blank file called ‘SSH’ to ‘Boot’. This enables the Pi to be driven remotely and set up from a PC and also to take advantage of copy and paste of the text listed here.

If using a Pi Zero (or ZeroW) we need to get the WiFi working to enable remote setup. This needs the network name and password adding in a specific file. To do this - copy the following into Notepad:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev






Edit the YOUR_NETWORK_NAME and YOUR_PASSWORD (keep the "") and save to the ‘Boot’ part of the SD card as wpa_supplicant.conf

Eject the card and plug it into the Pi. Also connect the WiFi dongle, if necessary via the USB hub.

Power up the Pi. When it is running find the IP address by logging onto your router. Alternatively, if using the full version of stretch, this can be found by connecting a monitor, mouse and keyboard and click the internet icon at the top right of the desktop. On Stretch Lite (with monitor and keyboard connected) use the instruction sudo ifconfig and look under wlan0>inet addr: . I find the router option by far the easiest.

Run Putty (free download from ) from a PC and enter the Pi’s IP address.

Log on as ‘pi’ with password ‘raspberry’.

First revise the password and other settings via:

sudo raspi-config

(copy text then right click in Putty to paste)

First change the password

I then change the network name (optional)

Under localisation set the WiFi country.

Under Interfacing options enable SSH.

Then right arrow twice and click Finish, and Yes to reboot. This will lose the Putty connection. Rather than close this, wait a minute for the Pi to restart and the right click the Putty task bar and select ‘Restart Session’. Now log in using ‘pi’ and the new password. If the WiFi does not reconnect then unplug the dongle and plug in again. I suspected this was happening but I might have just been impatient for the Zero to boot up!

Next update by entering:

sudo apt-get -y update

Then upgrade entering:

sudo apt-get -y upgrade

This can take a while.

If starting from the full Raspbian Stretch then proceed to the next step.

For Raspbian Stretch Lite we need to add the desktop.

So enter:

sudo apt install raspberrypi-ui-mods

followed by


when prompted.

This is quite a big install and so will take a while…….

Keep the Putty session open and move on to installing the monitor.

StefanM7928 days ago
Hi Mike! This is a very nice project. Something like that came into my mind and you already did it. Very inspirational. Well done! I want to build something like that for my wife as a little art project. But I want to display a random text (maximum 8 words) in front of the picture. So random texts and pictures will be combined. How would you solve that problem? Thank you so much!
FlyingDrMike (author)  StefanM7928 days ago
I think this probably needs a different approach. The screensaver will only show pictures and being a screensaver it may be difficult to put stuff on top. A quick search came up with this that might be a useful starting point:
Thank you very much!
KOTSOS58 months ago
Super inspiration, followed your steps and did it, thank you very much!

FlyingDrMike (author)  KOTSOS58 months ago
Thank you for your feedback - that I hope will also be encouragement for others. Much appreciated. Mike
I followed all your instructions cause i'm totally noob with raspberry but I had some problems with GLSlideshow (didn't show all pics, or got blank after 12 hours like all screensavers) but I've used a program called feh and made it boot at startup, and it works totally perfect, thank you very much again!
JoeyyBoyy11 months ago
Great Project! Where did you buy your supplies from? Thanks.
FlyingDrMike (author)  JoeyyBoyy11 months ago
I am in the UK so I got the Pi from ModMyPi. I got the wifi dongle, hub and monitor on ebay. The latter was a UK supplier the former two Chinese. SD card from . I got the Waveshare screen on amazon but they no longer stock the higher resolution version. Can also get direct from Waveshare (but may risk attracting duty). Given the size/weight of monitors I have in the past set up an ebay search for monitors within say 15 miles of home. Where these are buyer collect good deals are often to be had. I hope this helps. Mike