<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>The Coding Monkey</title>
    <link>http://www.thecodingmonkey.net/</link>
    <description>I'm a Software Consultant in the Milwaukee area. Among various geeky pursuits, I'm also an amateur triathlete, and enjoy rock climbing. I also like to think I'm a political pundit.</description>
    <language>en-us</language>
    <copyright>Nick Schweitzer</copyright>
    <lastBuildDate>Tue, 24 Mar 2009 20:32:23 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.8.5223.2</generator>
    <managingEditor>nick@thecodingmonkey.net</managingEditor>
    <webMaster>nick@thecodingmonkey.net</webMaster>
    <item>
      <trackback:ping>http://www.thecodingmonkey.net/Trackback.aspx?guid=36673113-e551-4692-905a-5729a41d53ab</trackback:ping>
      <pingback:server>http://www.thecodingmonkey.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.thecodingmonkey.net/PermaLink.aspx?guid=36673113-e551-4692-905a-5729a41d53ab</pingback:target>
      <dc:creator>nick@thecodingmonkey.net (Nick)</dc:creator>
      <wfw:comment>http://www.thecodingmonkey.net/CommentView.aspx?guid=36673113-e551-4692-905a-5729a41d53ab</wfw:comment>
      <wfw:commentRss>http://www.thecodingmonkey.net/SyndicationService.asmx/GetEntryCommentsRss?guid=36673113-e551-4692-905a-5729a41d53ab</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <title>Picture Picture Project</title>
      <guid>http://www.thecodingmonkey.net/PermaLink.aspx?guid=36673113-e551-4692-905a-5729a41d53ab</guid>
      <link>http://www.thecodingmonkey.net/2009/03/24/PicturePictureProject.aspx</link>
      <pubDate>Tue, 24 Mar 2009 20:32:23 GMT</pubDate>
      <description>&lt;p&gt;
   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?&amp;nbsp; I had always wanted to make my own digital
   picture frame out of a laptop, for a few reasons.&amp;nbsp; One, laptop LCD's are usually
   higher quality than the ones that come in digital picture frames you buy in the store.&amp;nbsp;
   Secondly, the screens are larger than any that are generally available from pre-built
   digital picture frames.&amp;nbsp; 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.&amp;nbsp; I decided to call it "Picture Picture", &lt;a href="http://pbskids.org/rogers/R_house/picpic.htm"&gt;in
   honor of Mr. Rogers&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
   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.&amp;nbsp; Eventually it ended
   up in a drawer... and so then it eventually ended up in my hands.
&lt;/p&gt;
&lt;p&gt;
   The first part of the project was actually all about software configuration.&amp;nbsp;
   My goal was to have a system that didn't need a keyboard or mouse.&amp;nbsp; I'm still
   working on refining the software I wrote to get pictures from &lt;a href="http://www.flickr.com"&gt;Flickr&lt;/a&gt;,
   so that code is not included in this post.&amp;nbsp; However, I will reveal that the software
   comes in three parts.&amp;nbsp; The first is the viewer application itself.&amp;nbsp; 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.&amp;nbsp; 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.
&lt;/p&gt;
&lt;p&gt;
   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.&amp;nbsp; The ASP.NET
   application then saves those settings to the configuration file.&amp;nbsp; The viewer
   application has a file watcher on that configuration file, so that when it changes,
   it automatically reloads the configuration settings.&amp;nbsp; 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.&amp;nbsp; 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.
&lt;/p&gt;
&lt;p&gt;
   With all that said, there were some other software changes I made to the laptop before
   I tore it apart.&amp;nbsp; 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.&amp;nbsp;
   Fortunately, &lt;a href="http://adamv.com/dev/articles/iis-on-xp-home/"&gt;there is a well
   documented hack for getting IIS running on Windows XP Home&lt;/a&gt;.&amp;nbsp; I also installed &lt;a href="http://www.tightvnc.com/"&gt;Tight
   VNC&lt;/a&gt; on the laptop, in case I needed to do any more complicated administration
   after I tore it apart.&amp;nbsp; I would have just used Remote Desktop, but &lt;a href="http://www.microsoft.com/windowsxp/using/mobility/rdfaq.mspx"&gt;Windows
   XP Home can only be an RDP client, not a host&lt;/a&gt;.&amp;nbsp; 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.&amp;nbsp; Finally, &lt;a href="http://support.microsoft.com/kb/315231"&gt;I
   created a separate user to auto login when the laptop turned on&lt;/a&gt;, and then added
   the viewer application I wrote to the Startup menu for that user.
&lt;/p&gt;
&lt;p&gt;
   Now comes the fun part... tearing apart the laptop.&amp;nbsp; &lt;a href="http://www.flickr.com/photos/schweitn/sets/72157615855323958/"&gt;All
   the pictures from this post are on Flickr in this set&lt;/a&gt;.&amp;nbsp; You can click on
   any picture for a larger version.&amp;nbsp; Some of the pictures also include extra notes
   which point out small details in the picture worth looking at.&amp;nbsp; &lt;a href="http://support.dell.com/support/edocs/systems/ins2200/en/SM/index.htm"&gt;I
   went to the Dell support website, where they are kind enough to have detailed service
   manuals on all their laptops&lt;/a&gt;, which include directions on how to replace all the
   internal components.&amp;nbsp; This makes tearing apart the laptop a breeze.&amp;nbsp; Here
   is the LCD out of the laptop, as well as all the case parts I won't be needing anymore:
&lt;/p&gt;
&lt;p&gt;
   &lt;a title="LCD Out of Laptop" href="http://www.flickr.com/photos/77759521@N00/3383199404/"&gt;&lt;img alt="LCD Out of Laptop" src="http://static.flickr.com/3539/3383199404_c77133d4ea_m.jpg" border=0&gt;&lt;/a&gt;&amp;nbsp;&lt;a title="Throw Away Parts" href="http://www.flickr.com/photos/77759521@N00/3383204176/"&gt;&lt;img alt="Throw Away Parts" src="http://static.flickr.com/3540/3383204176_2b8ac27689_m.jpg" border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   I was very concerned with carefully supporting the LCD in the frame.&amp;nbsp; I used
   foam core as a backer, and then surrounded the LCD with foam core as well.&amp;nbsp; I
   used simple Elmer's glue to glue the surrounding foam core to the back piece of foam
   core:
&lt;/p&gt;
&lt;p&gt;
   &lt;a title="Front of Foam Core for LCD" href="http://www.flickr.com/photos/77759521@N00/3383200208/"&gt;&lt;img alt="Front of Foam Core for LCD" src="http://static.flickr.com/3466/3383200208_2c8409a6b4_m.jpg" border=0&gt;&lt;/a&gt;&amp;nbsp;&lt;a title="Back of LCD" href="http://www.flickr.com/photos/77759521@N00/3382384221/"&gt;&lt;img alt="Back of LCD" src="http://static.flickr.com/3427/3382384221_a5e6e166ef_m.jpg" border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   You'll notice that there is a foil section that runs on the back of the LCD.&amp;nbsp;
   This actually sticks out quite a bit.&amp;nbsp; That's why there is a cut in the back
   of the foam core.&amp;nbsp; The parts of the foil that stick out extra fit into that cut
   out of the foam core.&amp;nbsp; There is also a small hole in the foam core back, for
   the LCD cable to fit through.&amp;nbsp; I used no glue, or any other physical fasteners
   to attach the LCD to the foam core.&amp;nbsp; It's a friction fit.&amp;nbsp; I cut and fit
   the foam core around so it would be just tight enough, but wouldn't put pressure on
   the display.&amp;nbsp; The mat is just another layer when I put together the frame sandwich.&amp;nbsp;
   I used no glue there either, so you can see a little gap if you get up close to the
   frame.&amp;nbsp; At some point, I may either use double stick tape, or possibly put glass
   in front to remove the gap.&amp;nbsp; The next two pictures are the LCD fit into the foam
   core housing, and then a picture with the mat on top:
&lt;/p&gt;
&lt;p&gt;
   &lt;a title="LCD in Foam Core" href="http://www.flickr.com/photos/77759521@N00/3383202048/"&gt;&lt;img alt="LCD in Foam Core" src="http://static.flickr.com/3573/3383202048_a1d6e6d376_m.jpg" border=0&gt;&lt;/a&gt;&amp;nbsp;&lt;a title="LCD with Mat" href="http://www.flickr.com/photos/77759521@N00/3383202920/"&gt;&lt;img alt="LCD with Mat" src="http://static.flickr.com/3591/3383202920_e65b62b19e_m.jpg" border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   For mounting the motherboard, I simply cut a piece of masonite to the appropriate
   size.&amp;nbsp; I used some old standoffs and screws that I had from &lt;a href="http://www.thecodingmonkey.net/2008/05/29/BuildingANewDesktopPartI.aspx"&gt;a
   previous desktop computer build I did last year&lt;/a&gt;.&amp;nbsp; I also cut a small slot
   in the bottom for the LCD cable to come through.
&lt;/p&gt;
&lt;p&gt;
   The other tricky part was remounting some of the motherboard parts.&amp;nbsp; 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.&amp;nbsp; So one day I went to my local hardware store, and spent
   some time test fitting nuts until I found nuts that fit.&amp;nbsp; 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.&amp;nbsp; You can also see that I attached the speakers
   from the original laptop too.&amp;nbsp; 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.&amp;nbsp; I also added some
   extra foam core to the back of the masonite for added thickness.&amp;nbsp; The frame that
   I chose was very deep (almost two inches so there was room for all the components
   plus circulation).&amp;nbsp; Unfortunately, I had to add thickness in some areas so that
   the springs would still work:
&lt;/p&gt;
&lt;p&gt;
   &lt;a title="Back of Frame" href="http://www.flickr.com/photos/77759521@N00/3383197142/"&gt;&lt;img alt="Back of Frame" src="http://static.flickr.com/3554/3383197142_dc6e30c215_m.jpg" border=0&gt;&lt;/a&gt;&amp;nbsp;&lt;a title="Back of Motherboard Mount" href="http://www.flickr.com/photos/77759521@N00/3382381587/"&gt;&lt;img alt="Back of Motherboard Mount" src="http://static.flickr.com/3419/3382381587_731dd0a430_m.jpg" border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   The last detail was attaching the WiFi cable to the frame itself.&amp;nbsp; 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.&amp;nbsp; 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.&amp;nbsp; Now my frame is actually the WiFi antenna:
&lt;/p&gt;
&lt;p&gt;
   &lt;a title="Antenna Attachment" href="http://www.flickr.com/photos/77759521@N00/3383197820/"&gt;&lt;img alt="Antenna Attachment" src="http://static.flickr.com/3563/3383197820_404d823b87.jpg" border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   And finally, here is the completed frame hanging on the wall:
&lt;/p&gt;
&lt;p&gt;
   &lt;a title="Finished Picture Frame" href="http://www.flickr.com/photos/77759521@N00/3383204858/"&gt;&lt;img alt="Finished Picture Frame" src="http://static.flickr.com/3592/3383204858_72efb848b3.jpg" border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   The total build cost was about $55.&amp;nbsp; 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.&amp;nbsp; 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!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.thecodingmonkey.net/aggbug.ashx?id=36673113-e551-4692-905a-5729a41d53ab" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;a href="http://twitter.com/NickSchweitzer"&gt;Follow Me on Twitter&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;copy; Copyright 2010 Nick Schweitzer. This feed is for personal non-commercial use only. All other uses are strictly prohibited without express permission from the author. </description>
      <comments>http://www.thecodingmonkey.net/CommentView.aspx?guid=36673113-e551-4692-905a-5729a41d53ab</comments>
      <category>DIY</category>
    </item>
  </channel>
</rss>