Freeform LED Sphere

46,019

479

106

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!

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

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

3 People Made This Project!

Recommendations

  • Trash to Treasure Contest

    Trash to Treasure Contest
  • Raspberry Pi Contest 2020

    Raspberry Pi Contest 2020
  • Wearables Contest

    Wearables Contest

106 Discussions

0
jblakes34
jblakes34

Question 14 days 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 11 days 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.

0
jblakes34
jblakes34

Reply 11 days ago

This shows the placement of the capacitors. They are 1206, so not too small to use. How do you manually select the different patterns to upload? Where are they? I don't know much about the code itself. Thanks for the info.

IMG_20200209_202125.jpg
0
osoriojrj
osoriojrj

Reply 10 days ago

Great soldering job, everything looks clean. The capacitors are small, must have taken you quite some time to get them all in place. I will have to give it a try the next time. As for your question on Patterns (Animations). I am going to assume you had downloaded the Arduino Source Code from the Instructable.
Open Arduino and then load the Neosphere Sketch. Scroll down until you see several animations listed. All of them except for one will have their lines begin with a double slash ( // ). The line without the slashes is the one running when you upload the sketch.
To change animations simply place a double slash at the beginning of the line without them and delete the double slash from one of the others. This will change the animation being loaded.
I do not know how to get them to cycle... I am also a bit green at this. Let me know how this turns out and by all means, ask if you have more questions.

0
osoriojrj
osoriojrj

Reply 10 days ago

By the way... Here is a screen shot of the Arduino file and the active animation highlighted.

Arduino Neosphere Sketch.png
0
jblakes34
jblakes34

Reply 10 days ago

Cool. I got that to work. Thanks for the help. Now I need to learn more about the code and get it to do one pattern for a while, then move to another one, etc, and to make my own patterns.

0
osoriojrj
osoriojrj

Reply 10 days ago

Glad to have helped. If you figure out how to get it to cycle through the animations let me know.

0
jwilson65
jwilson65

15 days 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?

0
zkus
zkus

6 weeks ago

Nice, I will have to build one of these, or something similar. One thing to note though is that I believe the ws2812 datasheet suggests having a small capacitor and resister with next to every led (for reliability/longevity)? There are little single led pcb versions that you can get that have those already, though I’d imagine that’d kill the pretty bronze aesthetic you got going here

0
jiripraus
jiripraus

Reply 6 weeks ago

Yes, you are totally right. In later upgrade, I've added small caps on the back of the LEDs to improve stability. A resistor is only needed at the beginning of the chain of LEDs. I didn't do that right away because it would prolong the initial release :)

0
tjop92
tjop92

Reply 27 days ago

Would you be able to show how you did this?
Could you also show what capacitors you purchased for this?
I am a n00b at all of this and don't understand all of this without guidance. :)

0
jblakes34
jblakes34

Reply 4 weeks ago

Hey jiripraus, could you elaborate on the capacitors and resistors? Show or describe the components and how you installed them?
Thanks
jb

0
jiripraus
jiripraus

Reply 21 days ago

Hi, sure. 100nF capacitor is nice to have for every LED. I was lazy but I can see it has some effects. With higher loads (higher brightness) it starts to flicker and be unstable. A resistor is not needed. However you can use 300 ohm one on the signal line before the first LED.

0
zkus
zkus

Reply 26 days ago

Looking at the datasheet, it looks like they suggest a capacitor of around 0.1 μF between each led. The point of the caps is help level out any spikes in voltage (or current?), which can degrade the lifespan of the part (I believe turning on or connect the battery will cause a spike, along with more random jitters)

You can get tiny caps from AliExpress, but be warned the “smd” (surface mount device) style are bloody tiny, and would be a feat to solder on. If this is your first go at soldering this stuff you might want to skip those. The longevity might not be worth the effort.

The resistors job is to limit the amount of current the less draw (without it they will suck up as much as they can, again limiting its lifespan and the batteries). I believe they suggest putting a 330 ohm resistor between the arduino datapin and the start of the led chain (don’t need one for every pixel)

0
jblakes34
jblakes34

Reply 23 days ago

So like this? It ain't very pretty from this view, but it'll work I think.

ring1.jpg
0
cecadajohn
cecadajohn

19 days ago

I start to build,
It would be easier to connect the LEDs by turning them to 45 degree, maybe your next project

0
nibirmistry
nibirmistry

5 weeks 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 21 days 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
osoriojrj
osoriojrj

Reply 27 days 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.