Introduction: 3D Printed Glowing Orb

About: Hi! I'm a graduate student in computer science at UC Berkeley and in a prior life I was a mechanical engineer. Thus, the logical conclusion for my research is digital fabrication (building stuff with computers…

For this project I designed and built a "glowing orb" button that incorporates twisted rings of LEDs. The goal was something that appeared to be a simple print but performed something unexpected.

I've been exploring how to add electronics to 3D prints; so this project fit well when the creator of the PipeDreams tool asked me to build a demo. Basically the PipeDreams tool, which has been incorporated into Meshmixer, allows you to add tubes from one point to another on the surface of meshes. The cool part about the tool is the tubes avoid each other so you can route lots of points in 3D spaces to a single cluster without intersections. You can read more about the PipeDreams project at her website.

This project uses a Solidworks designed part, then Autodesk Meshmixer to add the tubes. My lab's Ultimaker was misbehaving so we printed the object on a Stratsys uPrint and manually added the electronics post print. Overall, some printer and software issues got in the way of the intended print but I'm happy with the results.

Step 1: Design Part

I designed my part in Solidworks and had the intention of creating an orb with a bunch of LEDs in a twisting pattern and this proved a formidable task. You can see the part history with the Solidworks files I've attached that I start with a cylinder, then build a single ring of LEDs, then use the curve pattern operation to twist them up the part.

From there I cut and shaped the part into an orb. Note that I originally intended the design to have LEDs hidden behind a 1 mm layer of plastic but a constraint in Meshmixer forces the tubes to be cut from two exterior points. If you're using the tubes tool, keep this in consideration.

Also, you can design some tubes in your CAD tool if you're going to add electronics mid-print. It requires a lot more foreknowledge, a (hobbyist) quality FDM machine, and patience to sit and babysit the print.

Considering our Ultimaker was down at the time, my hands we tied to use a Stratasys uPrint with dissolvable support. (oh the pain of excessive 3D printers!) However, this meant that everything had to be added post print. So I did away with the exterior skin, internal wiring, and integrated capacitive button and instead sliced it into two parts where the capacitive foil would go.

Step 2: MeshMix Your Part

Full disclosure: I was asked by the creator of the tubes tool to build something. I can see a criticism of this project that the same effect could be achieved if you just wire up a rats nest inside a hollow part. That said, adding tubes was genuinely helpful in two cases that I observed:

  1. Simple routing from point A to point B. This just an annoying task in any CAD tool. Often you're making planes and splines and curves. The tubes tool just takes care of it, and avoids other tubes.
  2. Routing tubes when parts get complex. Regarding the thought to make a hollow part, I organized the tubes into concentric rings so that I could easily identify the wiring. For very large or complex parts, this tool could be quite helpful.

Ok so here's how I used Meshmixer:

  1. Import my .stl file and edit > transform moved the part to the build plane (not required).
  2. I like to view my parts in a transparent mesh. From the shaders menu, drag the top-right transparent color over the part and then press the w key for wireframe. (you can always toggle wireframe with w).
  3. I wanted the tubes organized in concentric circles from top to bottom. So that's what we're shooting for.
  4. To add a tube, edit > add tube. This brings up a tube menu, the documentation will do a better job of explaining how everything relates. But most importantly, set the two top drop-downs to autoroute smooth and boolean.
  5. Drag the two ends of the tube to where you want it to pierce the outside of the mesh. You can see a few screenshots where the tube was correctly placed at the end of the LED hole, and a few where I selected a point on the mesh that incorrectly placed the tube.
  6. Adjust the shape of tube so that it's a smooth as possible with length scale slider.
  7. Then change the radius slider to something like 2.25 mm, this leaves about the right room for two wires to fit inside.
  8. Press the accept button and you've added your first tube! If something isn't right ctrl-z (or cmd-z) is your friend. Also, don't worry about the blue lines for now.
  9. Okay now repeat for all 15 LEDs :-)

Finally, I worked from top to bottom rings with the holes spaced in concentric circles. There are images from each stage of adding tubes. I attached my final meshmixer file. Then I used analysis > inspector to locate those small blue lines and repaired them by clicking on the circles. Then I exported the .stl, which is also attached.

Step 3: Print the Part

Now that you have the .stl with the tubes added, print the part on your desired printer. I used a Stratasys uPrint with dissolvable support material. I actually suggest a printer that allows no support material because cleaning out support material from these prints with tubes added is a long process.

Our lab has the lye bath with the dissolvable support and it took about 12 hours of soaking in the lye followed by a few hours in water. Then, I learned the hard way about "watertight" meshes; a bunch of water got caught in the print! It proceeded to drip and drain for another few hours.

Ok so now we have a physical part.

Step 4: Wire the LEDs

Now comes the part where we utilize the tubes.


  • Red and Black 22 AWG wire. I used solid core but stranded would be fine.
  • Fifteen (15) Green LEDs. I used the standard through-hole, 3 mm size.
  • Perfboard, breadboard, or extra wire for wiring to Arduino
  • Three (3) 100 Ohm LEDs (use the resistance to tune the LED brightness)
  • Arduino Uno


  • Standard wiring tools such as side-cutters and wire-strippers.
  • Soldering station
  • Cordless drill for braiding the wire


  1. Take a section of each wire and twist it with the cordless drill. About 6" length each (the goal was about 3" of wire hanging out the bottom. So for the lower rings, I used less wire)
  2. Feed the twisted wire from the bottom hole up to the LED hole. The wire may get stuck at the top but whenever that happened, needlenose pliers were helpful to pull it through.
  3. Cut the leads from the LED. Remember the long lead on an LED must be attach to positive (red) wire. Leave about a 1/4" on the LED.
  4. Tin and solder the wires at the top, then solder the LED to the wires.
  5. Pull the wire back form the bottom until the LED is seated in the hole.
  6. Repeat 15 times! :-)

Unfortunately I didn't take any pictures of the soldering. I got in the soldering zone. You should end up with a big nest of wires but this is okay because they're organized by ring, top, middle, and bottom. This will be helpful when connecting the LEDs.

Step 5: Attach the Wiring to Arduino

Basically with the Arduino the goal was to oscillate between three LED pins to create an undulating or breathing pattern. That said, use your preferred method of wiring, either straight soldering, breadboarding, or perfboarding. Either way, here's the basic process:

  1. Wire all your black wires to a ground lead and connect to the ground pin on the Arduino. I used an Arduino Uno and used the PWM pins for digital write.
  2. Wire the inner set of red wires together, then add a 100 Ohm resistor (you can adjust this for brightness) and connect to Pin 11. This wiring produces LEDs tied in parallel to reach maximum brightness but be careful of using a resistor that's too small, which will draw too much current from the Arduino pin.
  3. Repeat for the middle ring of LEDs to pin 10
  4. Repeat for the outer ring of LEDs to pin 9
  5. Load the Ardunio script! The one I attached is a paired down version from some other projects but simply loops through the three pins with a slight delay.

Again, I don't have pictures of this step, my friend Valkyrie helped with the wiring. Admittedly, it's a total pain. Embedding the wires in the print is a clear next step.

Technically at this point you're finished! You could drop a dab of hot glue in each of the holes for robustness and in the next step I built a box to hide the wiring.

Step 6: Build a Box to Hide Your Wiring!

I have access to a laser cutter so I cut a small box from 1/8" birch plywood and sat the Orb on top. I think the whole project comes out well polished with this box to hide the wiring.

Here's my Illustrator file.

Hope you enjoy the tubes tool!