May 4th, 2007 by Ken
Building a digital picture frame has been something I’ve wanted to do for quite a while and today I finally took the first step.
I originally wanted to build a system from the ground up similar to the Pictureframe PC on mini-itx.com but I’ve had this Sony VAIO PCG-FX220 sitting in my room collecting dust for a few years now for now I think modifying it will be the best way to go. Maybe in the future if I decide to make another frame I’ll go the other route but one thing at a time… This is a journal of my build process. I also want to mention that I credit much of this build to Grynx when he did his Walltop.
- Old Sony VAIO PCG-FX200 ($0 – given to me by a client)
- Linksys WPC54G ($?? – can’t remember, bought it ages ago)
- Ribba Frame ($20 @ IKEA)
- Wireless Remote (not sure about this one yet)
- 2.5″ IDE to CF adapter ($29)
- 4GB Sandisk Ultra II CF Card ($99)
Day 1: The laptop I have here was given to me by a client of mine who spilled something on it and thought it was dead. He got an enclosure for his hard drive and gave me the remains. Initial testing (plugging it in and turning it on) seems to suggest that the laptop is still good but I guess we’ll find out after it’s all done. I have my own VAIO which I can use if it turns out that this one is actually dead.
While it wasn’t very hard to take the VAIO apart, it sure was a pain in the butt. I’ll skip the details since every laptop will be different, but the main thing is to be especially careful when removing the bezel from the LCD. Most of the time the front and back of the bezel will be clipped together along with a few screws in the corners. Be careful of when you pry them apart that you don’t dig in too deep that you’ll damage the LCD panel.
Here’s what I’m left with. (Click on the images to see them larger along with a few notes on my Flickr account.)
This first pic is of the bare motherboard. There are a few things not shown here like the fan and heatsync on the CPU and the cage for the hard drive, a small riser board which the touchpad and floppy drive plugs into and the CD ROM.
Here, we have the video cable which connects the motherboard to the LCD. The cable actually serves three purposes. The first or course is the video signal. That’s the set of wires wrapped in the copper shielding. The second is to supply power (the green circuit board in the plastic casing), and the third is to control the little status LEDs which normally sits under the display area.
And finally, the LCD. Nothing really exciting here… The blue two wire cable at the top right is the power for the cold cathode tube and on the opposite corner in the black area is where the video cable plugs into. There’s nothing notable on the front so I’ll just leave that pic on Flickr.
So now, here’s what I’m thinking. Unfortunately for me, the hard drive cable is missing on this board so I’ll have to see if my client still has it (hmmm… not likely) or I’ll have to take it from my other VAIO. I found some online for about $45USD but I’ll check out a few stores here and see if I can get one locally for cheap first. Once I have that, instead of a regular 2.5″ hard drive, I’m going to go with an Addonics CF card adapter for the boot drive and then pull images off the network or Flickr via the screensaver I talked about in a previous post called Slickr.
Day 2: Nothing new just yet but taking from the Grynx build, I think I’ll be picking up a black Ribba frame from IKEA. According to him, the frame is deep enough to hold everything and will be more than enough room area-wise to contain the laptop and any other extra bits like the WiFi card and possibly an IR reciever.
Update: Picked up the 42cm x 32cm Ribba frame from IKEA which is perfect for my 15″ Sony VAIO. I also decided to leave the original matting and just have it crop the screen instead of getting a new one made or trying to cut it myself. If I find that the cropping is too much when it’s running, I’ll look into getting one made. I also removed the modem card, the riser for the mouse, battery and floppy drive and attached the board that contains the power button on it onto the motherboard.
Day 3: On to the frame! Like Grynx, I decided that cutting the backing of the frame and using it to hold the LCD in place was the best way to go.All you have to do is measure out the size of the LCD and the size of the board. subtract the two widths and divide by 2 and do the same for the height. You now have the measurements of how far in you need to cut from the edge. In my case, the LCD was 31.5cm wide and 24cm high and the backboard from the frame was 40cm wide and 30cm high.
40 – 31.5 = 8.5 / 2 = 4.25cm
30 – 24 = 6 / 2 = 3cm
When marking the lines, I decided to round up and make the cutout a little smaller on the width just so it would be easier to measure and I could simply sand it down a bit to make it large enough when it came time to place the LCD in.
I started cutting one side out by hand with a pocket knife but soon decided that a dremel was the way to go and stopped over at a friend’s to get it cut. Here you can see how the LCD and backboard works in the frame. Now the next step is to figure out how I’m going to get the motherboard in…
Day 4: Not much happened today. I ordered the IDE to CF card adapter and a 4GB Sandisk Ultra II CF card. Both of these should arrive in a few days. I decided to test the laptop today to check 2 things, if it turned on and if it would boot with all the things I had removed from it.I also put the remains on further weight loss and removed the metal bezel the ports are on along with a USB, modem and serial port that was on a separate card attached to the metal bezel.
I pulled the hard drive from my other VAIO and plugged it in. At first nothing happened and I was pretty worried that the laptop (can I still call it that?) had actually kicked the bucket so I started putting bits back on. My first thought was that it needed the small riser card that had the connectors for the touchpad, battery and floppy drive on it and lucky for me I was right. I’ll need to plug in a keyboard for the initial setup since the BIOS was complaining about missing things but after that, I don’t see any other issues.
I’m pretty excited since I’m so close to completing this project. The only things that really remain now are to get the motherboard properly mounted to the frame and getting the operating system installed once the card and adapter comes in.
Day 5: Right on time, the CF card and adapter arrived and was ready for pick-up. I should note that instead of the original plan to purchase an Addonics adapter, I went to my local computer store and ended up getting a StarTech one instead. It’s a bit bulkier than the Addonics but was a fraction of the cost.
Once the card and adapter was installed, I powered on the laptop to see if it would still be happy with it’s new storage device. I have to do a double take and actually make sure the laptop was on because it was not making any noise now having lost it’s the whirl from the hard drive. It was completely silent
I did find out later on as to why it was so silent and why my client thought the laptop was dead. Somewhere along it’s lifetime as a full laptop, the CPU fan had kicked the bucket and the CPU would overheat and effectively lockup the computer. Not being a replaceable fan, I had to take the whole assembly apart, dust it, wash it and oil it before it would spin up again. Lucky for me it was a brushless fan and not one of the ball bearing ones which wouldn’t have been quite so easy to repair.
As for mounting the motherboard in the frame, I ended up using a piece of 3mm cardboard backboard discarded by a custom framing store who was giving away their scrap pieces for free. The plan was to purchase some nuts and bolts and screw the motherboard directly onto the cardboard. Unfortunately, I was not able to find bolts that were long enough and thin enough so my fall back was to use a bunch of cotter pins instead.
To mount the motherboard with the cotter pins, I placed the motherboard on the backboard drilled 1 hole, and stuck a cotter pin through it, then on the opposite corner, I did the same. From there one I just drilled out the rest of the holes where the mounting points where. I originally tried just drawing them in with a pencil through the holes but with the motherboard was hard to keep in place and none of them would be in the right place once I was done.
Now that I had my holes, I went and cut out some foam I had with a sticky backing to them and used them as spacers to keep the motherboard at the right height off the backboard. I also went and drilled a hole through the centre of these so that it would be easier for me to slide the pins through later on.
Once the board was in, I just bent the pins back and taped them in place so they wouldn’t poke the back of the LCD because that would be bad. There are a few things I want to change in the future and this is one of them but I’ll get to that at the end of this post.
Putting it all together it finally looked like what I wanted. I did have to cut out a slot of the video cable to relieve a little tension. I forgot to take into account the CPU fan and heatsink would be in the way of the cable when I originally placed the board but that was a minor issue.
I plugged it all in and…. SUCCESS! Except… I hadn’t done all my homework… I installed Windows XP directly off the CD and an hour later when it did the first reboot, I got an error about the drive. I can’t install XP straight from CD it seems I have to install it on a computer first and then image it onto the CF card. Great.
Day 6: So I decided to give Ubuntu a try since I already had a copy of 6.10 on me and wasn’t in the mood to try XP again. The installation went very smoothly and worked rigtht away! After upgrading to 7.04 and installing all the updates I was ready to roll. Ubuntu, like most any operating systems has a photoscreen saver. Unfortunately it’s not very configurable so you’re kind of stuck with what they give you. Images are read from ~/Pictures/ and show for about 10 seconds before fading into the next picture. It wasn’t ideal in the way that the minimum time to wait for the screen saver to kick in was 1 minute. So currently, once the laptop boots up, it sits at the desktop for 1 minute before fading out and starting the slideshow. Later on I’ll set a photo as my wallpaper so that at least you’ll get to see something while it times out.
So having that, the next step was to get my images fed into the frame. I knew from the beginning that I would not store any photos on the frame itself and that I would have a share on my file server containing all my pictures for it to pull from. I simply mounted the share as my Pictures folder with samba and gave it a test. Once I knew it was all working, I had to get everything automated. I originally tried to get the share mounted via fstab but for some reason it would never work. So after some digging around I found out the best way would be to tell fstab not to automatically mount it and have rc.local mount that share instead.
//ip_address/share_name /home/username/Pictures smbfs noauto,credentials=/root/.credentials,dmask=777,fmask=777 0 0
To explain what’s happening here, in fstab, I specify the share, login information and also tell it not to auto-mount the share. The credentials file is just a more secure way of specifying the username and password to connect to the share. If you’re not concerned about someone else seeing it, you can just specify the username and password right here instead. It should also be noted that the line in fstab should be separated by a single tab and not spaces.
In rc.local, you can see where the share is finally connected. The reason for doing it this way is that rc.local is the last file that’s run in the boot process so you ensure that all modules are loaded before mounting the network share. Otherwise, what I experienced was that the share would hang on me and I would have to unmount it before I could do anything else.
After that, the only thing that had to be done next was to get Ubuntu to automatically login. Ubuntu makes this really easy. Just go to System > Administration > Login Window. Under the Security tab you’ll find a dropdown to specify the user you want to automatically login as and you’re done!
Now I just turn on the laptop and everything just works on it’s own. Boots up, mounts the share, logs in, and after a minute, starts up the screensaver!
Day 7: So a few things remain on my list today. I haven’t properly mounted the motherboard to the frame and the entire project needs to go on the wall. I also need to get my wireless card back from a friend so I won’t have a grey network cable hanging out the bottom along with my power cable.
For mounting the motherboard to the frame, I picked up these cloth picture frame hangers (I had never even heard of these until I saw them at Home Depot) which are simply little strips of cloth with an adhesive on one end and a metal eyelet on the other. In hindsight, I should have gotten the ones that had little hooks instead of the eyelets. They stick on with a little water and surprisingly, seem to hold pretty well once it’s dry. I attached the strips to the board holding the LCD since that was secured to the frame and would be able to hold the weight of everything. I’ll run a wire or some string to each eyelet which will hold the motherboard down.
As for the frame itself, the RIBBA came with these two little metal clips that would attach to the backboard but with all the added weight, I wasn’t confident that they would stay on. So while at Home Depot, I picked up a box of what they called “Heavy Duty Eyelets” and screwed them directly into the frame. Pre drilling is key here or there’s a chance you’ll split the wood and that would be bad.
So. That’s it! The frame is already hanging on my wall happily flipping thru the many photos and once I get my PCMCIA card back and I’ll be 100% complete!
A few notes and thoughts: A few things have come to me during the build process which I would do differently when I make another one of these…
- Unless you’re absolutely certain that the laptop will fit in a regular frame, a good alternative is to pick up a shadow box. They’re much deeper and still won’t look too bad on the wall. This will also allow you to enclose the entire until for a cleaner look. Of course, if you don’t want something so deep, then try to find a deep frame or have one custom made. I found that the larger RIBBA frames were a bit deeper and if I had the room, that would be the best way to go.
- Unfortunately, the Sony VAIO PCG-FX220 doesn’t have any kind of scheduled wake up feature in the BIOS so I have to manually turn the frame on if I want to see it. I’ll have to look around to see if I can find some way of doing so later…
- Laptops don’t generally have a large viewing angle so it’s one of the limiting factors of this build. You need to pretty much be standing directly in front of the frame to see the image as it should be. If you’re lucky you may be anle to find a laptop with a larger viewing area to use.
- If possible, the best IDE to CF adapter would have to be the one I originally wanted, the Addonics one. The startech one sits oddly on my frame and brings the entire build out more than it should be. This may be a later upgrade to help keep the unit slim. Alternatively I might look into picking up some kind of 2.5″ IDE cable extension.
Pictures will be added in the coming days when I get around to posting them.
Posted in | 6 Comments »