diff --git a/docs/assets/m-1-frame-center.webp b/docs/assets/m-1-frame-center.webp
new file mode 100644
index 0000000000..724d497637
Binary files /dev/null and b/docs/assets/m-1-frame-center.webp differ
diff --git a/docs/assets/m-1-frame-corner.webp b/docs/assets/m-1-frame-corner.webp
new file mode 100644
index 0000000000..47076e8155
Binary files /dev/null and b/docs/assets/m-1-frame-corner.webp differ
diff --git a/docs/assets/m-1-frame-end-1xn.webp b/docs/assets/m-1-frame-end-1xn.webp
new file mode 100644
index 0000000000..6ea0f8b2b3
Binary files /dev/null and b/docs/assets/m-1-frame-end-1xn.webp differ
diff --git a/docs/assets/m-1-frame-joiner-center.webp b/docs/assets/m-1-frame-joiner-center.webp
new file mode 100644
index 0000000000..0bb1e9aaf0
Binary files /dev/null and b/docs/assets/m-1-frame-joiner-center.webp differ
diff --git a/docs/assets/m-1-frame-joiner-side.webp b/docs/assets/m-1-frame-joiner-side.webp
new file mode 100644
index 0000000000..937ab0fb96
Binary files /dev/null and b/docs/assets/m-1-frame-joiner-side.webp differ
diff --git a/docs/assets/m-1-frame-layout-1x1.svg b/docs/assets/m-1-frame-layout-1x1.svg
new file mode 100644
index 0000000000..c509d5a05b
--- /dev/null
+++ b/docs/assets/m-1-frame-layout-1x1.svg
@@ -0,0 +1,8 @@
+
diff --git a/docs/assets/m-1-frame-layout-1x2.svg b/docs/assets/m-1-frame-layout-1x2.svg
new file mode 100644
index 0000000000..19535ea0e8
--- /dev/null
+++ b/docs/assets/m-1-frame-layout-1x2.svg
@@ -0,0 +1,16 @@
+
diff --git a/docs/assets/m-1-frame-layout-1x3.svg b/docs/assets/m-1-frame-layout-1x3.svg
new file mode 100644
index 0000000000..a740eb4446
--- /dev/null
+++ b/docs/assets/m-1-frame-layout-1x3.svg
@@ -0,0 +1,20 @@
+
diff --git a/docs/assets/m-1-frame-layout-1x4.svg b/docs/assets/m-1-frame-layout-1x4.svg
new file mode 100644
index 0000000000..181bc98a54
--- /dev/null
+++ b/docs/assets/m-1-frame-layout-1x4.svg
@@ -0,0 +1,24 @@
+
diff --git a/docs/assets/m-1-frame-layout-2x2.svg b/docs/assets/m-1-frame-layout-2x2.svg
new file mode 100644
index 0000000000..da6ea99213
--- /dev/null
+++ b/docs/assets/m-1-frame-layout-2x2.svg
@@ -0,0 +1,29 @@
+
diff --git a/docs/assets/m-1-frame-middle-1xn.webp b/docs/assets/m-1-frame-middle-1xn.webp
new file mode 100644
index 0000000000..249a34dc19
Binary files /dev/null and b/docs/assets/m-1-frame-middle-1xn.webp differ
diff --git a/docs/assets/m-1-frame-mounting-holes.webp b/docs/assets/m-1-frame-mounting-holes.webp
new file mode 100644
index 0000000000..9d819dbb03
Binary files /dev/null and b/docs/assets/m-1-frame-mounting-holes.webp differ
diff --git a/docs/assets/m-1-frame-side.webp b/docs/assets/m-1-frame-side.webp
new file mode 100644
index 0000000000..947620b81d
Binary files /dev/null and b/docs/assets/m-1-frame-side.webp differ
diff --git a/docs/assets/m-1-frame-single.webp b/docs/assets/m-1-frame-single.webp
new file mode 100644
index 0000000000..ee9cc9c5a0
Binary files /dev/null and b/docs/assets/m-1-frame-single.webp differ
diff --git a/docs/products/m1/setup/m1-wall-mounting.md b/docs/products/m1/setup/m1-wall-mounting.md
new file mode 100644
index 0000000000..df12d473fc
--- /dev/null
+++ b/docs/products/m1/setup/m1-wall-mounting.md
@@ -0,0 +1,124 @@
+---
+title: Wall Mounting your M-1 Panels
+description: >-
+ How to print the M-1 LED Matrix frames, screw your panels into them, and hang the finished panel on a wall.
+---
+# Wall Mounting your M-1 Panels
+
+The printed frames wrap the edges of a panel and screw into the mounting holes on its back. Every panel gets its own frame, and small joiners bridge the seams where panels meet, so a row or a grid ends up as one flat piece you can hang on a wall.
+
+Download the files from the M-1 LED Matrix Wall Panels model on Printables. Everything below comes from the **M-1 Individual STL Files** folder. (1)
+{ .annotate }
+
+1. The other folders hold the combined CAD source files and the older stand brackets.
+
+### Choose your Parts
+
+During testing all parts were printed out of PETG. PLA will likely also work fine!
+
+Which parts you need depends on your layout. Print one frame per panel, plus the joiners for each seam.
+
+| Part | Print | Used for |
+| --- | --- | --- |
+| { width="150" } | **Single** | a single panel on its own |
+| { width="150" } | **End 1xN** | the two ends of a 1x2, 1x3, or 1x4 row |
+| { width="150" } | **Middle 1xN** | the inner panels of a 1x3 or 1x4 row |
+| { width="150" } | **Corner** | all four panels of a 2x2 grid |
+| { width="150" } | **Joiner Side** | binding two frames together at a seam |
+| { width="150" } | **Joiner Center** | the middle of a 2x2 grid, where four panels meet |
+
+Two more parts, **Side** and **Center**, are in the same folder for grids larger than 2x2. Most people never print them. Four panels is the limit for a single M-1, so a bigger grid means more than one controller.
+
+###### Screws
+
+Make sure to use M3 8mm screws. These cheap ones off Amazon work great.
+
+!!! danger "Never use a screw longer than 12mm"
+
+ The panel sits directly against the frame posts, so there is very little room behind its mounting holes. Anything longer than 12mm reaches the back of the panel and damages it.
+
+### Assemble your Panels
+
+Work with the panels face down on a soft surface, LED side against a towel or the foam they shipped in. Set each frame over the back of its panel, line the frame posts up with the panel's mounting holes, and drive the screws in. Snug is enough. Overtightening strips a printed post.
+
+The orange dots in each diagram mark where a joiner goes.
+
+=== "1x1"
+
+ **You need:** 1x Single.
+
+ 
+
+ 1\. Lay the panel face down.
+
+ 2\. Set the Single frame over the back of the panel and line up the posts with its mounting holes.
+
+ 3\. Drive the M3 screws in.
+
+=== "1x2"
+
+ **You need:** 2x End 1xN, 2x Joiner Side.
+
+ 
+
+ 1\. Lay both panels face down, side by side, in the order you plan to chain them.
+
+ 2\. Set an End 1xN frame over each panel with its open edge facing the seam, then screw each frame down.
+
+ 3\. Bridge the seam with a Joiner Side at each end, screwed into both panels.
+
+=== "1x3"
+
+ **You need:** 2x End 1xN, 1x Middle 1xN, 4x Joiner Side.
+
+ 
+
+ 1\. Lay all three panels face down in a row.
+
+ 2\. Set an End 1xN frame on each outside panel with its open edge facing in, and the Middle 1xN frame on the panel between them. Screw each frame down.
+
+ 3\. Bridge each of the two seams with a Joiner Side at each end.
+
+=== "1x4"
+
+ **You need:** 2x End 1xN, 2x Middle 1xN, 6x Joiner Side.
+
+ 
+
+ 1\. Lay all four panels face down in a row.
+
+ 2\. Set an End 1xN frame on each outside panel with its open edge facing in, and a Middle 1xN frame on each of the two inner panels. Screw each frame down.
+
+ 3\. Bridge each of the three seams with a Joiner Side at each end.
+
+=== "2x2"
+
+ **You need:** 4x Corner, 4x Joiner Side, 1x Joiner Center.
+
+ 
+
+ 1\. Lay the four panels face down in a square. **Rotate the bottom two panels 180 degrees.** The ribbon cables are short, and turning the bottom row around puts its ports next to the top row's ports so the cables reach.
+
+ 2\. Set a Corner frame on each panel, turned so its two open edges face the middle of the grid, then screw each frame down.
+
+ 3\. Fit the Joiner Center where all four panels meet and screw it into all four.
+
+ 4\. Finish each of the four seams with a Joiner Side at its outside end.
+
+### Wiring your Panels
+
+Leave the wiring until the frames are together, then do it before anything goes on the wall. It's much easier with the panels flat on a table.
+
+The Multiple Panels guide covers the ribbon cables, the power modules, and the WLED settings that turn a row or a grid into one display.
+
+[Head to the Multiple Panels guide](/products/m1/setup/m1-multiple-panels/){ .md-button .md-button--primary }
+
+### Hang your Panels
+
+The printed parts have a mounting hole at each corner. Push a thumb tack through the holes along the outside edge of your finished panel and into the wall. A small nail or a picture hook works the same way.
+
+!!! success "Getting it straight is worth an extra minute"
+
+ Stick a strip of masking tape across the wall where the panel goes, level the tape with a spirit level or the level app on your phone, then mark where each tack lands and push the tacks through the tape. Peel the tape away once the panel is hanging.
+
+
diff --git a/mkdocs.yml b/mkdocs.yml
index b3f097739d..bb871e469e 100755
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -434,6 +434,7 @@ nav:
- Multiple Panels: products/m1/setup/m1-multiple-panels.md
- Segments: products/m1/setup/m1-segments.md
- Additional Info:
+ - Wall Mounting your Panels: products/m1/setup/m1-wall-mounting.md
- Use Without Wi-Fi: products/m1/setup/use-without-wifi.md
- General Tips: products/m1/setup/m1-general-tips.md
- Examples: