Repository assembly render of Reflector Lantern showing the LED ring, translucent tube, top reflector, and base.
Assembly render from the project repository, showing the lantern's modeled parts.

Overview Link to section: Overview

I designed a small printable lantern around a 24-LED RGBW (red, green, blue, and white) ring pointing up into a curved mirror.

The mirror redirects light around roughly 360°, from about 30° below to 50° above the horizon. The model is about 118 mm wide and 112 mm tall; the images show the repository’s assembly render and cross-section diagram.

Model and printing Link to section: Model and printing

Adjustable model and exports Link to section: Adjustable model and exports

I made the design parametric (adjustable through named dimensions and settings) in lantern.scad. Open it in OpenSCAD, a code-based 3D modeling program, using its Customizer settings panel or set part to export individual pieces.

The repository includes print-oriented STL exports (3D-printable mesh files) and raysim.py, a 2D mirror ray trace (a simulation of light paths) to rerun when changing the reflector geometry.

PLA and PETG are plastics commonly used in 3D printing. The parts use these settings:

  • Base: PLA or PETG, top face down, without supports.
  • Reflector: PLA, flange down, without supports, using 10–15% infill (the internal printed structure).
  • Diffuser: clear or natural PETG, either the 1.6 mm wall tube or the vase-mode version with about a 0.8 mm line width. Vase mode prints a continuous single-wall shell.

Measure the battery holders and adjust their dimensions in the model before printing.

Mirror finish options Link to section: Mirror finish options

The mirror finish starts with sanding the curved surface from 240 to 800 grit (abrasive grades, with higher numbers giving a finer finish). The README lists these finishing options:

  • Molotow Liquid Chrome over glossy black primer.
  • Aluminized mylar or chrome vinyl cut into gores (tapered sections that fit a curved surface).
  • Silver spray paint.

Electronics and assembly Link to section: Electronics and assembly

Parts list Link to section: Parts list

The parts list uses:

  • An Adafruit 24-pixel NeoPixel RGBW ring or a compatible 66 mm SK6812/WS2812 ring. NeoPixel is Adafruit’s name for individually controllable LEDs; SK6812 and WS2812 are addressable LED families. RGBW adds a separate white channel to the red, green, and blue channels.
  • An ESP32-C3 SuperMini (a small microcontroller board) running WLED (software for controlling LED lighting).
  • Two 18650 cells (cylindrical rechargeable batteries) wired in parallel, called 1S2P: one series group containing two parallel cells.
  • A USB-C charger with a 5 V boost converter, which raises voltage, rated for at least 2 A.
  • A 12 mm latching button, which stays in its selected state after being pressed.
  • A 300–470 Ω data resistor.
  • A 470–1000 µF capacitor across the LED supply.

Assembly sequence Link to section: Assembly sequence

  1. Flash WLED (install its software) over USB first.
  2. Fit and hot-glue the ring into its pocket, then feed the wires through the slot.
  3. Fit the button and wire the charger, controller, and holders.
  4. Tape the holders onto the lid and close it with four M3×10 self-tapping screws.
  5. Press the tube into the base groove and the reflector onto the tube; a dab of glue secures them.

An optional M4 eye bolt allows hanging.

Current and estimated runtime Link to section: Current and estimated runtime

The README gives:

  • Up to about 1.4 A at full white.
  • A recommended 1200 mA WLED current limit.
  • Roughly 6–10 hours of estimated runtime at a cozy brightness with two approximately 3000 mAh cells. Milliamp-hours (mAh) express battery charge capacity.

My Printed LED Sculptures use printed frames to position light along geometric shapes.