Tactical LED Flashlight/Weapon Light – Design Thoughts

by tkhareendran in Circuits > Microcontrollers

360 Views, 2 Favorites, 0 Comments

Tactical LED Flashlight/Weapon Light – Design Thoughts

FC3VLTWKU782NX7.jpeg
8--Breadboard Test 2.jpg

A tactical flash light is a low-light target identification aid, usually used in conjunction with a firearm to simultaneously aim a weapon and illuminate the target. Tactical flash lights also serve a role as a method of non-lethal force, used to temporarily blind and disorient targets (https://en.wikipedia.org/wiki/Tactical_light). 

 

Do you need a tactical flashlight for self-defence? Even if your no is loud and clear, you should know and practice how to design and build a tactical flashlight from scratch. I hope the design idea below helps you make your own tactical flash light(s).

Design Description (Hardware)

1--Tactical LED Flashlight Sch v1.png

First off, keep your expectations low because this is not a fully-fledged tactical flashlight project (but you will certainly get an outline of its skeletal frame). Well, let me start with the simple schematic of my universal tactical flashlight driver/controller (v1).

 

Digispark Attiny85 Microcontroller

2--Digispark Schematic_tk.jpg

As clearly depicted in this schematic, the key hardware employed here is nothing but a Digispark Attiny85 microcontroller development board which hardly needs an explanation nowadays. Below you can see a retouched version of its official schematic once publicized by Digistump.

LED & Potentiometer

3--Potentiometer Action.jpg

Nonetheless, the hardware setup is exceedingly simple so you can rig it up within a couple of minutes. The P1 I/O of Digispark (U1) is configured as an output pin to drive LED or incandescent lamp(s) through a N-channel logic-level power mosfet IRL520N (Q1). The next I/O is wired to the wiper of a 10K potentiometer (P1). This standard potentiometer lets you switch and control the light source (LED/Bulb) in a convenient way as clearly defined below.

Power Supply

A rechargeable battery pack is highly recommended as the dc power source of this circuit, and one 2S Li-ion or LiPo battery pack (7.4V nominal) would be the good pick. However, your design may need to take into account that you'd have to use the right power source, considering the actual operating voltage (and current) rating of the LED/Bulb proposed to be used as the light source in your prototype. Luckily, the Digispark board has an onboard 5V fixed voltage regulator chip (78M05), and hence you can safely input a dc voltage in 7.4 – 14.8V range through its VIN  pin header (the onboard voltage regulator might work anywhere from about 7V to 35V, though at 35V it would overheat the regulator chip very quickly). Quick reference http://digistump.com/wiki/start

The slide switch (S1) is the master power on/off switch of the tactile flashlight. I think it would be really useful in a real world tactile flashlight model. Keep in mind, a good quality power switch with proper voltage and current handling capacity is essential here. Don’t go for cheapo choices.

Design Description (Software)

This is the Arduino-style sketch (code) for the universal tactical flashlight controller (v1).

 

[code]

/*

 * Tactical Flashlight LED/Bulb Controller v1

 * Key Hardware: Digispark Attiny85 Development Board

 * Arduino IDE: 1.8.13 (Windows 10 x64)

 * Author: T.K.Hareendran (Adapted Code)

 */

 

int driveLamp = 1; // Lamp Drive O/P = P1

int val = 0;

int onTime = 0;

int offTime = 0;

 

void setup() {

pinMode(driveLamp, OUTPUT); //P1 as O/P

}

 

void loop() {

val = analogRead(1); // Potentiometer I/P = P2

onTime = val;

offTime = (-2000000 / (onTime + 1000)) + 2000;

onTime = onTime / 4;

offTime = offTime / 4;

if (onTime > 12) {

digitalWrite(driveLamp, HIGH); }

delay(onTime);

if (onTime < 250){

digitalWrite(driveLamp, LOW); }

delay(offTime);

}

[/code]


The code is pretty clean and moderately straight forward. Basically, it’s simply coded to turn the lamp drive pin (P1) on and off with delays in between set by the travel of the potentiometer which’s directly linked to the A1 (P2) analog input (estimated analog read between 0 and 1000). Obviously, the time delay is tweaked in a clever way (by the original coder) to get much better strobes.

 

Potentiometer’s roles:

  • Tactical: Constant light for detection/illumination of the target
  • Strobe: For distinction of the target outline in smoke or fog environment and/or to blind/ disorientate the target (~ 2Hz to 25Hz strobe)


Expansion Hints

4--Warm White 10W LED.jpeg

Overall, the universal tactical flash light controller is able to drive most LEDs and low voltage incandescent lamps. Remember, after connecting a lamp (together with its optical parts), you may have to employ additional electronics demanded by the light source (and/or the battery pack) chose for your particular design/application.

Further Thoughts

5--Tactical LED Flashlight Sch v1-crop.png

Moreover, while picking the light source, remember that the lowest lumens rating for a tactical flashlight hovers around 100 lumens (300 to 600 lumens advocated). Just for reference, a 300 lumen tactical flashlight can reach as far as 500 feet. See, LEDs are about 4 times more efficient at producing light than traditional incandescent bulbs. So, this 4:1 ratio may be used as a rough guide to select the right light source for your tactical flashlight.


Today we can choose from a plethora of portable tactical lights in incandescent and LED versions that offer much more than basic target illumination. Most commercial tactical flashlights, especially the high-end ones, usually has a rigid waterproof case often made from an alloy of aviation D16T aluminium with black powder coating. Note that, aluminium case is attractive and lightweight while stainless steel is sturdier than aluminium but introduces additional weight. Rubber/composite case is the cheapest (and least durable) solution. Likewise, most commercial tactical lights are powered thru rechargeable lithium batteries that provide a reliable and long-lasting high-density power flow. So, your tactical light model should meet three basic requirements – a powerful output beam, dependable power supply, and durable case.

 

Real role of the mosfet gate resistors: Digispark is a 5V tiny microcontroller board, so a logic-level mosfet is used in this design for driving the lamp(s). A standard mosfet will need around 10V to ensure it is fully ‘on’. At 10V the Rds will typically be at its minimum value for the entire voltage range. The key advantage of using a logic-level mosfet here is that we can directly drive it from the TTL microcontroller (the low Vgs ability of the logic-level mosfet of course comes with some forfeits – more on later).


The gate of a mosfet is essentially a capacitor. So, when a voltage is applied to the gate without the gate resistor, the current inrush can kill the microcontroller’s I/O if it is unable to quickly source that much. There is also a danger of having ringing occur on the gate. Here, the 100Ω gate resistor (R1) controls the charging rate of the gate and limits the amount of maximum current. The 10K resistor (R2) is a pulldown resistor to ensure the mosfet is always in a known state.

 

My Quick & Dirty Prototype

6--Breadboard Setup.jpg

Following is a casual snap of my experimental hardware platform prepared on a standard breadboard. This means that it can be easily modified for other functions by custom firmware. I used a 12V green LED module in my possession to test the breadboard setup. This is actually one of a bunch of natural green LED modules I bought for another project before (https://www.codrey.com/electronic-circuits/fishing-light-attractor-diy/). 


And, the breadboard test was conducted on regulated 12-volt dc input. Yes, it worked well as anticipated!

Just a Random Scope Capture

9--P1_Slowest Strobe 2Hz.jpg

Below you will find a random oscillogram taken by hooking up my oscilloscope to the P1 output of the Digispark board after setting up the potentiometer to get a slow strobe.


 

Conclusion

7--Breadboard Test 1.jpg

That’s it. I hope you found this post informative and helpful ✨