Green Lantern Battery – Full-Size & Mini Versions
Print Profile(2)


Description
🔧 MillersCraft — Functional Prints for Makers, Crafters & Builders
Everything I design is built to actually get used — on the workbench, at the table, in the field. I focus on functional tools, organizers, props, and accessories that solve real problems and look good doing it.
I model in Fusion 360, print on Bambu Lab, and test everything before it is uploaded. All print profiles are dialed in — just slice and go.
👉 Follow my profile for new drops: makerworld.com/en/@millerscraft
Green Lantern Power Battery – Downloadable 3D Model
- Available in two versions: full-size and fun-size
- Fun-size model works great with a simple LED + coin battery for a glowing mini lantern
- Full-size model designed for DIY electronics integration
- Supports 18650 rechargeable battery
- Space for a power switch
- Designed to fit a NeoPixel x16 LED ring
- Compatible with a TP4056 charging module
- Includes ports for a 5V DC-DC power converter
- Powered by Adafruit Pro Trinket 5V microcontroller (electronics not included)
- Programmed NeoPixels flash in dynamic, randomized patterns for an authentic glowing effect
- Perfect for:
- Cosplay props
- Collectible display pieces
- Custom DIY electronics projects
- Delivered as STL files for 3D printing at home
For the coding of the Pro Trinket, here is the script.
#include <Adafruit_NeoPixel.h>
#define PIN 8
#define NUM_LEDS 16
Adafruit_NeoPixel ring(NUM_LEDS, PIN, NEO_GRBW + NEO_KHZ800);
bool twinkling[NUM_LEDS];
int twinkleBrightness[NUM_LEDS];
int twinkleDir[NUM_LEDS];
unsigned long lastUpdate[NUM_LEDS];
int fadeSpeed[NUM_LEDS];
const int BASE_BRIGHTNESS = 80;
const int PEAK_BRIGHTNESS = 255;
void setup() {
ring.begin();
ring.setBrightness(255);
randomSeed(analogRead(A0));
for (int i = 0; i < NUM_LEDS; i++) {
twinkling[i] = false;
twinkleBrightness[i] = BASE_BRIGHTNESS;
fadeSpeed[i] = random(10, 30);
lastUpdate[i] = millis();
}
updateRing();
}
void loop() {
unsigned long now = millis();
if (random(0, 100) < 5) {
int led = random(NUM_LEDS);
if (!twinkling[led]) {
twinkling[led] = true;
twinkleDir[led] = 1; // fade up
fadeSpeed[led] = random(5, 15);
}
}
for (int i = 0; i < NUM_LEDS; i++) {
if (twinkling[i] && (now - lastUpdate[i] >= fadeSpeed[i])) {
lastUpdate[i] = now;
twinkleBrightness[i] += twinkleDir[i] * 15;
if (twinkleBrightness[i] >= PEAK_BRIGHTNESS) {
twinkleBrightness[i] = PEAK_BRIGHTNESS;
twinkleDir[i] = -1;
}
else if (twinkleBrightness[i] <= BASE_BRIGHTNESS) {
twinkleBrightness[i] = BASE_BRIGHTNESS;
twinkling[i] = false;
}
}
}
updateRing();
}
void updateRing() {
for (int i = 0; i < NUM_LEDS; i++) {
ring.setPixelColor(i, 0, twinkleBrightness[i], 0, 0);
}
ring.show();
}
———————————————————————————
💬 Enjoying this model?
A like ❤️ and a make 📸 go a long way — they help other makers find the model and keep me designing. If something doesn't print right, drop a comment and I'll sort it out.
🖨️ Print Tips
All profiles are tested on Bambu Lab hardware. If you're on a different printer, standard settings apply — 2 walls, 15–20% infill unless the model notes say otherwise.
📦 More from MillersCraft
Organizers · Leatherworking Tools · LARP & Cosplay Props · Gridfinity · Lanterns · Coin Vaults
→ makerworld.com/en/@millerscraft
Thanks for printing. Make something great. 🔩
License
You shall not share, sub-license, sell, rent, host, transfer, or distribute in any way the digital or 3D printed versions of this object, nor any other derivative work of this object in its digital or physical format (including - but not limited to - remixes of this object, and hosting on other digital platforms). The objects may not be used without permission in any way whatsoever in which you charge money, or collect fees.






















Comment & Rating (18)