Yet Another Matrix
Introduction: Yet Another Matrix
Hey What's up folks, this is my tiny 8x8 Matrix that is made from 64 WS2812B LEDs that are in the 2020 package.
The Goal for making this matrix was to prepare a custom 8x8 matrix that I could use in small projects, the matrix available in the market uses Addressable LEDs of the 5050 package which would be too big for my application so I prepared my own by using smaller LEDs and a Custom PCB.
The size of this Mini Matrix is 28.6 x 26.4 mm which is crazy small.
This Instructables is gonna be about how I made this matrix from scratch and how we can program it to display all sorts of stuff on it, so let's get started!
Also you can get this display from tindie
https://www.tindie.com/products/maepa/2826-pixel-matrix/
Supplies
The following were the things used in this build-
* WS2812B 20202 LEDs x64
* Custom PCB
* Arduino Nano
* Stencil for solder paste process
* Solder Paste
* Breadboard and jumper wires
* CON3 Header pins x 2
* Library for running matrix- https://github.com/FastLED
Step 1: WS2812 2020 LED
We all know WS2812B Addressable LEDs that come in the 5050 Package but here's something small and better, WS2812B But in the 2020 package!
This LED is just 2mm x 2mm in size which is mind-blowing as now we can add it to any of our RGB projects and reduce its overall size.
However, because this is a tiny component, it can only be soldered via SMD Technics like using a Hotplate reflow with solder paste.
Technical Specs and other crucial details
* This LED consumes 12mA operating current per channel which means in total white light it consumes a max current of 32mA which is enough for a single pixel.
* The refresh rate of this LED is 30fps so yeah, practically speaking, we can make a huge monitor from it and run all sorts of things on it with average FPS.
* The data transfer protocol uses a single NZR communication mode
* Each pixel of the three primary colors can achieve 256 brightness display, completed 16777216 colors full-color display, and scan frequency is of 2KHz
Datasheet of This LED.
Step 2: PCB DESIGN
Step 1 of the PCB Design for making this tiny matrix was to prepare the schematic which consists of 64 LEDs connected in the usual WS2812 Layout.
All LED's VCC and GND are connected in Parallel and the Din of 1st pixel is connected to a CON3 Pin.
Dout of 1st pixel goes to Din of 2nd pixel, Dout of 2nd pixel goes to Din of 3rd pixel and this goes on and on up to 64th pixel.
the Schematic is attached.
Step 3: Serpentine Layout
Now here's something super important, the matrix layout that I'm using is the serpentine layout which is the general use layout, there also exist other layouts like back-and-forth which is also an option in the XY matrix example.
To set this layout, we need to specify the layout in the sketch by changing
const bool kMatrixSerpentineLayout = true; //to False
Step 4: LED PACKAGE
After figuring out the layout, I prepared the custom footprint for the RGB LED by following its footprint given in the datasheet.
I then exported the netlist and converted the schematic into a PCB Design.
(using OrCad here, this process might be different for your CAD Software)
Step 5: Printed Circuit Board
As for the layout, I knew the size of the LED so I carefully prepared a grid by placing each LED next to it with a minimum gap of 1mm and this gave me a board size of roughly 27mm x 27mm. (i did alter the size a little bit to 28mm x 26mm)
I used 0.3mm Tracks in this design with lots of via, I could prepare a 4 layer PCB for this version but I believe for such a simple led board, why use 4 layer PCB when you can use 2 layers one and get the same work done with it.
After completing the board, I exported its Gerber data and sent it to PCBWAY for samples.
Step 6: PCB ASSEMBLY
* Solder paste dispensing
* Pick and place
* Hotplate
* adding con 3 Pins
Step 7: SOLDER PASTE DISPENSING
Now the first step is to add solder paste to each components pad.
I usually use my good old solder paste dispensing syringe but for this project, I choose to get a stencil instead. 769