How to Make a Raspberry Pi Media Panel (fka Digital Photo Frame)

Picture of How to Make a Raspberry Pi Media Panel (fka Digital Photo Frame)

The goal of this project was to create a low cost Raspberry Pi Media Panel--a nice looking screen that could stand in the living room or attach to the refrigerator with the primary purpose of streaming personal photo and video content full time, but also be able to do some other cool things when show the weather, play a movie, play music, or receive AirPlay content.

Read this blog post if you want to learn more about what a media panel is and why you might want one.

Success criteria were:
-Low cost: a full blown computing device and screen for between $100 and $200 all in
-Attractive: meaning my wife finds it aesthetically acceptable for the living room
-Light: no more than a few pounds
-Thin: no more than an inch thick, including frame
-Quick: can be built in a few hours or less
-Simple: requiring mainly assembly, versus construction or manufacturing


Several people have asked me about an integrated product/service like this that is off-the-shelf. I've been working on one for more than a year, and we'll be launching very soon. If you're interested in learning more, you can add your email address here:

Remove these adsRemove these ads by Signing Up

Step 1: Select the right LCD Screen

Picture of Select the right LCD Screen
photo 1.JPG
photo 2-3.JPG
photo 2-5.JPG
There is a lot to picking the right LCD much that I wrote a completely separate blog post on how to select the right LCD screen for your media panel. If you want the full details and/or are thinking of doing something different, read that post.

To keep things short and simple, I recommend using a 15" or 17" screen similar to the screens used in the MacBook or MacBook Pro. You can, of course, also use a screen from an old laptop you already own, but you need to make sure you can find an LCD controller board that can operate it.

We bought our screens from, and the exact models we chose were the LG & Philips LP154WP1-TLA1 and the LG & Philips LP171WU3-TLA2. They were about $75 each brand new. Both screens were matte finish, though the next time I think we'll opt for glossy.

Don't worry so much about the numbers after the dash...they don't have a large impact on the screen. The critical numbers that determine whether an LCD Controller will support your panel and how to program it are the LP154WP1 and LP171WU3.

If you have questions, or are thinking about getting a different screen, read this blog post first.
1-40 of 50Next »
andyjagoe (author) 5 months ago

Several people have asked me about an integrated product/service like this that is off-the-shelf. I've been working on one for more than a year, and we'll be launching very soon. If you're interested in learning more, you can add your email address here:

JasonR29 days ago

I'm new to Raspberry Pi...I like the concept and am wondering something. Once the frame is built and operating...displaying pictures in a slideshow format. I know I can add pictures via USB or remotely. So the question...if I remotely add the pictures to the source folder while the slideshow is running, will the pictures automatically display in the slideshow or will I need to restart the slideshow?

I would think that they would just appear as the source folder now has more content it would go from picture to picture, first file to last file.

andyjagoe (author)  JasonR29 days ago
Hi JasonR2,

If you're using XBMC for your slideshow (as this instructable details), I'm not sure the exact behavior and it could possibly depend on how you've started your playlist playing (there are multiple ways). I would install XBMC on your Mac or Windows machine first and test the behavior--it should be the same.

BTW, my new project Fireside is a new hardware/software solution that intelligently automates all of this. We're launching soon, so add your email on the site above if you'd like to learn more.


hlords18 days ago

I love this. Will make one for my fridge. Can's wait to buy the laptop screen. I think I will buy from They seem to be the cheapest in the UK.

andyjagoe (author)  hlords18 days ago
Thanks for the comment hlords. Glad you like it! If you liked this, keep tabs on'll be announcing something very interesting there soon!
soonerlater1 month ago


Top notch, blue chip, Instructable. Muy excelante. Thanks.


princejosuah3 months ago

I may not be totally in the topic, but it would be nice to do it with the TV, to have the pictures display randomly when in standby. Just an idea though, I'm almost a noob in this, and don't know if it is doable...


Any installation of XBMC (on any OS: Windows, Linux, Android....) running on any hardware (Raspberry Pi, Intel NUC, old recycled computer....) can run the "Slideshow Screensaver." Whatever that XBMC uses for display (a homemade LCD panel like in this Instructable, on a TV....) is where the slideshow will be presented. There are many options (timing, randomness, transitions, sources....). You just have to jump in the water and paddle around. It might not be super intuitive and obvious at first, but it'll be easy enough and the XBMC community is very supportive. There will always be someone ready to lend a hand.

jagguli2 months ago
brettsalyer4 months ago

How would I do that? Over USB that is? Would a replacement tablet screen be better? Or Laptop touch screens?

andyjagoe (author)  brettsalyer4 months ago
The touch screen (whether tablet or laptop) will have a separate data interface for touch input. You'll need to make sure the Raspberry PI can recognize it and use it as a touch interface. The level of difficulty of what you're describing is certanly higher than just getting an lcd panel to work. Some providers will sell all in one kits. Google NJYTouch (same provider I recommend in the instructable) and see if they offer anything.

I have seen kits for the rpi for touchscreen, though only 7 inch. I want a 12 inch. I found a laptop screen (touch) that I could use. I found a controller board from njytouch and it was listed as supporting hdmi, dvi, vga, audio LCD/LED lvds. I'm hoping those 2 things are all I need to get it going. is there any way to make sure my pi will support it? or is it just trial and error?

andyjagoe (author)  brettsalyer4 months ago

You first need to check with NJYTouch (or on the controller board listing in eBay) that your exact LCD model number is supported by the board. For example, this number might be something like LP156WF4-SLBA. Then when you buy it from NJYTouch, they need to program your LCD controller so it will support your screen (they do this for free when you buy your controller). However, none of this addressed the touchscreen issue. The touch screen needs drivers and will need to be configured for your device. Using it in X-Windows will be different than if you want to use it with a standalone XBMC, etc. You might be able to get a kit from NJYTouch that also supports touch. I'd talk to them and explore that if you're serious about touch.

Will do, thanks for your help!

brettsalyer4 months ago

Touch screen panels would work just as good, right? And do you think it would be bad to use a smaller screen, such as a 7-10 inch?

andyjagoe (author)  brettsalyer4 months ago
Hi Brett. Yes, smaller/touchscreen should be fine. The most important part is being able to find an LCD controller board that can convert HDMI to LVDS so the Pi can send video to the screen. Also, with a touchscreen, you will need to carry touch input from the screen back to the Pi over something like USB.
har_it7 months ago

I find this project very interesting and would like to work on it soon. I was wondering can i buy an led monitor instead of buying a lcd screen + controller board? I would like to get rid of its factory frame and frame it just like you did.

Does the monitor include a contoller board inside or would i have buy one separately? Your advise would be appreciated.

andyjagoe (author)  har_it7 months ago
Thanks for the message. If you're looking at bare panels...they all need a controller since none of them accept HDMI. Most are LVDS, though some of the newer ones use DisplayPort. The biggest challenge is finding the controller card for whatever screen you're considering. Also important to know is that LVDS is a fairly generic term...ther are actually many different settings and considerations to make sure your controller can correctly connect to your screen. I'd corss-reference the panels you're interested in with a provider like NJYTouch to see if they have any matches for you.
har_it andyjagoe7 months ago

Andy- Great info!! However, what i meant by LED monitor was something like this. Can i buy this instead of a LCD screen and its corresponding controller? I wanted to understand, if i rip this LED monitor open, can i get a screen and a controller out of it, which I can use for this project? or would I still have to buy a controller to power this screen.

andyjagoe (author)  har_it7 months ago

Looks like this monitor may only support VGA input? Pi really only supports HDMI output. You'd need to find a monitor that accepts HDMI as input. I've never tried something like this and there are likely some other issues to work through...but I can't think why it wouldn't be possible.

Were you able to find a HDMI screen? I've wanted to do something like this for our kitchen
har_it andyjagoe7 months ago

The monitor above is not my first choice, I can definitely find one with HDMI input. I would like to go this way as I can get the perfect size of the screen and I would not have to buy a separate controller board. I think this will be interesting project and again I appreciate you putting up this tutorial here for us. I hope I can get your support as I work on this project.

VanillaXtract6 months ago

I am going to look into doing this, but it seems the cost may has gone up quite a bit. I totalled it to be about $275. That didn't include any of the optional kb, mouse, audio, etc. If you did this for $100-$200, can you help me source the components?

andyjagoe (author)  VanillaXtract6 months ago

Yes, in particular, the screens I used in this instructable have increased in price. Newer screens are cheaper, but it can be challenging to find an LCD controller to drive them. This is one of the many reasons I'm working on creating a unit like this that can be bought off the shelf.

mattantonio8 months ago
This is something I'd really like to do, but was curious if you or anyone here had any experience or recommendations on how to make this work like a Kodak Pulse. The main feature I would like to implement is the ability to email pictures directly to the photo frame. Don't really care about showing photos from Facebook or other social networks since I don't want to mess with an API. I'm sure I could create a slideshow using PHP and jQuery, but emailing the photos to the frame would be the tricky part I would think. The Kodak Pulse is way too small (and ugly) for the price so I'd rather design this myself. I've come across many other tutorials for a DIY digital frame, but haven't found anything with the capabilities of the Kodak Pulse.

can you just use a file synch util such as Dropbox or google drive? I think there are Linux installs for those. Just synch photos instead of emailing. But I think they support uploading photos by email too.

dan30089 months ago
minor improvement since you wrote this indestructible, there is now an openELEC distro for the pi. The general opinion is that it seems to run cleaner than raspbmc, but is still just an OS written arround xbmc :)

just thought i'd share
andyjagoe (author)  dan30089 months ago
Thanks dan3008. That's a good recommendation for people to consider. I have found that Raspbmc can be so bleeding edge sometimes that its auto-updates go out and break certain things...and rolling back is non-trivial. My experience with the OpenELEC build is very good and it's probably what I would use if I were to start again today.
inotnrml9 months ago
would a retired laptop screen work with a project like this I have been wanting to do a project like this for a while with an old laptop just looking for a less power consuming way to do it some I'm wondering about using a retired laptop screen and if it would work or not
andyjagoe (author)  inotnrml9 months ago
The critical thing is whether you can find an LCD controller card that can drive the laptop screen. Read the articles linked in the instructable on picking an LCD screen and read the NJYTouch product specs on their eBay page or web site to see whether your model of screen is supported.
jabel39 months ago
I found your description of how to build a media panel for the Raspberry Pi really useful, thank you.

I've got one working using an LP171WU1 (TL) (A1) panel and the NJYTouch 5451 controller and I'm very happy with it.
However, I am running into some problems trying build some more and I was wondering if you had encountered the same and might be able to suggest a solution.

The problem is that when I try to order further LP171WU1 panels what I actually get delivered is another model number e.g. LTN170U1-L02 which the supplier claims is 100% compatible. I've ordered and returned 3 so far and none of them has worked. I've got a programmer from NJYTouch and tried all the programs of the same resolution but none work.

It seems that panels that are compatible in a laptop don't necessarily work with the controller.

I am trying to get some help from NJYTouch but so far no joy.

I'd be really interested to hear if you've encountered the same problem and/or have any insight.
andyjagoe (author)  jabel39 months ago
Hi jabel3. Glad I could help. I've had the same problem with LTN panels. Because of this and others, I'm looking at getting a new controller board made that can drive newer, better and cheaper panels (like LEDs, which NJYTouch seems to have no support for). Let me know if you might be interested. Out of curiosity...can I ask how you're using the panels?
jabel3 andyjagoe9 months ago
Andy, yes that would be very interesting. The significantly lower power usage of LED panels would be great. Being able to source large quantities of panels that are guaranteed to work with the controller would be the big thing though. I am working on two ideas. One is a minimalist linux computer using a raspberry pi and a panel with a simple lightweight stand. Another idea is internet connected picture frames - classical frames with an lcd panel,
xinman1 year ago
Has anyone found a way to have 1 power cord running to this and split it to supply the lcd controller as well as the raspberry pi? I don't have a usb hub so I don't need that but it would be really nice to have just 1 cord running to the device.
jabel3 xinman9 months ago
I soldered some header pins to the NJYTouch 5451 controller board - the 5V one just to the right of the jumper switch in the centre of the board and the ground to the right hand hole in the group of 5 holes immediately below (it's labelled ground on the reverse of the board). Best to check with a multimeter of course. I then connected these to the GPIO pins on the Rpi. It works very well. The pins are powered up when you connect the controller to power - even when the power to the panel is off.
There is a risk the this might damage your RPI as there's no surge protection through the GPIO pins but it has worked well so far for me. If anyone is interested I'll post a photo. I'll need to do a bit of disassembly.
andyjagoe (author)  xinman1 year ago
The way to do this would be to have power delivered to the LCD via the controller board in the same way it is now and to take power off the board and run it back to the Raspberry Pi. There are a number of different ways to do this, but I haven't seen anyone providing a ready-made solution yet. If people are interested, I may have something similar in the near future.
xinman andyjagoe11 months ago
Have you gotten anywhere with this? Just wondering!
andyjagoe (author)  xinman11 months ago
Hi xinman. Thanks for checking in. I have a device/service up and running now with a small beta group of families.

I've written a brand new slideshow app for the pi that can properly do hardware accelerated photos and video for large quantities of images. What I found is that I was having to modify XBMC to make it do what's needed and personal content is low priority among the XBMC team. I then built a cloud service on top of Amazon EC2/S3 to ingest the content and index all of it in search to create realtime contextually relevant playlists across your entire collection of images and deliver the content back to your device.

It won't be long before I announce something publicly. I'm always open to ideas / suggestions for features. ;-)
I am very interested... I currently have the Pi (mostly setup), the frame is on order, I have a 17-inch screen, and the lcd controller. The main thing I still need to do on the Pi is figure out why fbi is not displaying the images full screen (there is a black bar going around the entire image?). Once I have the frame I will be ready to work on this more but to get it living room approved or Wife Approved I need to have it only taking one plug with all other wiring hidden. Any help you could give would be greatly appreciated and thank you very much for the write up you did here, it has been a great resource.
andyjagoe (author)  xinman1 year ago
I'm not sure regarding fbi...I haven't looked at it because I didn't think it has a hardware accelerated backend?

Hardware acceleration on the Raspberry Pi is a definite must for any kind of reasonable may want to consider Pygame because it does a hardware accelerated surface you can use to blit images.

This is exactly the stuff I've been working on--and will have something very interesting to share soon. I'll post to the instructable thread soon with the developments.
1-40 of 50Next »