Custom LED flowing glitter lamp
I love glitter lamps, and this version is totally customisable, including for off-grid low voltage use.
You don't need a 3D printer to do this project, but it does give you more options. There are four scripts at the bottom of this description for making a test sizing-ring, the full base, the lamp mounting plate and the cable relief grip.
At this point in time I think that many commercial glitter lamps use calcium nitrate to increase the specific gravity of the liquid. It's taken a long time to work this out, and there were many failed experiments with other things like table salt, sugar, glycerine and many other more exotic chemicals.
If you enjoy these videos you can help support the channel with a dollar for coffee, cookies and random gadgets for disassembly at:- http://www.bigclive.com/coffee.htm
Here are the four scripts for making your customised components in openscad. To use them download the free software from https://openscad.org/ and copy and paste the desired script into the script window. Press the button with a cube and double arrow to see a quick build. When you have it how you like it, press the button with a cube and hourglass to render it, then the STL button to save your custom STL file.
Here's the script that makes a test sizing ring for your chosen bottle. You can adjust the diameter variable as required. Remember to leave the "=" and ";" on either side of the variable intact as they are part of the script.
//GU10 glitter test ring
diameter=70; //diameter of bottle
$fn=100;
difference(){
union(){
//main body
cylinder(h=3,d=diameter+3.2);
}
//hollow core
translate([0,0,-1])
cylinder(h=5,d=diameter);
}
Here's the script that makes the GU10 lamp base mounting plate. Just two variables - the thickness and the screw hole size. I recommend leaving them as they are.
//GU10 glitter GU10 base support
base=2; //base thickness
hole=3.5; //screw hole diameter
$fn=100;
difference(){
union(){
//main body
translate([-20,-20,0])
cube([40,40,base]);
}
//screw holes
translate([+15,+15,-1])
cylinder(h=10,d=hole);
translate([-15,-15,-1])
cylinder(h=10,d=hole);
translate([+15,-15,-1])
cylinder(h=10,d=hole);
translate([-15,+15,-1])
cylinder(h=10,d=hole);
//GU10 base screw holes
translate([-8.75,0,-1])
cylinder(h=10,d=hole);
translate([8.75,0,-1])
cylinder(h=10,d=hole);
//GU10 base wire holes
translate([-7,8,-1])
cylinder(h=5,d=6);
translate([7,-8,-1])
cylinder(h=5,d=6);
}
Here's the script for the cable grip plate. No variables to adjust.
//GU10 glitter cable grip
$fn=100;
difference(){
union(){
//cable grip strip
translate([-5,-15,0])
cube([10,30,2]);
}
//screw holes
translate([0,-10,-1])
cylinder(h=6,d=3.5);
translate([0,+10,-1])
cylinder(h=6,d=3.5);
}
Here's the biggie script that makes the whole base. The only variables you really need to change are the height (of the whole base) and the bottle diameter.
//GU10 glitter vial base
//MAIN ADJUSTABLE VARIABLES
height=15; //total height of tube
bottle=70; //glitter bottle diameter (60+)
//OPTIONAL VARIABLES
wall=1.6; //thickness of tube wall (1.6)
base=2; //base thickness (2)
pillar=7; //screw pillar diameter (7)
post=10; //screw pillar height (10)
screw=2.5; //screw hole diameter (2.5)
$fn=100; //circle resolution (facets) (100)
//DO NOT ADJUST ANYTHING BELOW HERE
halfbot=bottle/2;
difference(){
union(){
difference(){
union(){
//main body
cylinder(h=height,d=bottle+(wall*2));
}
//hollow core
translate([0,0,base])
cylinder(h=height,d=bottle);
//cable entrance
translate([-(halfbot-2),0,6+base])
rotate([0,270,0])
cylinder(h=5+wall,d=6);
}
// lamp pillars
translate([+15,+15,0])
cylinder(h=post+base,d=pillar);
translate([-15,-15,0])
cylinder(h=post+base,d=pillar);
translate([+15,-15,0])
cylinder(h=post+base,d=pillar);
translate([-15,+15,0])
cylinder(h=post+base,d=pillar);
//central support pillar
cylinder(h=post+base,d=pillar);
//cable grip pillars
translate([-25,-10,0])
cylinder(h=6+base,d=pillar);
translate([-25,+10,0])
cylinder(h=6+base,d=pillar);
//pillar tapers
translate([+15,+15,base])
cylinder(h=2,d1=pillar+2,d2=pillar);
translate([-15,-15,base])
cylinder(h=2,d1=pillar+2,d2=pillar);
translate([+15,-15,base])
cylinder(h=2,d1=pillar+2,d2=pillar);
translate([-15,+15,base])
cylinder(h=2,d1=pillar+2,d2=pillar);
//cable pillar tapers
translate([-25,-10,base])
cylinder(h=2,d1=pillar+2,d2=pillar);
translate([-25,+10,base])
cylinder(h=2,d1=pillar+2,d2=pillar);
//central support taper
translate([0,0,base])
cylinder(h=2,d1=pillar+2,d2=pillar);
//cable grip ledge
translate([-26.5,-7,base])
cube([3,14,4]);
}
//pillar screw holes
translate([+15,+15,base])
cylinder(h=post+1,d=screw);
translate([-15,-15,base])
cylinder(h=post+1,d=screw);
translate([+15,-15,base])
cylinder(h=post+1,d=screw);
translate([-15,+15,base])
cylinder(h=post+1,d=screw);
//cable grip screw holes
translate([-25,-10,base])
cylinder(h=7,d=screw);
translate([-25,+10,base])
cylinder(h=7,d=screw);
}