
Idea
This project originated with erdavids work around generative space invaders. One day he showed me the project and it sparked the idea to bring his concept into a physical device.This became a joint project where erdavids focused on porting the code and I designed the enclosure and electronics.
Electronics
We used a trinket m0 from Adafruit for the microcontroller as we wanted to be able to code in Python. The display is made of NEOpixel strip also from adafruit and was chosen for the ability to address each LED individually as well as the 5v power requirement. We wanted to be able to use a USB cable to power the device. With that we had to run some calculations. The display is 7x7 resulting in 49 NeoPixels. From the NeoPixel spec sheet I found that each LED draws 20ma at full brightness. With each NeoPixel consisting of 3 LED for RBG the calculations for current needed were - (20ma*3)*49=2940ma or around 3A. This would be too much current to draw from a standard USB connection. We get around this by programmatically limiting the display to only select 2 out of the 3 colors available to random, using a max brightness of 50%, and using a max of approximately 80% of the leds. When testing the current after implementing the constraints it hovered around 500ma to about 600ma validating that we would be able to power it from a USB power supply.
Enclosure
The enclosure consists of a few 3d printed parts as well as some LCD backlight diffusion material, and an Aluminum plate. The LCD backlight diffusion material came from a monitor that ceased functioning correctly. This is what gives the display a nice glow to each pixel on the grid. There is a 3D printed grid behind the diffusion to separate and provide enough space between the LED and diffusion to evenly light each pixel. Heat is not a major concern with the current consumption limits we put in but I did choose to use a piece of scrap aluminum to adhere the LEDs to dissipate any heat and provide a solid structure. It is all held together by the assembly of the main frame and the electronics holder.
The Result
As this was a joint project only 2 of these devices were made one for erdavids and one for myself. I have mine setup and running at my desk and I find it to be an interesting source of creative thinking by envisioning what these pixel invaders could look like at a higher resolution. All in all I enjoyed the project development and continue to enjoy the art piece at my desk.
All of the code can be found at this link: https://github.com/erdavids/Generative-Space-Invader-Display
Check out more of erdavids work on his GitHub or on his youtube channel under TheBuffED.

Front when powered off

Backside with electronics
