A digital picture frame running Linux v2
Last update : March 23, 2009
The previous picture frame is still in operation. It is a success. However, it was pretty basic and there was room for improvement.
I am now making another picture frame. It will be given to a relative as a gift.
The full picture gallery is here.
Features
- 12.1″ 1024×768 screen
- 16 GB flash drive
- 1.12 MHz Pentium III mobile
- 256 MB RAM
- 54 Mbps B/G WiFi
- Extremely simple user interface: two buttons only
- Remote access for picture uploads, from anywhere in the World
The following features are available, through tested or easily adapted scripts:
- Weather report
- Headline news
- Traffic report
- Postcards with pictures and text, from a specific email address
- Display of pictures hosted on Flickr, based on a specific set of users and/or tags
Improvements compared to the first picture frame I have built
- Nothing kept from the original case, the laptop has been completely dismantled
- No moving part – The hard drive is replaced by flash memory
- Less heat generated – The hard drive is replaced by flash memory
- Better cooling – The fan is expelling air outside of the box
- Access to the USB port without opening the box if there is a need to connect a keyboard
- Access to the wired network interface, in case WiFi is not working, not available or if high-speed is needed
- The Wi-Fi is using discrete antennas, not from a build-in PCMCIA card, the signal quality should be much better
- User-accessible power and next picture buttons without opening the box or using a piece of bamboo skewer
- All hand-made!
- Additional functions available
Base laptop
The machine used is a Dell Latitude C400 laptop from 2002, gifted from where I work. It was high-spec at the time as far as ultra-portables were concerned. Now, it is near useless for normal use. It could serve as a Linux laptop using a low-resource desktop and a bit more memory, but I already have too many machines.
Construction
The source of inspiration for this frame, including the wooden box and complete laptop dismantling, is coming from this web site.
Day 1
This was mostly about dismantling the machine measuring everything and starting the build of the new case.
The case on this picture is just an empty shell, nothing has been left, really, except the keyboard, as it will not be reused. I’ve tested booting without it, the machine does not complain. If a keyboard is needed, external and USB will be the way to go. there will be a hole in the box just for this. The Dell Service Manual is quite handy, just in case.
The fan will be put back in place, somehow, as will be the WiFi antennas. The rest is more or less history. So many screws for so little hardware!
This is the rear box taking shape. The wood board is something I have found in the tool shed, hence the markings and sticker. None of that will be visible, so it can be ugly, I don’t care. You can see the opening left for the cooling. At this point, the motherboard is not fixed at all. Only two sides are screwed in place.
This is how the motherboard is raised from the wood board, using screws and 8mm plastic spacers from Maplin.
I have ordered a properly made frame for the LCD screen, and anti-reflective glass that will protect the soft parts. You should have seen the girl’s face at the shop when she understood I wanted them to do all the work of framing an LCD screen! I just want the glass and the assembled 4 pieces of wood, so she can breathe again… The frame is natural wood, can be stained, and is wide enough to allow me to fix the box containing the rest of the computer.
Day 2
Here are the screws and plastic spacers through the holes drilled into the wood board.
You can also see the other side of the computer case.
And the motherboard fits, held in place using small nuts.
I have cut some holes to make some connectors available (USB, wired Ethernet, power) and to allow the CPU cooler to exhaust its warm air. The Dremel is handy. It is far from perfect and clean, but it won’t be visible either, so it will do.
I have also bought the Compact Flash to 2.5″ IDE adapter, the WiFi card and a 150x 16 GB card on eBay.
Day 4
The Compact Flash card has arrived, still waiting for the rest.
I have somewhat cleaned the holes giving access to the various connectors and exhaust.
I have cut a large opening for the LCD panel cable and drilled quite a few holes through the board. That will help with the ventilation of the panel. Space has been reserved for the disk and fan. I do not know yet how those will be mounted (who said duct tape?).
Day 5
Yes! I have picked-up the front part, the actual frame for the LCD screen with non-reflective glass.
It fits. It’s tight, but it fits.
The frame comes with tabs that will help keep the LCD screen in place.
The LCD cable is also able to connect to the motherboard without being too stressed.
I could not help it, I had to try if everything still worked. and it does. The PCMCIA WiFi card is temporary. The miniPCI card is in the mail, from Hong Kong.
The fan still works and the temperatures are quite low when the machine does not do anything (40℃), as reported by i8kmon, using the i8k module.
Yes, I was trying the Ubuntu Netbook Remix before I started the DPF project. It is very nicely done.
The machine come with 2 buttons, one for Power on/off, one that was the Dell info button. This last button is understood by X Window as the XF86AudioPlay. I will have to reassign it to the space bar using xmodmap. That way it will be used to switch to the next picture in the slide show.
The most important thing at the time, though, is to find a way to make those 2 buttons user accessible at the back of the box…
Day 6
Here is a testimony to the great planning involved in that project. I have just noticed that the power plug, once plugged into the system, is sticking out way too much and prevents the whole thing from standing properly… Nice! It is also way too rigid and will not bend. And to add insult to injury, the ferrite is also on the way.
I have already “operated” on the plug, removing all the hard shell, half destroying all the internal wires… I’ll have to add an extension and use a lot of thermal sleeving to make it look as nice as possible.
I have received the Intel 2200 internal miniPCI WiFi card. It is using 2 discrete antennas. It has great reception and works out of the box, even using the text installer.
Day 7
I have received the IDE-CF adapter. The hard disk is gone, so is the noise and the moving part. The silence is weird… The systems sees the thing as a 16.1 GB hard disk. I’m installing right now, so I don’t know much about its performance. I will also need to tweak the seting as to not hammer the flash memory too much. The card itself is advertised as having its own wear-leveling mecanism.
Day 8
Today was software install day. I’ve installed Ubuntu 8.10. I have started from a minimal install base, then added openssh-server, feh, xserver-xorg-core, and xfce4. Xfce gives me a very basic and light-weight desktop if I ever need one. In fact, I did exactly the same stuff as described in the v1 DPF, the system boots directly into the slide show.
I have also optimized a few things regarding the use of the flash disk. The main goal is to minimize writes and place a many thing as possible into memory, at least the temporary stuff. I have followed this guide.
I have screwed the CPU cooling fan in place.
I have screwed a tab that will prevent the flash drive from unplugging itself.
I have finally screwed a piece of wood that prevents the small daughter board from bending.
Day 9
Victory! This is what I shouted right after I confirmed that I knew how to correctly remap the Dell “info key” into a space bar. This is the code needed:
xmodmap -e "keycode 172 = space space space space space"
It tells X to issue a space when the info key is depressed, whatever the modifier key (shift, alt, etc..) used.
Now I can have that key used to switch to the next picture.
I have also found the right soldering points on the small switches. I’ll be able to easily solder extension cables and additional physical switches to the side of the box for “Power ON/OFF” and “Next Picture”. The usability of the system just leaped ahead!
Those were my remaining two biggest worries until now. They are gone, so, once again: victory!
OK, done, soldered, installed and tested. It works!
- Power button: First push ON – Second push OFF (clean, through ACPI)
- Other button: Next picture
Day 11
Today was only about testing the way to install the buttons, using a scrapped piece of wood. Two drill bits of different sizes do the job, only the pushed part is visible.
Day 13
I have made the proper holes for the user interface and burned the icons using a soldering iron. They will become more discrete once the wood is stained.
And here is the back cover.
Now on to sanding, wood filling, sanding again, then staining.
Day 14
One of the side panels is attached to the back cover. This allows for easy access to the CD drive’s connector and other stuff, like the PCMCIA slot, if needed for maintenance.
I should be patenting the use of bits of aquarium tubing inside digital photo frames. I had already used that piece of “hardware” in the first DPF. This one gently, but firmly, holds the compact flash disk in place.
This looks like a great way to hold the frame for table top use.
Day 15
Here we go, staining has begun… In satin teak.
Day 16
I have applied wood filler on the back casing in order to hide some imperfections. The next steps are sanding and staining/varnishing.
The frame itself has been sanded and is ready for the second layer of stain/varnish.
Here is the case, with its first layer. I have also applied the frame’s second layer.
Right… 4 coats on the frame, 3 on the box, it is starting to look nice.
Mounting time! Woohoo!
The WiFi antannas and BIOS batteries are fixed using velcro tape.
I broke one button when fitting it. I have to tun the system ON by making the wires touch. It’s like stealing a car in a movie!
Here is the nearly finished product:
I have to fix the button and take care of the power cord now. Oh, ans I really have to stain the sides of the back cover.
Day 19
The back cover’s sides have been stained.
I have modified the power cord. The plug was too long and has been shortened, and the ferrite ball has been placed further back on the cable and is not on the way anymore. All has been properly soldered and isolated using thermal shrink tubes.
I went to buy a new button, but the shop ran out. They may have new stock at the end of next week. Maybe…
The whole project is now 99% done. It just misses a button.
Day 23
The easel has arrived this morning. It looks pretty good. I guess I should stain it too.













Very cool Nico. I can’t wait to see your progress. One question: why not keep a hard disk and do away with the expense of a IDE/CF adapter and 16GB card? Where you afraid it would overheat? Or do you think it may get bounced around and prone to hard disk failure?
All of the above!
First, the disk that came with the laptop appears to be the original unit. It may be 7 years old! Now, that is scary, it will fail.
Then disks dissipate tons of heat, and I have limited means to combat this. Heat make those things fail early.
Disks are also moving parts. Moving parts fail.
Finally, my experience with my v1frame shows that they eat disks at breakfast. I have ordered an extra CF-IDE adapter for it too.
The CF-IDE adapter was £1 on eBay, and a few more for the flash card, so no big investment there. 16 GB is an overkill, I should have more than 15 GB left for pictures on it after the system’s installation.
I just bought one for my mom for sending it to her tomorrow. This thing is expensive, small (7″) and 110Volts
And of course it is not network-capable!
Where do I stand in line for one made is Aberdeen?
Seriously this is fantastic, especially if you can have access to cheap old laptops. When you’re done I’ll be curious to know how many total hours (as well as total GBP if you don’t mind!).
P.S. Do something about the speed of your website!!
Tarek, there isn’t much I can do about the low-end CPU in the machine. The software setup has been recently greatly optimized, though, and a lot of perf has been unearthed from that.
A Dell C400 can be had for about $10 on eBay these days. As for wood, it is dirt cheap, especially since I used scrap pieces I had in stock. All in all I think the whole deal will cost me less than $70 and about 10h of work.
The digital frames you can find out there are a complete rip-off. Incredibly expensive, poor in features and regularly so damned complicated to use. Definitely one of those domains where a custom-built linux box is marvelous, good job!
Nico, great soldering job on the switches! BTW, you have not told us much about the functionality of the frame. Knowing you I assume it’ll do more than a slide show…
I’m an artist, what can I say
Slideshows is the the only functionality so far. I am ready for suggestions but keep in mind that it needs to be foolproof, automated and dead simple because of the targeted user-base.
OK, how about a feed so you can you can push some messages to your mother in law (happy bday…), or how about weather forecast info, or news…
Dude, this is way coolica,
Regis, see the list of possible features, it has grown, including weather, news, a postcard service through email, Flickr….
Hi there. Great job: congratulations.
I was trying to get the scripts yet the link http://alanhelton.no-ip.org:81/blog/?page_id=1099 is not working.
Any ideas’
Thanks!
Marco. I can’t really have any control on web sites I do not own…