This is one of my favourite ambient projects. Converting traditional tungsten fairy light strings into LED ones that run directly from wall power, but with the whole string using less power than just one of the original tungsten lamps.
You can mix and match just about any LED you can find into the set and it is 100% serviceable and future proof. If you have the facilities to do so, you can also 3D print caps for the LEDs in various styles.
This project does involve mains power, and is only recommended for those experienced in that area. With the two resistors per leg the shock risk is actually much lower than the original set and definitely lower than the rogue imported sets.
The intensity is deliberately low, making these excellent for ambient decoration and night light use. The running cost is virtually nothing, even when left on 24/7, and the LEDs are running at such low current they will last a very long time.
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
This also keeps the channel independent of YouTube's algorithm quirks, allowing it to be a bit more dangerous and naughty.
Here's the script for the simple power supply tube. This can be made in flame resilient plastic if you can actually afford it. I made mine out of generic PLA.
//PSU cup
$fn=50; //(cylinder facets)
difference(){
union(){
//main body
cylinder(h=40,d=11.6);
}
//inner hollow
translate([0,0,1])
cylinder(h=40,d=10);
}
The custom lamp cap script is below. Copy and paste the whole thing to OpenSCAD.
The default settings below are for low voltage LED strings. Adjust the diameters and sizes to suit your holders.
//Globe fairy light cap generator - bigclivedotcom
//Generates an LED cap based on a top and bottom
//diameter with connecting sides.
//Suggested default values are in brackets.
//ADJUST THESE VARIABLES FOR GLOBE SHAPE AND SIZE
top=6; //Diameter of globe at top (6)
bottom=20; //Diameter of globe at base (20)
height=40; //length of lamp (40)
facets=12; //Number of facets around lamp (12 at first)
//More facets equals MUCH longer processing time!
//ADJUST THESE VARIABLES FOR BASE DIMENSIONS
baselen=4; //Length of base outside globe (4)
inside=5.5; //Internal diameter of base (5.5)
led=5; //LED HOLE diameter (5)
//Don't touch variables below this line
$fn=facets;
toprad=top/2;
botrad=bottom/2;
outside=inside+2;
base=baselen+5;
difference(){
union(){
difference(){
union(){
//Outside shell of globe
hull() {
//base of globe
sphere(r=botrad);
//top of globe
translate([0,0,height-toprad-botrad])
sphere(r=toprad);
}
}
//Inside hollow of globe
hull() {
//base of globe
sphere(r=botrad-1);
//top of globe
translate([0,0,height-toprad-botrad])
sphere(r=toprad-1);
}
}
//LED base cylinder
translate([0,0,0-botrad-(base-5)])
cylinder(h=base,d1=outside,d2=outside,$fn=100);
//LED base dome
translate([0,0,0-botrad+5])
cylinder(h=(outside-led)/2,d1=outside,d2=led+1,$fn=100);
}
//LED base interior
translate([0,0,0-botrad-(base-5)-.01])
cylinder(h=base+.02,d1=inside,d2=inside,$fn=100);
//LED dome interior
translate([0,0,0-botrad+5])
cylinder(h=(outside-led)/2-1,d1=inside,d2=led,$fn=100);
//LED hole
translate([0,0,0-botrad+5])
cylinder(h=10,d1=led,d2=led,$fn=100);
//x-ray cube
//translate([-50,-50,-40])
//cube([100,50,100]);
}