Early Experiments with 3D Printed Light Pipes

One of the problems with my F0 synth was its power indicator LED. It was so bright, you basically couldn’t look at it straight on without being blinded!

Ow, my eyes!

(Ow, my eyes!)

There are a couple solutions to an overly bright LED, the obvious being to limit its supplied voltage, but another idea is to use a light pipe: a component that redirects light from one place to another.

Additionally and importantly, it can act as a sort of lampshade, diffusing a concentrated bright bulb over a larger surface area.

But what are the ideal dimensions for something like that?

Making the light pipe model

Model cross section

My light pipe test model is essentially a cube with a hole in the bottom, except:

  • The hole is an exact negative of the LED, including its domed top and base lip. The fidelity ensures maximum contact between the light source and the diffusion medium
  • I left out any tolerance or “wiggle room” that you’d normally add/remove to address natural inaccuracies from the filament extrusion process. It’s an intentionally snug fit.
  • An inner chamfer on the LED cutout slopes out at the bottom to make initial component insertion easier and forgives something called “elephant foot,” where the bottom layers of a 3D print flare outwards due to the weight of the print on the printer’s heated bed.

The LED I’m using is a clear 5mm RGB LED, always positioned at the bottom of the cube, regardless of the cube’s height.


Spanning the gamut

The LED measured 5mm wide by 8.7mm tall and each test model is a perfect cube with equal height/width/length, so it’s important to note that the top and side of each cube don’t have the same distance from the LED.

Cube width/length/height Ceiling depth from LED Side wall depth from LED


For easier testing, I let each cube touch its neighbor(s). This probably has some effect on light dispersion, but it’s got to be nominal.

Print settings

Most 3D prints aren’t completely solid but instead have a kind of honeycomb internal pattern, called an infill, to increase print time and minimize waste.

However, initial fit tests at the default 20% infill cast visible (albeit interesting!) inner shadows on the print’s walls. Solidifying infill to 100% removed those shadows and made distribution more even.

Here’s 20% infill on the left and 100% on the right:

20% infill vs 100%

The filament I’m using is 3D Solutech’s Natural Clear PLA, chosen for Amazon Prime availability and it being made in the US.

Final result

Hard to resist making a little sequencer with a 555 timer and 4017 decade counter:

Gamut lit as sequence

All together now:

Lit gamut

And final detail shots, adjusted for brightness:

Lit angle

Lit top


None of the cubes had perfectly even lighting. The third (13.7mm) through fifth (17.7) presented the fairest compromises.

Other circumstance-specific observations and takeaways:

  • Topside LED diffusion starts to get even at a top depth around 7mm but develops a kind of radial gradient around 11mm.
    • An even top needs a 7-11mm ceiling. Ceilings deeper than that result in reduced and increasingly unevenly distributed light
  • The LED doesn’t push much sideways light from its base, as evidenced by the dark blotches at the bottom of each cube across the series
    • The LED could be brought out a couple millimeters if this part of the pipe must be well lit
  • There isn’t much diagonal light either, as evidenced in the darkened top side corners from the third cube (13.7mm) model and onward
  • Those darkened top side corners start to creep down on the 17.7 cube and onward
    • If the light pipe is anything but a cylinder, its width/length shouldn’t extend farther than 17.7, especially if it needs to be tall

Further reading abounds, as do other variables I could tweak in future tests:

  • Filament / printer
  • LED selection
  • Fit / tolerance
  • Infill vs wall thicknesses
  • Finishing, sanding, or other finishing processes

But, for now, I feel like I know enough to be dangerous.

(Dangerous with light pipes!)