roostertech

coding and day dreaming

Monthly Archives: December 2011

Android Based Picture Frame

Update: with the release of ChromeCast, I’m going to switch to making it a ChromeCast app

We were going through some vacation pictures last night and thought that we need a picture frame to display them. There are a lot of picture frame on the market but most suffer from couple of problems:

  1. Size: they are tiny. An 8-10″ picture frame works fine on your desk, but if you want something big enough to be a wall decoration that wont do.  Larger size picture frame are ridiculously expensive.
  2. Sync: most picture frame require you to load your pics into some storage. This is cumbersome so most people will have the same picture showing in their frame for years.
  3. Power: most picture frame are either on or off. There is no point for the frame to be displaying while no one is around.

The idea is to build a digital picture frame using an old android phone (with HDMI output) as the brain. So here is I imagine the set up would be like:

  1. Android phone is connected to any screen of choice using HDMI output (solve the size issue)
  2. User select picture source: Picasa album, Flickr stream. This way the picture management can be done on other computer and the frame can be mounted more freely (solve the sync issue)
  3. The phone will use built in camera to detect motion in the room and would turn off the frame after certain timeout. It could also use the light sensor to adjust lighting level (solve power issue)

What I need to figure out:

  1. How to control HDMI output on android
  2. Motion sensing code. This will require a lot of tuning
  3. API for various imaging sources
  4. And of course some UI design (I’m terribly bad at this)

 

Update:

Ran into couple of problems

  • Android need to have camera preview running before you can take picture. This does not work well with the idea of using camera in background service for motion detection.
  • The hardware on hand do VGA and DLNA but not straight HDMI. I can probably go with VGA output to start out and look for HDMI capable device later.

The picture preview problem is pretty much a hard block. I’m consider alternative strategy like using a Rasbbery Pi as the main CPU instead of android phone. This of course would mean more coding from scratch. An old laptop would work too but this would have a much higher power requirement and fairly cumbersome.

Hello world !