Modular LED Light Panels

These are 3D printed frames that fit LED strip lights around the edges and white muslin cloth on the surface. They can be arranged into any pattern for a personalized wall art. These are a low-budget version of other LED light panels like Nanoleaf.

Downloads

STL files for 3D Printing

Modular LED Light PanelsThingiverse

 

Parts Required

 White Muslin Cloth - AMAZON

WS2812 Addressable LED Strip Light - AMAZON

5 Meters Ribbon Cable - AMAZON

Equipment

12V power supply - AMAZON

Glue gun - AMAZON

 

Gallery

Build Instructions

20181007_202957.jpg
20181002_171421.jpg
20181005_013939.jpg

Step 1

Print the frame.

Step 2

Cut a 40cm strip from the addressable LED strip.

Step 3

Solder ribbon cables to the ends of the LED strip.

Step 4

Fit the LED strip to the inside of the frame.

Step 5

Cut 110 x 110mm piece of white muslin cloth, fit with the outer frame.

Step 6

Using a hot glue gun, fit multiple modules together. Daisy chain the LED strips in series.

 

 

 

 

Electronics

 
sketcher.PNG
 

 

Code

#include <Adafruit_NeoPixel.h>
#define PIN 2
//Change the "120" for the number of LEDs
Adafruit_NeoPixel strip = Adafruit_NeoPixel(120, PIN, NEO_GRB + NEO_KHZ800); 
void setup() {
  strip.begin();
  strip.show(); // Initialize all pixels to 'off'
}
void loop() {
  colorWipe(strip.Color(255, 0, 0), 120); // Red
  colorWipe(strip.Color(0, 255, 0), 120); // Green
  colorWipe(strip.Color(0, 0, 255), 120); // Blue
}
// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint8_t wait) {
  for(uint16_t i=0; i<strip.numPixels(); i++) {
      strip.setPixelColor(i, c);
      strip.show();
      delay(wait);
  }
}
// Input a value 0 to 255 to get a color value.
// The colours are a transition r - g - b - back to r.
uint32_t Wheel(byte WheelPos) {
  if(WheelPos < 85) {
   return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
  } else if(WheelPos < 170) {
   WheelPos -= 85;
   return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  } else {
   WheelPos -= 170;
   return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  }
}