Networked Low Resolution DMD Projectors

WiFi networked electro-mechanical 7x7 pixel flip-dot displays as giant DMDs (Digital Micromirror Devices) for low resolution projection

Similar projects worth following
4 WiFi networked LED Projectors using 7x7 pixel flip-dot displays from AlfaZeta, each powered by Processing sketches running on Raspberry Pi. Each is able to display generative and pre-loaded 1-bit video at between 10 and 20 frames per second.

The concept for this project was to create a design for a digital projector built around a 7x7 pixel flip-dot display from AlfaZeta. Their displays are available in a variety of dot colors including a silver foil, reflective enough to provide a fairly focused dot from an LED light source at least 20 feet away. From the beginning I wanted viewers to be able to see the flip-dot panel working and to attempt to build 4 identical networked projectors.

Because of the small size of the components, either an Arduino or Raspberry Pi seemed ideal small controllers and due to the requirement for wireless communication a Pi with a cheap USB WiFi radio seemed the best option.

The content would be limited to 1-bit color so would need to be either abstract patterns, scrolling text, and possibly dithered video. Because of my familiarity with programming in Processing and its recent release for Raspberry Pi, all development was done in Processing.

Low power components were selected to enable future battery operation, though only DC power supplies have been used thus far.

Arduino connections - general.pdf

AlfaZeta connection diagram for Arduino using a SparkFun RS485 board. Note: connection to Arduino RX pin should be TX

Adobe Portable Document Format - 1.78 MB - 02/22/2016 at 04:24



SketchUp Model of Acrylic Housing, machine screws, flip-dot panel, and Raspberry Pi (by others)

SSEYO Koan Play File - 5.54 MB - 02/22/2016 at 04:18



SketchUp Model of AlfaZeta 7x7 pixel flip-dot panel. Includes mounting positions and connecting pins for additional panels.

SSEYO Koan Play File - 177.55 kB - 02/22/2016 at 04:16


  • 4 × AlfaZeta FLIPSTER417x7 (silver) 7x7 pixel electro-mechanical flip-dot displays, black/silver dot color, RS485 controlled
  • 4 × LinkSprite RS485/GPIO Shield V3 for Raspberry Pi B/B+ and Raspberry Pi 2 RS485 Shield for the Raspberry Pi
  • 4 × Raspberry Pi Zero (Raspberry Pi 2 used for development)
  • 4 × Edimax EW-7811Un 150Mbps 11n Wi-Fi USB Adapter WiFi adapter for the Raspberry Pi
  • 4 × 1200 Lumen LED Flashlight

View all 13 components

  • BYOBeamer Event

    Michael Shaub05/01/2016 at 21:17 0 comments

    I had the opportunity to setup 2 of the projectors at an art event called BYOB(beamer) and join quite a few other artists showing active and interactive projected projects. The projectors I built received a lot of attention, being the only unconventional projectors and installed in an entry point where they were able to utilize a narrow corridor with quite a bit of ambient light.

    See below for some images and video from the event

  • Completed Projector Test

    Michael Shaub02/26/2016 at 05:00 0 comments

    With the addition of a second 12v DC to 5v DC adapter I was able to get enough power to both the LED and the Raspberry Pi.

    Here's a shaky video looking into the projector. The next step is to do some keystone correction on the projected image and then test networking between 2 or more of them

    And another shot through the back of the projector:

  • Assembly - Complete

    Michael Shaub02/25/2016 at 05:34 0 comments

    Here are a couple quick shots of the completed assembly, showing the projector attached to the cymbal stand.

  • Assembly - 3 More

    Michael Shaub02/25/2016 at 05:22 0 comments

    Once the first projector seemed to be working well, I gathered all the parts needed to assemble 3 more projectors. Here are all the components on half of my ping-pong table:

  • Assembly - LED Carriage

    Michael Shaub02/25/2016 at 05:16 0 comments

    With the Flashlight cut down and wired up to a USB cable, the LED carriage could be assembled. Unfortunately, my T-Bolt assembly didn't work that well here. I ended up gluing the nuts into position before assembly so they wouldn't fall out when I loosened things.

  • Assembly - Main

    Michael Shaub02/25/2016 at 05:12 0 comments

    After a lot of laser cutting, I test fit all of the outer case. The T-Bolt construction worked really well, as long as I was able to hold the nut in place.

  • Hacking the LEDs

    Michael Shaub02/25/2016 at 05:02 0 comments

    My test with 50 Watt LEDs purchased from Sure Electronics did not go well at all. Maybe the driver was under-powered or the LED was faulty. I looked for a plan B and found some decent options at the local hardware store. I picked up a 4 Million Candle Power searchlight (not LED), an LED work-light, and a 1200 Lumen LED Flashlight. Since the Flashlight worked really well reflecting off the flip-dot display using the adjustable focus, I decided to run with that.

    The flashlight came with 9 AA batteries, so I assumed the LED had a driver that ran off 12V DC. But, when I took the flashlight apart and hooked my multi-meter up to the battery pack, it read 5V. It must have been using 3 sets of 3 batteries in series, running in parallel.

  • Processing on the Pi - Networking

    Michael Shaub02/25/2016 at 04:48 0 comments

    Date: 2/20/2016

    With the sequences all animated and timers allowing them to run one after another and looping back to the beginning, the last step was to add the networking. When I was testing the programs, even on a single machine, I got a bunch of errors from incomplete messages. I ended up needing to put in catch statements throughout the "Client" sketch to deal with them. I attempted to save the previous successful frame to be used in place of any that had an error.

    Below is the "Client" sketch that works with the Combined 5 sketch. You'll need to adjust the IP address of your Server.

    Read more »

  • Processing on the Pi - Assembly

    Michael Shaub02/25/2016 at 04:28 0 comments

    Date: 2/20/2016

    The next step in Processing was to put the 3 animations together, with timers to run each for a certain amount of time and then automatically advance to the next. When I was assembling the code for the sequences, I also decided that a fourth sequence of a random dot pattern.

    Below is the combined code. This also includes the first attempt to write the pixel display to the networked displays:

    Read more »

  • Processing on the Pi – Scrolling Text

    Michael Shaub02/25/2016 at 04:18 0 comments

    Date: 2/19/2016

    Scrolling text looks great on even the lowest resolution displays. The persistence of vision effect is so strong that the words move by and I never notice the pixels. I remembered some really tiny pixelated typefaces including Silkscreen and thought I could easily get that working in Processing. I got the typeface loaded in Processing just fine, but when I scaled it down to just 5 pixels tall the text was very blurry.

    I wasn't sure how to fix that problem so I decided to just make some high-res images with text, scale them down, and display the images. It's not ideal, doesn't allow for any adjustment or customization, but worked just fine for the moment.

    Below is a video of text scrolling across the flip-dot display:

    Here's a video of the reflection off the display onto the ceiling:

    And, after an image of the text I used, the code for scrolling text:

    Read more »

View all 19 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates