So what do you do when you have access to a laptop that nobody wants to use anymore, and some extra time on your hands? I had always wanted to make my own digital picture frame out of a laptop, for a few reasons. One, laptop LCD's are usually higher quality than the ones that come in digital picture frames you buy in the store. Secondly, the screens are larger than any that are generally available from pre-built digital picture frames. And finally, I wanted to have the images in the frame come directly from Flickr... which is a feature that only comes with really expensive frames with WiFi. I decided to call it "Picture Picture", in honor of Mr. Rogers.
As it turns out, my uncle had bought a Dell laptop from HSN several years ago (without my permission), and then never really used it all that much. Eventually it ended up in a drawer... and so then it eventually ended up in my hands.
The first part of the project was actually all about software configuration. My goal was to have a system that didn't need a keyboard or mouse. I'm still working on refining the software I wrote to get pictures from Flickr, so that code is not included in this post. However, I will reveal that the software comes in three parts. The first is the viewer application itself. It reads a configuration file that has settings for background color, image duration, a Flickr user name, and a list of tags from the user name to display. I'm also adding the ability to automatically suspend the laptop at night, and then wake up a designated time in the morning, but the bugs in that are not quite worked out yet.
The second piece of software is a simple ASP.NET application, so that I can log into the picture frame from my browser to change any of the settings above. The ASP.NET application then saves those settings to the configuration file. The viewer application has a file watcher on that configuration file, so that when it changes, it automatically reloads the configuration settings. The third piece is actually just a simple Windows Service that acts as a watchdog, and if the application goes away for some strange reason, it automatically restarts it. The beauty of this setup, is that I can add pictures to my frame simply by tagging a picture in Flickr with any tag I choose.
With all that said, there were some other software changes I made to the laptop before I tore it apart. Because it was a cheap HSN laptop, it had Windows XP Home, which isn't capable of running IIS, which I would need for my ASP.NET application. Fortunately, there is a well documented hack for getting IIS running on Windows XP Home. I also installed Tight VNC on the laptop, in case I needed to do any more complicated administration after I tore it apart. I would have just used Remote Desktop, but Windows XP Home can only be an RDP client, not a host. I also created a share on the laptop where all my custom application software was copied so I could easily upload new versions of my software afterwards. Finally, I created a separate user to auto login when the laptop turned on, and then added the viewer application I wrote to the Startup menu for that user.
Now comes the fun part... tearing apart the laptop. All the pictures from this post are on Flickr in this set. You can click on any picture for a larger version. Some of the pictures also include extra notes which point out small details in the picture worth looking at. I went to the Dell support website, where they are kind enough to have detailed service manuals on all their laptops, which include directions on how to replace all the internal components. This makes tearing apart the laptop a breeze. Here is the LCD out of the laptop, as well as all the case parts I won't be needing anymore:
I was very concerned with carefully supporting the LCD in the frame. I used foam core as a backer, and then surrounded the LCD with foam core as well. I used simple Elmer's glue to glue the surrounding foam core to the back piece of foam core:
You'll notice that there is a foil section that runs on the back of the LCD. This actually sticks out quite a bit. That's why there is a cut in the back of the foam core. The parts of the foil that stick out extra fit into that cut out of the foam core. There is also a small hole in the foam core back, for the LCD cable to fit through. I used no glue, or any other physical fasteners to attach the LCD to the foam core. It's a friction fit. I cut and fit the foam core around so it would be just tight enough, but wouldn't put pressure on the display. The mat is just another layer when I put together the frame sandwich. I used no glue there either, so you can see a little gap if you get up close to the frame. At some point, I may either use double stick tape, or possibly put glass in front to remove the gap. The next two pictures are the LCD fit into the foam core housing, and then a picture with the mat on top:
For mounting the motherboard, I simply cut a piece of masonite to the appropriate size. I used some old standoffs and screws that I had from a previous desktop computer build I did last year. I also cut a small slot in the bottom for the LCD cable to come through.
The other tricky part was remounting some of the motherboard parts. The problem is that many of the components (like the CPU heat sink, and the LCD grounding cable) actually had screws which passed through the motherboard, and then screwed directly into the plastic case. So one day I went to my local hardware store, and spent some time test fitting nuts until I found nuts that fit. These aren't standard sizes, so my only choice was to bring all the parts to the hardware store and use good ole fashioned trial and error. You can also see that I attached the speakers from the original laptop too. I don't have any use for them now, but maybe some day I'll add a video to my frame and then I can use those. I also added some extra foam core to the back of the masonite for added thickness. The frame that I chose was very deep (almost two inches so there was room for all the components plus circulation). Unfortunately, I had to add thickness in some areas so that the springs would still work:
The last detail was attaching the WiFi cable to the frame itself. The original laptop had the WiFi card attached via a wire to a sheet of aluminum foil in the cover which served as the antenna. Since my frame was made out of metal, I sanded off the paint on the inside surface of the frame, and attached the antenna to the frame. Now my frame is actually the WiFi antenna:
And finally, here is the completed frame hanging on the wall:
The total build cost was about $55. This included a custom cut frame and mat (the majority of the cost), along with foam core, masonite, and random nuts from the hardware store. Once I finish adding all the features I want to the viewer application, I plan on posting the completed code here as well, so stay tuned!