Supplies

Electronics:

  • 150x WS2812B addressable RGB LEDs
  • Custom transparent flexible PCB (designed in Altium)
  • Arduino Uno or compatible board (data pin to pin 9)
  • 5V power supply (2-3A minimum)

Tools & Software:

  • Altium Designer (or Altium Developer for online access)
  • JLCPCB (for PCB fabrication with SMT assembly)
  • Arduino IDE (with Adafruit_NeoPixel or FastLED library)
  • 3D printer (PLA filament for stand)

3D Printed Parts:

  • Stand (STL link below)

Design the Schematic & PCB

I started in Altium Designer by creating a straightforward schematic. The circuit consists of 150 WS2812B LEDs arranged in a 15x10 matrix. I connected the Data Output of one LED to the Data Input of the next, chaining them together, and tied all VCC pins together and all Ground pins together. I annotated the pixels from 1 to 150 to help with PCB layout.

PCB 3D Render.PNG

For the PCB layout, I measured a 20cm x 13cm outline. I used Altium's PCB arrangement tools to distribute the pixels evenly across the board. I gave access to the first and last pixel's data pins, VCC, and GND so I could control and power the matrix.

Important: I did not use a ground plane to keep the circuit transparent.

You can access the Altium design files online here: Altium Project Link

Order the Transparent PCB

For ordering, I moved over to JLCPCB. I uploaded the Gerber files, selected Flex material, set the substrate type to Transparent, and left the other parameters at default. I also selected the SMT assembly feature to have the matrix assembled by them.

Transparent Matrix.PNG


A few days later, I received the circuit very well produced and neatly assembled, with no residual assembly material. The PCB has a clean, transparent look—you can even see through to the copper traces.

Test the Matrix

Since I gave access to the first and last connected pixels, I could quickly test the matrix using my Arduino Uno board running a FastLED sketch. The LED matrix started displaying cool animations, and the pixels looked amazing in this transparent layout.

Quick test.PNG

Required Library: Install Adafruit_NeoPixel or FastLED library in Arduino IDE.

Mount the Matrix & Final Assembly

I designed a stand to stick the matrix to it and 3D printed it in PLA filament. Then I used a transparent flex frame to give the matrix more rigidity. I glued the frame to the matrix using super glue, and then glued the frame to the stand.

3D printed stand.PNG


I can power the circuit and control it from the access port I designed. The matrix runs smoothly, and this design concept could lead to more ideas it could stick to surfaces thanks to the circuit's flexible material.

Final result.JPG

Download STL for Stand: Stand.STL