Laptop Digital Picture Frame

From spiderprojects
Jump to: navigation, search


The Story

I had an old laptop sitting around. It was a Toshiba Satellite A40, with a battery that wouldn't hold a charge and broken hinges that didn't hold the screen up. I figured I wouldn't get anything close to what I payed for it if I put it on Ebay, so I did what anyone in my position would do. I Googled "what to do with an old laptop." Of course there were several suggestions, but I kept seeing pictures of laptops people had turned into digital picture frames. I thought this would be a fun project that would look nice on my wall and so I got started.


Before anyone attempts to duplicate this process know that I am in no way saying that this is even possible for everyone to do. I take no responsibility for any damage you may cause to your laptop or anything else in the process of attempting to duplicate this project.



I started by carefully and completely disassembling the laptop.

Laptop Motherboard

With the system completely removed from the case I carefully laid out all of the components on a clean surface and reconnected everything to make sure that the computer still turned on. The next step was to figure out how to remount everything in the form of a digital picture frame. I took everything back apart and measured the motherboard and screen. Based on the measurements I decided to build a shadowbox to hold the PC behind the picture frame. I built a box with the dimensions shown in the following images, using 4 small blocks in the corners to secure a backing to mount the PC on.

Shadowbox to hold PC

I started off mounting everything on a quarter inch thick piece of foam-board. This was easy to cut and cheap in case I made any mistakes. I used MS paint to draw up a simple design for the mounting board.

Mounting board design

There are holes cut out around the fan and the heat sink to allow for better air flow. With the design laid out I cut the foam board to fit in the shadowbox and mounted the motherboard to it with enough room for the power converter and hard drive to fit. I attached the power converter to the board using zip-ties to keep it from banging around inside the shadowbox. I used the very small screws from the LCD screen to mount the foam-board to the 4 corner mounting blocks, careful not to over tighten, to prevent them from splitting.

PC Mounted on foam-board

The hard drive fits over the coiled power cord. With the PC mounted I started looking at adding holes in the side of the shadowbox to get access to the USB ports and to make a slot for the CD drive. This way I can control the PC with USB devices and load any software needed using the CD drive.

CD drive in slot USB hole

I did this by attaching the CD drive and measuring the height of it and the USB ports from the foam backing. Then I cut out the holes and checked to see that everything fit. I started out making the USB hole the same size as the USB port, but many USB connectors are considerably larger than the port and I had to widen the hole. Once everything was mounted and I was sure it all fit ok, I transferred the pattern of the foam-board to a quarter inch thick piece of wood project board for a more sturdy mounting.


The LCD screen was slightly wider than the inner dimension of the shadowbox, so I cut out a small notch for the LCD to rest in.

Notch for LCD to rest in

This notch along with the original LCD mounting bracket is used to hold the screen in place and flush with the front of the shadowbox.

LCD mounted in shadowbox

With the LCD mounted I picked up a cheap picture frame from my local Michaels craft store that was big enough to cover the shadow box with a center hole to match the LCD screen size. I connected the frame to the shadowbox using some small L-brackets and attached 2 picture frame hangers to the back of the shadowbox so I could hang the whole thing on the wall.

Frame attached to shadowbox Picture hangers

Now I could just hang the whole thing on the wall and run a slideshow of all my pictures.

Motion Sensor

I wanted the system to work as autonomously as possible. Just turn on when I'm around and turn itself off when I'm not. I accomplished this with a simple circuit built around a $10 PIR Motion Sensor from Radioshack or from Amazon and a short program to monitor the parallel port for motion. Here are the specifics.


I designed this circuit around the PIR motion sensor from Radioshack. I pulled power from the DC input on the PC motherboard. Using a 7805, 5V regulator I supplied power to the rest of the circuit. You'll notice that I'm using a 555 timer to power the relays. This is because the motion sensor outputs 5V for about 1 second when it senses motion. Every so often it would remain on long enough to cause the PC to turn off. With the 555 timer set at a 1Hz frequency with 50% duty cycle this should cause the relay to remain on for only a half second when motion is sensed. The relays are connected to the power button on the PC to turn it on when it is in sleep mode and to the parallel port so that my program can see when motion has been sensed.

Motion sensor circuit


Command Line

I started out with a simple command line C++ program. All the variables where set as constants through programming and the command line window simply displayed how long it had been since the last instance of motion was detected. This program was functional, but did not provide much versatility.

C++ Command Line LPT Monitor


GUI Monitor

In order to get a more functional program I switched to C# and wrote a program complete with a GUI. It allows users to view and change the data output to the parallel port, the value to trigger as motion being sensed, and the amount of time to wait before putting the computer to sleep if no motion is sensed. It also displays the value being read from the parallel port and the amount of time since the last motion sense. In addition to all this it allows the user to essentially pause the program and sleep timer and keeps a log of all activity both locally in the program display and a text file saved in the same directory as the exe. The program saves and reads settings from another file in the exe directory. That way if anyone else wants to use the program with different settings they can save them without having to modify the code.

C# GUI LPT Monitor


Finished Product

Here are a few pictures of the final results. You can see how the motion sensor kind of hangs down on the right. I could possibly have cut a square out of the corner of the frame and placed an infrared filter over the top of it to hide that better, but I didn't for 2 reasons. The first is that doing so would narrow the field of vision of the motion sensor. The second is that would be a lot more work and I'm afraid that it might not look any better.

While off the picture frame almost looks like a mirror
DPF ON1.jpg
DPF ON2.jpg
A couple shots of the picture frame turned on

Enjoy and feel free to report any problems or suggestions to