Introduction: Freeform LED Sphere
My Christmas project is done! Everybody is crazy about LED cubes. I wanted to create one myself, but I wanted to make it an even bigger challenge and since I am not limited by the use of circuit boards, I've decided to make an LED ball.
It took me 24 hours to solder and one long night to finish. But it was worth it. It's nice when lit and even nicer when not. Enjoy!
Step 1: Watch the Video!
Check out the full making of the LED sphere video. It will give you a clear overview of the whole process. Sure it does not contain the details but that would be too boring. The details are described on this very page below. Watch the video and go through the steps here.
Step 2: Gather All the Tools and Material
Tools:
- Narrow pliers
- Round-nose pliers
- Side cutters
- Soldering station
- Tweezers
- Bending machine haha, no just kidding. That would be a show stopper for everybody. You just need some round objects to be at the diameter of the rights - beer cans, spray cans...
- 3D printer
Material:
- 0.8mm brass wire (you can use copper or steel as well but they've got some disadvantages)
- Tin Solder
- Soldering Flux
Electronics components:
- ESP32 board with battery support - it has to fit the sphere! For example TTGO T8 or FireBeetle ESP32
- WS2812b RGB LEDs (200 pcs)
- 1000mAh LiPo battery
Step 3: Template Is the Key
It would not be possible to create such a complex shape without a proper template/jig/mold. I've designed mine to be 3D printed. The template consists of 4 pieces that are bound together by two rings - like a barrel. The 4 pieces are crucial here. If done in one piece, the final half-sphere would be stuck in. The template is designed for one half of the sphere. Don't worry you can reuse it for the second half as well.
The 4 pieces are 2 kinds because the sphere is not completely symmetrical. Print 2 of each STL files attached to get the complete template.
Step 4: Start With the Wire Rings
The sphere consists of 11 LED rings, each ring is formed of 2 wires in the form of a circle and some amount of LEDs. For the full sphere you will need 22 wire circles in total. It's not that simple, however. Each ring is of a different size. To make it easier for you, I've prepared a sheet of paper with a complete drawing of ring shapes for the one half-sphere. It's not completely accurate through.
Keep in mind the final shape of the sphere will mostly depend on how accurate your bending is in this stage. If the wire circle is not nicely round and even, the shape might be crooked at the end. I've used my wire bending machine for the perfect shapes.
Step 5: Placing LEDs
Place LEDs into the most bottom ring in the template. The first one consists of 8 LEDs. I've marked all the GND leads of the LEDs from the bottom with a black permanent pen to be able to recognize where the GND (VSS) pin is located. Place all LEDs in a such a way that the GND pin faces the inner ring, and VCC lead the outer ring. This is important! Each ring will be exactly like this! Inner wire ground, outer wire power. See the picture above. I've dipped each LED in the flux before I inserted it so it would hold in the slot better.
Insert the inner ring and solder all the GND pins to it. Insert the outer ring and solder all the VCC pins to it. VCC pins is located diagonally from the GND pin. Make sure the rings are not connecting any of the DATA (DIN and DOUT) leads of the LEDs.
Repeat until you have 6 rings:
- 8 LEDs
- 14 LEDs
- 18 LEDs
- 20 LEDs
- 24 LEDs
- 26 LEDs
Note that you only need one 6th ring for the whole sphere - it's the middle ring. So include it only in one of the two halves - the first one would be 5 rings, the second one would be 6 rings for example.
WS2812b LED
For those who are not familiar with this LED. This is an individually addressable RGB LED. Simply speaking you need only one wire to lit it with any color of a rainbow. In contrast to classic LEDs where you adjust the brightness of LED by the amount of current flowing, WS2812b is constantly powered and the light is controlled via digital signal. You tell it what color it should show. You might ask: So it only needs 3 leads rights? The 4th lead is used to feed the next LED in the chain with the control signal. Yes! That is the best feature. You can have a looong strip of these and still control all of them with just one wire. You simply feed the first LED in the chain with the instructions for the other LEDs and it will keep forwarding them. (Datasheet)
Step 6: Interconnecting Data Lines
Power lines are the wire rings, you already have that. Now you need to also connect the other 2 leads of the LEDs - DIN and DOUT. DIN is located next to the GND pin and DOUT next to the VCC pin. I've used 5mm long wires to do the job. This is also really important to do properly. Make sure the data wires are not touching either ground or power rings. Make sure not to solder the data pins to the power rings.
Do this one ring after another start with the most inner one. When you reach a point where you would interconnect the LED you started with with the lat one, it's time to jump to the upper ring. I've used C-shaped jumper wire to connect data pins of two subsequent rings. The C-shape is needed because you need to bypass the ground and power wires. Continue with the next rings until you have all the LEDs connected into a long snake. You should end up with only two leads not connected - one at the very top ring. That should be the master DIN for the whole half-sphere. And one DOUT pin at the very bottom.
Step 7: Connecting Power Lines and Starting Over Again
The last step in making of the one half-sphere is to interconnect the power lines between the rings. Not only to connect them but also to create a structure that will hold the rings together. I've used again C-shaped jumper wires to connect power and GND wires of adjoining rings. Use at least 4 jumpers at the first 3 smaller rings and 8 jumpers at the bigger ones. This amount will ensure the sphere will be strong enough.
Time to relax
Now it's time to take the half-sphere out of the mold! It's the most relaxing part after such long hours of soldering. First, take off the plastic rings that hold the 4 parts of the mold together. And start to firmly remove each part. Be very gentle here to not break any LED in the process!
Happy with the first half-sphere? Good! 🎉 Now start over and create the second half-sphere. Once again the half-sphere has a different number of rings. If you made the first one 6 rings, the second will be only 5 rings and vice versa.
Step 8: Testing the Half-Spheres Out
Do you have both half-sphere ready? It's now a good time to test them both before you assemble them into the sphere. I know it's tempting to finish it right away, but trust me you better test it.
First, do a simple test with a multimeter and check for shorts between power wire and ground wire. Then solder two short wires to each of the half-spheres ground and power wire. Connect power wires to 3.3V pin of the ESP32 board and ground to ground.
In the end, all LEDs are connected to one long chain. That means the half-spheres are also chained. Took the smaller one (5 rings) and connect its DIN to the pin IO21 of ESP32 board and its DOUT to the DIN of the second half-sphere. Now you are left with only one not connected LED pin - DOUT on the larger sphere. That is the last LED in the chain. Done? Power up the ESP32 board and upload the code from "The Code" section of this tutorial.
All LEDs are lit? Great! You are done. If not and chain is somewhere terminated, check for cold joints or shorts on that LED. Took me an hour to fix all the errors I've made. So don't be desperate! It's pretty hard built! And you made it so far!
Step 9: Inserting Microcontroller and Battery
Take the ESP32 board. By-pass the on/off switch first. You won't be able to access it because it will be inside the sphere. Desolder it from the board and solder two small copper wires in place of it. Leave them hanging, you will solder them when the microcontroller is placed into the sphere.
The board has 3 or 4 screw holes in its corners. We won't use screws, but rather fill the holes with solder to make them later easy to attach to the sphere structure - these will be ground!
Take the smaller half-sphere and place the microcontroller into the center of the smaller ring on the bottom with USB and battery connector facing out of the sphere through the smallest ring. Solder the corner holes to the smallest ring - it's ground, remember? Pull the two on/off switch wires through the hole as well and solder the previously desoldered switch on them. The switch has a metal body, use it to solder it to the smallest ring as well. Make sure not to short the switch wires with the structures! Don't let the power switch overhand the sphere structure - it won't roll.
Take a piece of straight wire and solder it to the 3.3V pin on the ESP32 board. Then solder the other end to the last ring of the sphere - it's power, remember? I've also reinforced the inner structure by soldering some straight wires between ground rings and board GND pins. Make sure to leave a space for a battery on the back of the board! Take a copper wire and connect master DIN pin to IO21 pin of ESP32. Now you have the half-sphere setup. Connect the battery and test it.
Does it still work? Good! You can now attach the battery with some adhesive to the back of the ESP32 board and connect it through the hole.
Step 10: The Final Soldering!
Test whether the screw holes on the ESP32 board are actually connected to the ground. I have to add a short wire between it and the nearest GND pin of the board - it will provide a ground connection for the second half-sphere.
Solder short wire to connect DOUT from the first half-sphere to the DIN of the second half-sphere (same thing you did in testing phase). Cut 2mm long wires and solder them to the topmost ring of the second half-sphere. I've used 8 of these wires. Both topmost rings are power, remember? So it's safe to solder those two topmost rings of each half-sphere together. Place the half-sphere on each other and solder them together. Make sure the space between the two half-spheres is nice and even. Finally, connect the ESP32 board screw-holes with the smallest ground ring wire by solder.
You got a sphere now! Touch it. Hold it. It feels really nice, doesn't it? Turn it on, does it work?
Step 11: The Code
Download the Arduino IDE source code. I am using Neopixel Bus library to control the LED "strip". It has a really nice interface and support for animations.
To be able to control the animations I've mapped the LEDs to table of 11 rows and 26 columns (array of arrays). This way I know exactly how the LEDs are placed on the sphere and can lit the exact LED I want.
I've prepared several animations so far:
- vertical circle
- horizontal circle
- vertical rainbow
- horizontal rainbow
- rainbow
- random pattern
Notice: I had to limit the brightness of the LEDs to approximately 20% of the full power. Because there is 194 of them and at full power they would consume 10 Amps. The small board cannot handle it. Don't worry if you use too much power the board starts to restart so it won't damage itself.
Step 12: That's All!
I hope you like it! It was quite a challenging job to make and very rewarding in the end. The LED sphere is very beautiful even when not lit. It will be a great addition to our Christmas tree!
Merry Christmas!
Don't forget to share your creations! Like this article. Also, consider supporting me on Patreon or by buying some of my products in my Tindie store.
I am Jiri Praus.

First Prize in the
Make it Glow Contest
144 Comments
Question 2 years ago on Step 6
Super nice project, original.
I would like to redo the templates and have the LED's rotated 45 degrees. This way you elimitate the risk of having the positive and negative power lines too close toghether, also the data in and data out for the WS2812 chips can be soldered directly.
What software did you use to create the templates?
If you can redo the templates with the chips turned at 45 degrees it would be faboulous.
Answer 5 weeks ago
Finally someone else with a brain.
5 weeks ago
If you designed this from scratch, why would you NOT can't the LEDs by 45degrees to facilitate super simple soldering of the power busses, and make the jumpering of the din & do lines so much simpler with all connections a huge amount less likely to short to any other. If the number of LEDs was sussed out properly you could probably even just bridge the din & do lines with a blob of solder, instead of a pile of tiny jumpers and tight clearance connections.
If I had the ability to design or modify the 3d print files I would do this myself, but alas, I can't.
I did succeed in making a few rings, but no way am I going to finish this thing. It's way to fussy, the solder connections are way way way to close to other ones. Just a nightmare. I tried skewing the rings to proof of concept my idea, but the LEDs didn't line up properly, so I free formed a ring without the led holder and I have to say that even that was easier than using the mold. All connections were easy and quick, it was just the spacing that got wonky.
8 months ago
Amigo le felicito por su trabajo hay que tener buena vista y una tonelada de paciencia para el trabajo. Los lee no deberían tener condensador en las líneas de alimentación porque a mí se me queman. Saludos cordiales
3 years ago
I absolutely LOVE this, now I just need to find a friend or someone who can understand how to make one for me.
I sadly never got into soldering and such, so I am afraid I would make a big mess.
Will you be making any for sale?
Reply 9 months ago
я сделал его, могу поделиться
Tip 1 year ago
Rings size attached in the PDF file (Internal dimension)
Question 1 year ago
Is it possible to run it on a WEMOS D1 mini?
Question 1 year ago
Hello Jiri! Amazing work and I love the look!
Is it possible to make a simple edit to Templates A and B to have the square led impressions rotated into diamonds so that the solders are more linear? Thank you!
Question 2 years ago
Good day
Could you tell me what diameter you used for the rings.
Answer 2 years ago
Sphere No. 1: 64mm
Sphere No. 2: 62mm
Sphere No. 3: 60mm
Sphere No. 4 (Outer): 58mm
Sphere No. 4 (Inner): 54mm
Sphere No. 6 (Outer): 50mm
Sphere No. 6 (Inner): 44mm
Sphere No. 8 (Outer): 39mm
Sphere No. 8 (Inner): 31mm
Small Sphere No. 1: 26mm
Small Sphere No. 2: 16mm
Hope this helps :)
3 years ago
This project is awesome, I want to create this one as hobby project. I need some advice about the templates which plays a major role in the entire development journey.
When I upload the STL files to any online 3D print service provider they are asking for what technology and material I preferred,
Technology: FDM, SLS, MJF, DMLS, CJP, PJP, MJP, SLA/DLP
Material: PLA, ABS, Nylon, PET-G, TPU
I have no idea on these so please advice.
Reply 3 years ago
Not sure about the technology. But choose the cheapest one. PLA is just fine. There is no stenght and visual requirements on the template. However it's vise to use 0.15 layers for extra details.
Reply 2 years ago
FDM works well, it allows for a clean print.
Reply 3 years ago
The Printer I used at home is an extrusion type printer (Anet A8). That falls under the category of FDM (Fused Deposition Modeling). Since there really is no stress placed on the print then PLA (Polylactic Acid) should work fine. It held up great for me.
Hope this helps.
Question 2 years ago on Step 2
кто скажет, куда подключать питание колец и провод данных в полусферах, я собрал эти шары но подключить питание не могу разобраться, плата присланная с Али не такая как в описании по сборке.
2 years ago
After you seal the 2 parts together, How do you charge the battery once it's flat? Does the ESP32 do it or do we need one of these's:
https://www.ebay.co.uk/itm/5-x-TP4056-Lithium-Charger-Module-with-Battery-Protection-Micro-USB-5V-1A/162950336165
2 years ago
you are not normal
so many hours of work... from china 10 euro
Reply 2 years ago
Making it is all the fun. What's the point in buying a rip off cheap copy of Jiri's hard work?
Reply 2 years ago
lol, u got some links maybe?