A linux distro for making digital picture frames


I've thought digital picture frames were a nice idea for a while, but have not yet bought one. The early generation were vastly overpriced, and the current cheaper generation still typically only offer 640x480 resolution. I spend a lot to produce quality, high-res photography, and while even a megapixel frame would be showing only a small part of my available resolution, 1/4 megapixel is just ridiculous.

I've written before that I think a great product would either be flat panels that come with or can use a module to provide 802.11 and a simple protocol for remote computers to display stuff on them. Or I have wished for a simple and cheap internet appliance that would feature 802.11 and a VGA output to do the job. 1280x1024 flat panels now sell for under $150, and it would not take much in the way of added electronics to turn them into an 802.11 or even USB-stick/flashcard based digital photo frame with 4 times the resolution of the similarly priced dedicated frames.

One answer many people have tried is to convert an old laptop to a digital photo frame. 800x600 laptops are dirt cheap, and in fact I have some that are too slow to use for much else. 1024x768 laptops can also be had for very low prices on ebay, especially if you will take a "broken" one that's not broken when it comes to being a frame -- for example if it's missing the hard disk, or the screen hinges (but not the screen) are broken. A web search will find you several tutorials on converting a laptop.

To make it really easy, what would be great is a ready to go small linux distribution aimed at this purpose. Insert a CD or flash card with the distribution on it and be ready to go as a picture frame.

Ideally, this distro would be set to run without a hard disk. You don't want to spin the hard disk since that makes noise and generates heat. Some laptops won't boot from USB or flash, so you might need a working hard drive to get booted, but ideally you would unmount it and spin it down after booting.

Having a flash drive is possible with just about all laptops, because PCMCIA compact flash adapters can be had for under $10. Laptops with USB can use cheaply available thumb-drives. PCMCIA USB adapters are also about $10, but beware that really old laptops won't take the newer-generation "cardbus" models.

While some people like to put pictures into the frame using a flash card or stick, and this can be useful, I think the ideal way to do it is to use 802.11. And this is for the grandmother market. One of the interesting early digital picture frames had a phone plug on it. The frame would dial out by modem to download new pictures that you uploaded to the vendor's site. The result was that grandma could see new pictures on a regular basis without doing anything. The downside was this meant an annoying monthly fee to cover the modem costs.

But today 802.11 is getting very common. Indeed, even if grandma is completely internet-phobic, there's probably a neighbour's 802.11 visible in her house, and what neighbour would not be willing to give permission for a function such as this. Then the box can be programmed to download and display photos from any typical photo web site, and family members can quickly upload or email photos to that web site.

Of course if there is no 802.11 then flash is the way to do it. USB sticks are ideal as they are cheap and easy to insert and remove, even for the computer-phobic. I doubt you really want to just stick a card out of a camera, people want to prepare their slideshows. (In particular, you want to pre-scale the images down to screen size for quick display and to get many more in the memory.) 800x600 pictures are in fact so small -- 50kb can be enough -- that you could even build the frame with no flash, just an all-ram linux that loads from flash, CD or spun-down hard drive, and keeps a 100 photos in spare ram, and sucks down new ones over the network as needed. This mode eliminates the need for worrying about drivers for flash or USB. The linux would run in frame-buffer mode, there would be no X server needed.

The key factor is that the gift giver prepares the box and mounts it on the wall, plugged in. After that the recipient need do nothing but look at it, while new photos arrive from time to time. While remote controls are nice (and can be done on the many laptops that feature infrared sensors) the zero-user-interface (ZUI) approach does wonders with certain markets.

Update: I've noticed that adapters for Laptop mini-IDE to compact flash are under $10. So you can take any laptop that's missing a drive and insert a flash card as the drive, with no worries about whether you can boot from a removable device. You might still want an external flash card slot if it's not going to be wifi, but you can get a silent computer easily and cheaply this way. (Flash disk is slower than HDD to read by has no seek time.)

Even for the builder the task could be very simple.

  • Unscrew or break the hinges to fold the screen against the bottom of the laptop (with possible spacer for heat)
  • Install, if needed, 802.11 card, USB card or flash slot and flash -- or flash IDE.
  • Install linux distro onto hard disk, CD or flash
  • Configure by listing web URL where new photo information will be found, plus URL for parameters such as speed of slideshow, fade modes etc.
  • Configure 802.11 parameters
  • Put it in a deep picture frame
  • Set bios to auto turn-on after power failure if possible
  • Mount on wall or table and plug in.


I've seen this discussed before, but you've thought it through well; I agree that a specialized distro would be a good idea. (I'm finding this to be a more and more common solution to problems...earlier this evening, I unsuccessfully looked for a good MythTV frontend LiveCD that seamlessly supports wireless PCMCIA cards well. No such animal that I can find. [KnoppMyth -- no joy] That's another opportunity).

And the "adapters for Laptop mini-IDE to compact flash are under $10" throwaway comment was GREAT! I tracked that down on Ebay, and will be buying one of those for sure. I've got a couple of machines that might work great with. Thanks again, Brad.

Since CF cards are so cheap now -- $20 or so, especially with rebates, replacing the old (often noisy) drives in laptops with CF seems a good idea for many applications, not just for a digital photo frame. Old laptops are often found in people's houses for near-free, and with damn-small linux or even old Win98 they can run just fine on an old CF card for a silent, low-power extra computer for slides, web browsing etc. I just got one myself and will convert an old laptop (I can keep the old HD if I want the old personality back.)

Old laptops only have PCMCIA (not Cardbus) which makes it a little harder to pick up cheap cards for them, but they can be found. If they have USB you're golden.

Would it be possible to put up simple instructions for creating one of these frames? I will be new to linux and such, but it is a great idea and i want to give it a try.

So it's not as important, but effectively you would find a small linux suitable for an old laptop, such as Damn Small Linux or one of its compatriots. You would install it on the flash card, and then get a graphics/slideshow program -- ideally one that runs on the console frame buffer, not on an X server as that takes memory and complexity. Then set up that slideshow to run from a slide directory, and fill that with slides. Then set things up in your /etc/rc.local or other boot script to run the show on boot.

Next, I would put in a script that runs frequently from the cron to rsync the slideshow directory from a master source if you have networking on the laptop, and then you can update the master directory and the slideshow will change.

Or write a script to suck down an RSS feed with pictures, such as a flickr feed, and have it run from the cron every so often.

Got a 1024X768 screen + psu off Ebay, woot. Got a 500Mhz MiniITX board. Thunderbirds are go.

hello, i just need a simple answer for my question..i have a digital photoframe and i want to install linux in it..it has a sd slot and a usb slot, has a D-pad, Enter and Previous keys.. so my main aim is to read pdf and other office files on the dpf but the OS it runs can only read jpg, bmp , jpeg formats..any way to completely wipe the os it has and install linux.. this idea was completely mine.. Is it possible? anyone willing to help me with the project?

Add new comment