Controlling an LED matrix with an Android phone

Even though everyone with a smart phone has a small, powerful computer in their pocket, we haven’t seen many applications of this portable processing power that use the built-in camera. [Michael] decided to change this and built an LED matrix that displays the data coming from the phone’s camera.

For the build, [Michael] used two 32×32 LED panels from Adafruit along with an IOIO and an Arduino. To build the Android app, [Michael] used the Android OpenCV computer vision library that grabs an image from the Android camera and downsamples it to 64×32 pixels. This data is transferred over a serial connection from the phone to the IOIO and again from the IOIO to the Arduino. Even though each frame is 1024 bytes, [Michael] still gets around four frames per second on his LED matrix display.

After the break you can check out the results of [Michael]‘s build. The video is a little choppy because of the frame rate issue, but it’s still an interesting build in the Android software development category.

Comments

  1. nootropic says:

    Small correction: it’s a 32×16 matrix, not two 32×32 matrices.

  2. rasz says:

    >still gets around four frames per second on his LED matrix

    you wrote it like its a good thing, only 4 rames?

  3. RicoElectrico says:

    Do only I think that OpenCV is some serious overkill there?

  4. nikescar says:

    Cool. This would be a lot of fun to play with. I need to start playing with Android development.

    These overkill comments are just pathetic. Why should someone write from scratch what a library can take care of? Everything about computing is overkill. Does my monitor need to display millions of colors to allow me to read your nonconstructive comment?

    • this project is epic, and nikescar’s comment sums it up. HAD Staff: Get disqus or something equiv already, so useless comments can be downvoted. Looking forward to a day when junior-high-school-peanut-gallery-zealot comments are history. Peace, love and hacks!

  5. ScottInNH says:

    nootropic – this is pretty cool. I remember watching the Adafruit show when she unveiled the panel at her shop, and all the viewer comments were about using it for video, getting VGA inputs, etc.

    People want LED-based displays accessible by mere mortals. IOIO and Arduino and Android gets it a step closer.

    2 questions:
    1) Why can’t the IOIO drive the LED panel directly? The Arduino seems to be the weak link here.

    2) This seems bandwidth limited. Perhaps ditching the Arduino would help here, but another angle: Have you considered simple compression, like RLE?

    • nootropic says:

      > 1) Why can’t the IOIO drive the LED panel directly? The Arduino seems to be the weak link here.

      Because the efficient inline assembly routines for driving the display are written for the Arduino. I didn’t want to rewrite something I didn’t need to.

      > 2) This seems bandwidth limited. Perhaps ditching the Arduino would help here, but another angle: Have you considered simple compression, like RLE?

      I don’t think the Arduino is the weak link. I think the ADB connection from the phone to the IOIO is the slow link. I didn’t try any compression.

  6. crazycoder says:

    I think, this is different and a better approach..it is related to extend phone display: http://extenderconcept.wikidot.com/

  7. Steven says:

    I love it; I got my frame to display a few photos, but I was wondering what kind of video projects people would make with it. My comment on Engadget got silently deleted. I guess because I said they were unnecessarily condescending and only interested in what products they can consume. Woopsies.

  8. Patrick says:

    Nice. We currently work on a project to stream a video via internet to a big RGB-LED matrix wall. Therefore, we tested some options whereas – as side “product” – a webservice to control the color of the light in our office has been developed.

    It’s just a funny side effect, but anyway – it can be visited under: http://lamp.ventoo.ch/

    Unfortunately, the blog post about the development is written in german – but anyway, for some it might be interesting: http://www.ventoo.ch/arduino-fun/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 96,764 other followers