Inspired by the many amazing Altoids projects here and at Jameco and in Make magazine, I decided to try building a simple strobe light in a standard Altoids tin.
This project consists of four 3-watt white LEDs connected to a 7.4 volt (2S) LiPo battery and two 555 timers. A 10K potentiometer on the first timer adjusts the flash rate between about 2 - 20Hz. The second timer controls the duration of the flash and is fixed at about 5ms.
(I originally breadboarded the circuit using a single timer in astable mode rather than two timers in monostable mode, but the resistor values I needed to get the correct flash rate didn't seem to allow the short flash duration I wanted, even with diodes separating pins 6 and 7. Hence MintyStrobe2. The downside of this second method is that I needed to add a mini pushbutton in order to trigger one of the timers and initiate the oscillations. If this is all sounds like gobbledygook, read on! I am fairly new to electronics myself, especially last September when I made this.)
Step 1: Materials
Below are the parts I used, including links to the exact versions at the stores I purchased them from: Adafruit, Jameco, SparkFun, Mouser, RadioShack, and eBay. However, these are all generic parts and equivalent versions can be purchased from almost any electronics store. These are just the parts I had lying around from building previous projects. Total materials cost is under $20.
Altoids tin - $2.50
2" proto board - $2.95
2S LiPo battery - $4.95
3W white LEDs (4) - $6.99 for 5 (I used warm white but cool white might've looked better.)
6.8 ohm 1-watt resistors (4) - $0.09 each
PN2222A transistors (4) - $0.06 each
LM555CN timers (2) - $0.25 each
8-pin IC sockets (2) - $0.13 each
10K panel mount potentiometer - $0.95
JST battery connector - $4.98 for 10 pairs
standard 1/4 watt resistors - 120 ohms, 820 ohms, 1K, 10K (2)
standard capacitors - 0.01uF (2), 0.1uF (2), 4.7uF, 47uF, 100uF
Submini toggle switch - $3.69
Submini push button - $2.50 for 2 (now missing from RadioShack website)
4-40 screws & nuts
Step 2: Designing the Circuit
I wanted to learn CadSoft Eagle, so I started by creating a schematic. I planned to use a generic prototyping board with hookup wire rather than ordering or etching a PCB, but I still laid out the components in Eagle's board editor to get a sense of how they might fit in the small space. (2014 - See Note Below)
If you're not familiar with 555 timers, I recommend Charles Platt's excellent book Make: Electronics. My quick summary is that a 555 is a couple dozen transistors and resistors packaged together so that when the voltage on pin 2 (the trigger pin) dips low / turns off, then pin 3 (the output pin) will go high / turn on for a certain amount of time. The time is determined by the resistors and capacitor attached to pins 6 and 7 (the threshold and discharge pins).
In this case, I've connected the output of each timer to the input of the other, so that when timer 1 turns off, timer 2 turns on, which turns on the LEDs. Timer 2 has a relatively small resistor (820 ohms) and small capacitor (4.7uF), so its countdown only lasts about 5ms. It then turns off the LEDs, which causes timer 1 to start its countdown, which is the time between each flash. Timer 1 has a capacitor that is ten times larger (47uF) plus a fixed resistor of 1000 ohms and a variable resistor (potentiometer) that ranges from 0 to 10,000 ohms, so the total resistance is between 1 - 11K. This makes timer 1's countdown last between about 50ms and 550ms, or from 20Hz down to 2Hz. (The 1K resistor is there to make sure that even if the knob is turned all the way down, there is still enough resistance to protect the 555's discharge pin.)
I wanted the flashes to be bright enough to illuminate a dark room, so I used four 3-watt LEDs, each drawing about 600 milliamps. Since the 555 timer can only source about 200mA, I used the timer's output to turn on an NPN bipolar junction transistor connected to each LED. I used PN2222A transistors since they can collect up to 1 amp, whereas the similar 2N3904 is only rated for 200mA. Likewise, the 6.8 ohm resistors are relatively large 1-watt versions because they need to handle more than half an amp. (With 7.4V connected to a white LED and a 6.8ohm resistor, each resistor is actually dissipating over 2 watts, but since they are only on for 5ms at a time, the resistors don't get hot even at the fastest blink rate.) I used a 2S LiPo battery because they have a high C-rate and can easily supply the >2 amps needed.
Finally, after some frustrating trial-and-error followed by extensive web research, I realized I needed to add a capacitor and pull-up resistor between the output and input pins to create a trigger network. Doctronics has an excellent tutorial on this, but essentially the problem is that many 555 timers, mine included, will only turn off if the input pin is no longer low. Because Timer 1 is still off when Timer 2's countdown finishes, Timer2 never turns off, and thus Timer1 never turns back on. So I tied the input pins to positive voltage using a 10K pull-up resistor and then I inserted a 0.01uF capacitor between the output and input pins so that only the off pulse (or falling edge) gets passed to the input pin.
I also needed to add a button to manually kick off the process. I had hoped that turning on the power would trigger one of the timers at the right moment and start the cycling, but that never seemed to happen. The only way I could guarantee the cycle started was to ground one of the input pins for an instant, which is what the external button does.
(2014 EDIT - I've replaced the original schematic and board file because as you'll see in the comments, I mistakenly showed the outer two pins of the potentiometer used rather than the middle pin and one outer pin. Also note that blue and red traces in Eagle are supposed to indicate top and bottom layers, but in this case I'm using them arbitrarily since I made this on a protoboard using wires rather than PCB traces that can't cross.)
Step 3: Building the Circuit
Because the input and output pins are both on the left side of the 555 chip, I placed timer 1 upside down so that the two left sides of the chips would be adjacent to each other.
I first soldered in the two 8-pin sockets and then the resistors, capacitors, and wires that connect and support them. Next I installed the transistors and large resistors that connect to the LEDs. I cut holes in the right side of the Altoids tin and inserted the mini power switch, the potentiometer, and the start button.
I covered the bottom of the tin with electrical tape so nothing would short and then added tiny rubber feet to the bottom of the board just in case. Because the battery and board fit snugly into the tin, I didn't need to mount either one. In fact, the fit is so snug that I had to cut a notch into the board to make room for the base of the potentiometer.
Step 4: Putting It All Together
I spaced the four LEDs on the lid of the tin, drilled two holes for each LED, and inserted eight 4-40 screws with matching nuts on the inside. I then drilled two smaller holes next to each LED for the positive and negative wires. The positive wires are all connected underneath and go straight to the battery. The negative wires each connect to a different 1-watt resistor which is in turn connected to a transistor and then the output pin of timer 2.
That's it. The final result is very bright - unfortunately too bright to capture with a iPhone video - but it easily creates the jittery, staccatic effect popular in techno dance clubs 20 years ago.
I'm new to this hobby and this is my first instructable, so I look forward to any comments, corrections, or questions.