Making a DIY circular LED matrix
Introduction
A few months ago we - the puppet team (TM) - joined the fablab neukƶlln art makerthon. We had 48 hours to make something that should fit in a specified round frame and that we could showcase afterwards.

The frame we were given
flo-bit is a sucker for anything made with controllable RGB LEDs and he can be very convincing when heās passionate (and what could possibly worth more passion than individually controllable RGB LEDs?).
So we basically just put a bunch of LEDs into that frame and made a round display.
Here are a few of the cool effects it can show, curtesy of WLED.
This blog post is both the story of how we made it, as well as a how-to guide if you wanna make your own.
We did initially plan to have this work together with a camera and be a āpixel artā mirror and while we did get this kinda working for the demo, for the how-to weāll concentrate on how to make the LED frame with just the effects above (so without the mirror functionality), as the mirror part is honestly very hacky and doesnāt even look that good imo.
Requirements
If you plan to try your hand at making one, you need two things apart from the materials:
-
A solder iron (some experience with soldering might be useful, but this is also a good learning project, we donāt really know how to solder either, we just do it and sometimes it works š)
-
A laser cutter that has a cutting area of at least 40cm x 24cm, if you donāt have one, check your nearest makerspace
Bill of Materials
For the materials you need: (without the mirror functionality, for that youād also need a raspberry 3b or above with wifi and a camera).
(links are to the german amazon, those are not referrer links, just where we bought stuff)
- 7 meters of WS2812b with 60 leds per meter in total 420 (noice) LEDs (amazon)
- 1 esp32 (we used a D1 mini with usb c) (amazon)
- some small wires
- usb cable (depending on the esp32 you use either usb-c or micro-usb) and plug (or a powerbank if you want to make it mobile)
- 3 plates of 40cm x 24cm plywood (we used 3mm thickness but it doesnāt really matter)
- 4 cardboards (40cm x 24cm, preferably 3mm thickness)
- a white cloth thats at least 46cm x 46cm (we used an old bed cover)
- glue
Total cost
35 ⬠- 40 ā¬
The main cost are the LED strips, we bought them from amazon for 15 ⬠for 5 meters (so 7 meters are ~21 ā¬). There are cheaper options available on something like aliexpress though.
An esp32 costs about 7 ⬠(again less on aliexpress) and the wood we used was about 8 ⬠for the 3 plates.
Everything else we had at home, but should be pretty cheap anyway (less than 5 ā¬, if you donāt add a powerbank).
Step 1: Making the frame
First we created the backframe, by lasercutting 2 of the plywood plates. Here are the files both for LightBurn and as SVGs:
Note that there are 2 layers, the first should be cut, the second is just for marking the LED strip positions (so use low power for that one).
The rings for the front were given to us already laser cut, but here are the files for anyone following along at home (from this fablab github repo). Use the last plywood plate to cut out the ring segments.
Use some wood glue or just duct tape to glue the parts together and you should have two rings and one big circle with markings on one side for the LEDs (you might be able to guess wether we used wood glue or duct tapeā¦)

The backside of the base plate.
Step 2: Adding the walls
The walls are also lasercut but out of cardboard (would have taken way to long to cut them out of wood and we were in a hurry, you can cut them out of plywood too, but in the end they wont be visible anyway). We just used random packaging cardboard we had laying around.
Afterwards you can lay them on your base board (good luck figuring out which go where, we donāt have a good tip here, we struggled with that too š) and start putting them together, we tried that without glue first, but after everything fell apart twice we went for some glue.

The cardboard grid.
Step 3: Cutting the LED strips
Now for the first of three steps where you have to pay attention not to fuck it up: Cutting the LED strips into segments in with the correct amount of LEDs for each segment.
When cutting also make sure LED strips are cut exactly in the middle of a connection (so you have enough place to solder on both parts).
In total you need:
- 2x 8 LEDs segments
- 2x 12 LEDs segments
- 2x 14 LEDs segments
- 2x 16 LEDs segments
- 2x 18 LEDs segments
- 4x 20 LEDs segments
- 6x 22 LEDs segments
- 3x 24 LEDs segments
You can also directly lay them on the board (donāt glue them yet though) to make sure you have the correct count, they should fit perfectly in the little markings on the plate (lengthwise, they are less wide than the markings)
Step 4: Glueing the LED strips
the LED strips have to be laid out in a serpentine arrangement with the correct count.
there are little arrows on the LED strips that show you the direction there are going, those should alternate go left to right then right to left.
Step 5: Soldering the LED strips together
Again pay lots of attention here, you can accidentially fry your LED strips if you make a mistake here (weāve of course never fried any LED strip cough, cough, thankfully the LED strips are usually sold as 5 meter strips so you have some leftover)
On each LED strip connection, solder together the 5V, ground and data connection like so:
In the end you should have something like this:

Professionally soldered I would say
Step 6: Flashing the ESP
Take your esp32 and connect it to your computer (be sure to use a cable that has a data connection) and open this website:
Click on install, select your usb port, confirm and wait a few minutes until itās installed.
Once itās done youāll be asked to enter your Wifi credentials, do that and then click āOpen WLEDā. You should see a screen like this:

Main WLED screen.
Step 7: Setup the grid
Click āConfigā in the top bar to open the settings page, there click on ā2D configurationā:

WLED settings screen.
Check serpentine and enter the dimensions as 24 by 23 LEDs.

WLED matrix screen.
Scroll all the way down and upload this gaps.json file:

Select gaps.json file and click upload
Optionally go back to the main page and select a different effect (e.g. rainbow).
Step 8: Soldering the connection onto the ESP
Last soldering part: solder VCC, ground and GPIO4 to the beginning of the first LED strip (GPIO4 goes to data, VCC to 5V and ground to ground, optionally you can use the 3 pin connectors that are usually part of the LED strips).

We did actually end up using the 3 pin connectors here.
Step 9: Putting everything together
Ok, weāre almost done, lets put everything together:

Put the grid on top of the base plate, aligning it with the LEDs.

Optional step: We duct taped the esp32 to the backā¦

Put the first ring on top of the gridā¦

⦠and duct tape it to the back

Flip the whole thing around and lay it on top of your fabric.

and more duct tape: Tape the fabric to the backside as well.

Who cares what the backside looks likeā¦

Flip it around again and glue the second frame on top of the fabric.
We somehow forgot to take a picture of that last step, but weāre basically done, so it should look something like this:

So beautiful⦠This actually shows the āmirrorā functionality too, pictured are flo-bit and polijn