I wanted to assemble four of those 64x64mm RGB matrix panels. However, my 3D printer is limited to about 250x205mm, and the panels are 256x256mm.
It required a little creativity, but I devised a single print of about 249x136mm such that by printing two and flipping one of them over, it becomes a bracket that can hold the four panels together.
I have a feeling that the injection molded bodies of these panels may change from time to time, potentially moving the screw & post positions. My 4 panels were purchased around February 2025.
I developed the part in OpenSCAD, Free (GPL) 3D modeling software available on Linux, Mac, & Windows. To create a 3D printable STL file, open the SCAD file, press F5 to "render" it to triangles, and then F7 to export to STL.
OW = 249;
OH = OW;
pin_dx = 41;
pin_dy = 55;
screw_dy = 45;
screw_dx = 56;
aperture = 128 - 24;
overlap = 11;
gap=.4;
$fn = 16;
module quad(dx, dy) {
translate([+dx, +dy]) children();
translate([-dx, +dy]) children();
translate([-dx, -dy]) children();
translate([+dx, -dy]) children();
}
module holes() {
color("red") quad(screw_dx, screw_dy) circle(d=3.2);
color("blue") quad(pin_dx, pin_dy) circle(d=3.5);
square(aperture, center=true);
}
module body() {
linear_extrude(height=3, center=true, convexity=12)
difference() {
square([OW, OH], center=true);
quad(64, 64) holes();
};
}
module cutter() {
rotate([90,0,0])
linear_extrude(height=OW+4, center=true)
polygon([
[-overlap, -6],
[OW/2+1, -6],
[OW/2+1, +6],
[+overlap+gap, +6],
[+overlap+gap, +0],
[-overlap, +0],
]);
}
module final() {
intersection () {
body();
color("orange") cutter();
}
}
final();
%rotate([0,180,0]) render() final();
OpenSCAD is a programming language and it let me quickly create the patterns of holes for the screws & alignment posts, then replicate these features, and finally perform a CSG "intersection" operation to cut the object in half to fit on the print bed.
If you want a thicker bracket you can change the "height=3" argument in the linear_extrude call in module body.
I printed in natural PLA with a layer height of 0.3mm ("draft quality") on a Prusa i3 mk3s.
Once you've printed two pieces, you're ready to assemble. You'll need a bunch of M3 screws (16, 4 per panel).
Lay the panels out on your work surface, noting the orientation of the arrows. If you're using a "serpentine" arrangment then you want the "top row" of arrows to point right, and the "bottom row" of arrows to point left, like so:
[Driver] → [Panel 1] → [Panel 2]
↓
[Panel 4] ← [Panel 3]
If you're using an "Active 3" board or similar with more than one 16-pin connector, then you want two rows both pointing right:
[Driver] → [Panel 1.1] → [Panel 1.2]
↘
[Panel 2.1] → [Panel 2.2]
Now, across the left two panels, lay the first 3D print with the print bed side down. Add screws along the left 4 holes.
Across the right two panels, lay the second 3D print with the print bed side UP. Add screws along the right 4 holes.
Slide the two pairs of panels together, aligning the remaining screw holes. Add screws in the 8 holes in the overlap area.
You're done! Or at any rate, you're ready to plug in your cable's data and power connections.
This page (3D printed Bracket for 4 64x64 2mm RGB matrix panels) was last updated on March 11, 2025.