Freeform LED Sphere

83,837

774

139

Introduction: Freeform LED Sphere

About: Software developer during day, hardware maker at night.

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:

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:

  1. 8 LEDs
  2. 14 LEDs
  3. 18 LEDs
  4. 20 LEDs
  5. 24 LEDs
  6. 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.

Instagram, Twitter, YouTube

www.jiripraus.cz

Make it Glow Contest

First Prize in the
Make it Glow Contest

10 People Made This Project!

Recommendations

  • Science Fair Challenge

    Science Fair Challenge
  • Origami Speed Challenge

    Origami Speed Challenge
  • Trash to Treasure Contest

    Trash to Treasure Contest

139 Comments

0
newbee90
newbee90

Question 6 weeks ago

Is it possible to run it on a WEMOS D1 mini?

0
koolrcky
koolrcky

Question 2 months 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!

0
siebert1
siebert1

Question 1 year ago

Good day
Could you tell me what diameter you used for the rings.

0
ShriekingYak100
ShriekingYak100

Answer 11 months 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 :)

0
nibirmistry
nibirmistry

2 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.

0
jiripraus
jiripraus

Reply 2 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.

0
ShriekingYak100
ShriekingYak100

Reply 11 months ago

FDM works well, it allows for a clean print.

0
osoriojrj
osoriojrj

Reply 2 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.

0
honor9victor
honor9victor

Question 11 months ago on Step 2

кто скажет, куда подключать питание колец и провод данных в полусферах, я собрал эти шары но подключить питание не могу разобраться, плата присланная с Али не такая как в описании по сборке.

IMG_20210613_210324.jpgIMG_2021_06_14_15_21_40_8488193022881337922381.jpg
0
ValentinT20
ValentinT20

Question 11 months 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.

0
sergho
sergho

1 year ago

you are not normal
so many hours of work... from china 10 euro

0
goldfishrock
goldfishrock

Reply 1 year ago

Making it is all the fun. What's the point in buying a rip off cheap copy of Jiri's hard work?

0
saadland
saadland

Reply 1 year ago

lol, u got some links maybe?

0
handy.andy.buckley
handy.andy.buckley

1 year ago

If I ever make this I think I would solder it one ring at a time and then test to make sure each WS2812b was good rather then solder a whole hemisphere only to find some bad LEDs.

I think I'd also wire up the MCU externally using slightly thicker brass wire which I'd form into a stand (with a suitably sized 3d printed box to hold the electronics)

0
cloud112
cloud112

Reply 1 year ago

Having built my first hemisphere I can safely say you'd be mislead on that first point but I really like your brass stand idea.

0
jblakes34
jblakes34

Question 2 years ago

So I have the first two rows put together. 8 and 14 LEDs. I got the code loaded onto my Espressif ESP32. I think I have a horizontal rainbow pattern running. How do I get the other patterns to run? Thanks-jb

--Added 2/9 - I got the first half of the sphere (6 circles) put together with capacitors, which is 110 LEDs. It looks good except I'm still getting only the rainbow pattern. I then connected a strip containing 84 of the same LEDs to the half sphere's data output to simulate the second half of the sphere, hoping all the patterns would cycle, but I still get only the continuous rainbow pattern. Anyone know how I get all the patterns mentioned above to run?
I did order a DFRobot Firebeetle ESP32 board. I will try it later and see if it behaves any differently.

0
wilson3682
wilson3682

Answer 1 year ago

To make the code cycle the only thing you have to do is change false to true in this part of the code:
if (false && (startMillis == 0 || startMillis + 60000 < millis())) { // 60s
and lower 60000 to 10000 for 10 seconds to see it change more often.

0
jblakes34
jblakes34

Question 2 years ago

I got the first half of the sphere (6 circles) put together with capacitors, which is 110 LEDs. It looks good except I'm getting only the rainbow pattern. I then connected a strip containing 84 of the same LEDs to the half sphere's data output to simulate the second half of the sphere, hoping all the patterns would cycle, but I still get only the continuous rainbow pattern. Anyone know how I get all the patterns mentioned above to run?
I did order a DFRobot Firebeetle ESP32 board. I will try it later and see if it behaves any differently.

IMG_20200209_203707.jpgIMG_20200209_224652.jpg
0
osoriojrj
osoriojrj

Answer 2 years ago

I ran into the same thing when I built mine. I have not figured out how to cycle through each of the patterns... The only thing I found to do, so far, is o manually select the pattern I want and then upload it to the sphere. Very time consuming and inefficient.
By the way, could you upload a picture of how you wired the capacitors into your version. I only put one at the main power point and sometimes I get a white out when I turn on the sphere.