If you have an old laptop or lcd monitor which may be broken but still has a good screen a display like this is a great project. In my case I had a Gateway 21" flat panel monitor where the electronics had gone bad. I stripped it down and found a Samsung LCD panel inside which was still good. So I did some research on eBay and found a thriving trade in China of control boards and inverters for lcd panels. You have to remove the panel first so you can get to the back of the panel where there should be a label giving you the details you'll need to find the right controller. 

So I ordered the parts and laying everything out on the bench I connected the controller, inverter board and a Raspberry Pi via HDMI. The controller takes 12v so I needed 2 power supplies, the other for the Pi of course. Once powered up the LCD panel came on and displayed the Pi boot up process just fine.

So now I needed a frame. I had some pine project panels which I cut down to make a box around panel, then I used some pine molding strip to make the front bezel. Glued some blocks in the corners to hold the panel in place. Then I needed something to mount the electronics to, something thin and flat. The only thing I had available was some cardboard, so it had to do.

I now had a Pi, in a frame, so the difficult part was what to dispay on it. Fortunately I found a project by those at designelemental.net called mPanel. Basically, this lets you slideshow pictures from Flickr and add the time, date, weather and your iCal feed in overlays. This is fantastic, you can set up your display using any computer then point any number of frames at your unique webpage and there you have it. My only fear is that they will stop the project some time and all our frames will go blank. If that happens I'll have to make something up on my site here which, actually, was my first plan before I found mPanel. Joomla has enough extensions to be able to create a page which has all the features but I like Design Elemental's implementation.

Anyway, here are the steps to set up your own PiFrame....

  • Download and install Raspbian to an sdcard and insert it into your Pi. Plug in a keyboard/mouse, ethernet cable, HDMI to your monitor and finally power up your Pi.

  • You will need to do a basic set up of Rasbian. On the setup menu Expand the Filesystem, change your password and set it to boot to desktop. Set your language, region and time zone. In the advanced options change your hostname and enable SSH so you can access your PiFrame from another computer on your network. And reboot.

  • After the reboot open a terminal window and run 'sudo apt-get update' and 'sudo apt-get upgrade' to make sure everything is at the latest version. This takes a while so time for a coffee break.

  • Optionally you can use wifi with your frame or stay with the wired ethernet, using wifi is preferred as it means one less cable you have to run up the wall. To add wifi shut down and replace the ethernet cable with a wifi dongle and restart. There is a utility on the desktop that you can use to connect your wifi access point which is easy to use.

  • Next install IceWeasel as your browser using 'sudo apt-get install iceweasel'. Once complete IceWeasel should be avalable via the desktop menu. Open it up and typ 'about:config' in the address field. Find the line 'browser.sessionstore.resume_from_crash' and double click it to change it to false.

  • Now to set up mPanel. In any browser go to http://designelemental.net/mpanel/ and create an account. There are several options available, work your way through the site to set it up to your liking.

  • Part of mPanel's setup is to create your own Private URL. This is what you want to set as your homepage in IceWeasel. Once you have done that press F11 to go fullscreen. Press CTRL-Q to exit IceWeasel and re-open it to make sure it opens fullscreen and to your mPanel page.

  • Next we need to have IceWeasel start automatically - 'sudo nano /etc/xdg/lxsession/LXDE/autostart' add '@iceweasel' to the list and save.

  • To disable the mouse cursor when not in use - 'sudo apt-get install unclutter'

  • And to prevent the display from going to sleep - 'sudo nano /etc/lightdm/lightdc.conf' scroll down to the [SeatDefaults] section and change the line '#xserver-command=X' to '#xserver-command=X -s 0 -dpms' and save.

And that's about it. What's nice is that you can create a few of these panels for different rooms/locations and connect them all to the same mPanel account.

One extra thing you can do to save power is to have the panel power down at night. You can do this with a couple of simple scripts and a cron job...

In you home directory create two files 'lcd-on.sh' and 'lcd-off.sh'. In the lcd-off script put the line 'vcgencmd display_power 0' and in the lcd-on script put the line 'vcgencmd display_power 1'

The setup the timing for the Cron job....

sudo crontab -e

Put this at the end of the file....

0 22 * * * /home/lcd-on.sh (this would turn it of at 10pm every day)

0 6 * * * /home/lcd-off.sh (this turns it on at 6am every day)

More details on this can be found on this schedule a job on the raspberry pi page.

If you like this project or have any questions leave me a comment below.

Enjoy.

Thanks to StevenL3 for this instructables page which got me started on this project.