
| Type | Flashlight |
|---|---|
| Authors | Holden Hunt |
| Years | 2015 |
| Made | Yes |
| Replicated | No |
| Cost | USD 4.39 |
Project goal: Create a cheap and customizable light for anyone to make and use. This is a much safer way to light dark areas then a gas lamp, which can start fires and releases harmful gasses. By making a small and easily portable light it can be used in developing countries as wells as developed countries. If a natural disaster causes the grid to go black or in an area where power is not consistent, a flash light helps light up a person's world.
LEDs (Light Emitting Diodes)- Depending on the specs for the LEDs that are being used. The forward voltage and the current rating are the most important numbers to pull from the spec sheets.
FW (forward voltage of LED) = (For this example the forward voltage will be 2 volts) FW = 2 volts
I_led (LED Current Rating) = (For this example the current will be.02 amps) I_led =.02 amps
V_source (Voltage source, otherwise known as a Battery) = (For this example the battery had a potential of 9 volts) V_source = 9 volts
The forward voltages of the LEDs add together when they are connected in series. This is important, because the configuration will determine what resistor or resistors to use to limit the current for the circuit. The example circuit has 3 LEDs in series, with an identical branch in parallel this does not matter for this part. Each LED has a forward voltage of 2 volts, so 6 volts will be dissipated across the LEDs, since they are in series. Using Kirchhoff's Voltage Law and algebra, the volt is solved by finding the remaining voltage drop after the LEDs. This is found from taking the 9 voltage source and subtracting the voltage drop across the LEDs, which yields a value of 3 volts that will be the potential (voltage) across the resistor. Using Ohms law, which is voltage equals current multiplied by resistance, this gives a value of 150 ohms for the example.
(Number of LEDs) * FW = V_drop (The voltage drop across the LEDs) 3 LEDs * 2 volts/LED = V_drop V_drop = 6 volts
KVL (Kirchhoff's Voltage Law) -> The Sum of all the voltages equals zero V_source = V_drop + V_Resistor 9 volts = 6 volts + V_Resistor V_Resistor = 3 volts
Ohm's Law -> V (Voltage) = I (Current) * R (Resistance) V_Resistor = I_led * Resistance 3 volts =.02 * Resistance Resistance = 150 ohm's
Soldering Iron Wire Stripers Solder Electrical Tape or Shrink Wrap Tubing Spare Wire 3D Printer Bread Board The Parts Listed in the BOM (Build Of Material)

If you do not have experience using bread boards for prototyping & trouble shooting, please watch some videos before attempting to construct the circuit.
The test circuit can be seen on the right hand side of the screen, red LEDs were used in the test.

If you do not have experience soldering, please watch some videos before attempting to construct the circuit. The same thing applies for wiring diagrams, if you do not have experience, please watch some videos before attempting to construct the circuit.
The circuit diagram can be seen on the right hand side of the screen.
The table below shows the material cost for a LED flash light.
The cost of a flash light that is already built costs $6.00 and up. That makes the savings of $1.73.
For under 5 dollars someone with little knowledge of circuits could build there own flash light from scratch. This design allows for anyone to print a flashlight with limited materials. A modified circuit could be created if more money needed to be cut from the budget of the builder (i.e. get rid of some of the LEDs and reduce the battery size).
There are three different parts that are listed below, each has its own module in the code. Call one part at a time in the code by commenting and un-commenting the function. Open SCAD was used to write the code.
FlashLightPopTop(); FlashLightTop(); FlashLightBot();
// Designed by Holden Hunt
rlc = 21; // radius of light case
ratio =.75; // between 1 & 0
shell = 2; // Thickness of housing
midshell = 2.8; // Thickness of LED holder
battH = 45; // Battery hight
batt = [17.2,26.2,battH]; // Battery dimentions
sub = 2; // adds to make rlc bigger
switchH = 7; // Switch hight
switch = [switchH,4,13]; // switch dimentions
module cut(){
translate([0, 0,((battH*1.5+shell)*(ratio))])
union(){
cylinder(h=((battH*1.5+shell)*(1-ratio)), r=rlc,$fn = 100);
translate([0, 0,(((battH*1.5+shell)*(1-ratio))/2)])
cube([(rlc*2+shell*1.5),shell*5,((battH*1.5+shell)*(1-ratio))],true);
rotate([0,0,60])
translate([0, 0,(((battH*1.5+shell)*(1-ratio))/2)])
cube([(rlc*2+shell*1.5),shell*5,((battH*1.5+shell)*(1-ratio))],true);
rotate([0,0,120])
translate([0, 0,(((battH*1.5+shell)*(1-ratio))/2)])
cube([(rlc*2+shell*1.5),shell*5,((battH*1.5+shell)*(1-ratio))],true);
}
}
module LED(){
union() {
cylinder(h=.35,r=(6/2),$fn = 25);
translate([0,(3.5/2),0])
cylinder(h=4,r=1.05,$fn = 25);
translate([0,-(3.5/2),0])
cylinder(h=4,r=1.05,$fn = 25);
}
}
module FlashLightTop(){
rotate([0,180,0])
translate([0,0, -(battH*1.5+midshell+shell+.1)])
union(){
difference() {
cylinder(h=midshell, r=rlc,$fn = 50);
translate([rlc*.65,0,-.1])
LED();
translate([-rlc*.65,0,-.1])
LED();
translate([rlc*.25,0,-.1])
LED();
translate([-rlc*.25,0,-.1])
LED();
translate([0,rlc*.65,-.1])
LED();
translate([0,-rlc*.65,-.1])
LED();
translate([0,rlc*.25,-.1])
LED();
translate([0,-rlc*.25,-.1])
LED();
translate([-rlc*.45,-rlc*.45,-.1])
LED();
translate([-rlc*.45,rlc*.45,-.1])
LED();
translate([rlc*.45,-rlc*.45,-.1])
LED();
translate([rlc*.45,rlc*.45,-.1])
LED();
}
difference() {
translate([0,0,midshell])
cylinder(h=(battH*1.5),r=(rlc-shell*1.5),$fn = 50);
rotate([-atan(((rlc-shell)*2)/(battH*1.5))+5,0,0])
translate([-(rlc-shell), -(rlc-shell)*3+shell,-shell/2.3-((rlc*rlc)/(battH*1.5))])
cube([(rlc-shell)*2,(rlc-shell)*2,sqrt((rlc-shell)*2*(rlc-shell)*2+(battH*1.5)*(battH*1.5))]);
translate([0,0,(battH/2)+shell])
cube(batt-[shell,shell,0],true);
translate(-batt/2)
translate([0,0,(battH)-shell])
cube(batt);
translate([0,0,shell-.1])
cylinder(h=battH/2.7,r=rlc-shell*2);
translate([-rlc,-rlc*2,midshell-.1])
cube([rlc*2,rlc*2,battH*1.5]);
rotate([0,180,0])
translate([0,0, -(battH*1.5+midshell+shell+.1)])
translate([rlc-shell-switchH/2-.5,0, battH*.93])
cube(switch,true);
}
}
}
FlashLightTop(); //comment out to print the other parts
module FlashLightPopTop(){
union(){
difference(){
translate([0, 0,((battH*1.5+shell)*(ratio))+((battH*1.5+shell)*(1-ratio))+midshell+1])
cylinder(h=midshell, r=rlc+sub*2,$fn = 100);
translate([0, 0,((battH*1.5+shell)*(ratio))+((battH*1.5+shell)*(1-ratio))+midshell])
cylinder(h=midshell+2, r=rlc-sub*1.5,$fn = 100);
}
difference() {
translate([0, 0,((battH*1.5+shell)*(ratio))])
cylinder(h=((battH*1.5+shell)*(1-ratio))+midshell+1, r=rlc+sub*2,$fn = 100);
translate([0, 0,((battH*1.5+shell)*(ratio))-.1])
union(){
cylinder(h=((battH*10+shell)*(1-ratio)), r=rlc*1.015,$fn = 100);
translate([0, 0,(((battH*1.6+shell)*(1-ratio))/2)])
cube([(rlc*2+shell*1.6),shell*5.5,((battH*10+shell)*(1-ratio))],true);
rotate([0,0,60])
translate([0, 0,(((battH*1.6+shell)*(1-ratio))/2)])
cube([(rlc*2+shell*1.6),shell*5.5,((battH*10+shell)*(1-ratio))],true);
rotate([0,0,120])
translate([0, 0,(((battH*1.6+shell)*(1-ratio))/2)])
cube([(rlc*2+shell*1.6),shell*5.5,((battH*10+shell)*(1-ratio))],true);
}
}
}
}
//FlashLightPopTop(); // uncomment to print the part
module FlashLightBot(){
union() {
difference() {
union() {
cylinder(h=((battH*1.5+shell)*(ratio)), r=rlc+sub*2,$fn = 100);
cut();
}
translate([0, 0, shell])
cylinder(h=battH*1.5+.1, r=(rlc-shell),$fn = 100);
translate([rlc-sub*1.5,0, battH*.93])
cube([switchH*4,4,13],true);
}
difference(){
translate([0,0,shell-.11])
cylinder(h=5,r=(rlc-shell-.001),$fn = 50);
rotate([0,180,0])
translate([0,0, -(battH*1.5+midshell+shell+.1)])
difference() {
translate([0,0,midshell])
cylinder(h=(battH*1.5),r=(rlc-shell),$fn = 50);
rotate([-atan(((rlc-shell)*2)/(battH*1.5))+5,0,0])
translate([-(rlc-shell), -(rlc-shell)*3+shell,-shell/2.3-((rlc*rlc)/(battH*1.5))])
cube([(rlc-shell)*2,(rlc-shell)*2,sqrt((rlc-shell)*2*(rlc-shell)*2+(battH*1.5)*(battH*1.5))]);
translate([0,0,34])
cube([2*rlc,2*rlc,3*rlc],true);
}
}
}
}
//FlashLightBot(); // uncomment to print the part
Hjhunt (talk) 17:10, 6 December 2015 (PST)
| License | CC-BY-SA-3.0 |
|---|---|
| Organizations | MTU, Michigan_Tech's_Open_Sustainability_Technology_Lab |
| Cite as | Hjhunt (2015–2024). "Flash Light". Appropedia. Retrieved October 1, 2026. |