Introduction: MintyStrobe2 - an Adjustable Strobe Light in an Altoids Tin
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
Not shown:
Submini toggle switch - $3.69
Submini push button - $2.50 for 2 (now missing from RadioShack website)
4-40 screws & nuts
hookup wire
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.
44 Comments
3 years ago
Excellent. A neighbor has a squirrel problem in the attic and I'm gonna build a couple of these. Apparently annoys the hell out of them.
7 years ago
This is fantastic, as a project and as a source of info. (Cute baby and hat too.) I have just started playing with electronics and a 555 timer. For a project like this, would it be possible to use a single 555, and use default-closed transistors ("PNP"?) to reverse the on/off response to the 555 output, to achieve the short-duration strobe burst? (I'm hoping to mount a strobe on the underside of a disc-golf disc for night play, for aesthetics but also to use it to estimate the disc's rpm in flight...)
Reply 7 years ago
Thanks, philesra! Glad you liked it. Yes, you can use a single 555 timer configured in astable mode, which is what I originally did for my MintyStrobe1. But I wasn't able to find resistor or capacitor values that allowed me to both adjust the flash rate within a range I liked (~2-20Hz in this case) while also only being on for a brief enough period to be visible as a strobe flash (~5ms). If I had reversed the electronics logic and used PNP transistors I might've found a duration value that looked strobey, but I suspect it would've only looked right at certain flash frequencies, not over the whole 2-20Hz range. Using two separate timers allows you to separately configure the flash duration from the flash frequency. To simplify things, you can pick a specific frequency and thus get rid of the pot, just using a fixed resistor to set the frequency like I did with the flash duration. You can also use a 556 chip, which is just two 555 timers packaged into a single IC.
Reply 7 years ago
Ooh, hadn't considered how the adjustable resistance would come into play on that front--tricky. I'm tentatively planning to use only fixed resistors in hopes of having a more concrete idea of the actual computed flash rate (though I note your point about the wide tolerance...) than I would with the unlabeled, continuously adjustable knob.
It was also useful to read your note about 555 chips wanting >1k ohm resistors. Might have to check out that book you mention too.
What purpose does an IC socket serve--is it to protect the chip from cooking when you solder it?
Reply 7 years ago
I'm a big fan of Make:Electronics by Charles Platt. I have more than a dozen other maker or DIY electronics books, but that one is by far my favorite.
I've read the resistor that connects the discharge pin (7) to the positive supply is supposed to be at least 1K in order for the timing calculations to be predictable and accurate.
The IC socket is just there to let you swap out the IC without desoldering. If a chip ever fails (or you even suspect it might be flaky), it's very convenient to try replacing it just by popping it out of the socket. I've done this multiple times after accidentally burning out one or more pins on opamp and microcontroller chips. The sockets only cost a few cents, but I don't always use them, especially when I want the PCB to have a flatter, sleeker look.
Reply 7 years ago
Ah, makes sense about the socket. I will order the book tonight! Thanks for the recommendation.
9 years ago
what would I have to do if I wanted it to flash faster than 20 hertz?
Reply 9 years ago on Introduction
Use a smaller resistor or capacitor on the first 555 timer. A 555 timer's delay is what's called an RC (resistor capacitor) circuit and it's based on the fact that it takes time to charge up a capacitor through a resistor. So the smaller the resistor, the faster the capacitor reaches it's threshold charge to trigger the 555's comparator that the "delay" is over, and the smaller the capacitor, the quicker it reaches that threshold charge as well. The first 555 creates the delay between flashes and the second 555 creates the delay for how long each flash is. Or thought another way, the first 555 turns the LED's on 2-20 times per second and the second capacitor turns them off after the burst time.
How much faster than 20Hz do you want it to flash? Much faster and it will just appear to be continuously on because it is flashing more quickly than your eye/brain can process. That is, old hand-cranked movies shot at 15-20 frames a second appear to flicker (hence the old name "flicks"), but once the camera gets up to 24 frames per second, they appear to us as smooth motion. http://en.wikipedia.org/wiki/Flicker_fusion_threshold
Reply 7 years ago
I know I am a little late on this :-) How can I slow the time down to about 1 flash every minute? How big of a capacitor would be required?
Thanks
Dave
Reply 7 years ago
Sorry for the slow reply. As dudes said, using a 4700uF capacitor with the same 1-11k resistance in place would give you a delay that ranges from 5-57 seconds. If you instead use a 47,000uF capacitor, the delays would be 10times longer, i.e. 57 seconds with the resistance turned all the way down to 1K and 570 seconds (almost 10 minutes) with the POT turned up so the resistance is 11K.
Reply 7 years ago
If I understand correctly, using a capacitor of 4700 uf and a resistor of about 11k ohms should give you about 1 minute delays. Using 1000 uf and 54k ohms should work as well. Perhaps markmoran could verify whether I am right or not.
Reply 7 years ago
Yes, sorry for the late reply. That's exactly right - a 4700uF capacitor with 11K of resistance will result in a delay period of 57 seconds. (Since these amounts are never exact, you'll want to use a variable resistor (two legs of a POT or a rheostat) so that you can tweak the resistance up or down in order to get exactly a minute between blinks.
Reply 9 years ago
thanks! I was hoping to get somewhere around 60 hertz, for use in strobe photography. any idea what the values should be for that range?
Reply 9 years ago on Introduction
Sure, the formula for the delay of a 555 timer's resistor-capacitor (RC) circuit is 1.1 * R * C (in ohm and Farads). To get 60Hz, you need a delay that is 1/60th of a second, or 16.666 microseconds. Which means, you either need to lower the resistance or the capacitance in my circuit to get a delay that short. (A smaller resistor lets more current flow in which charges up a capacitor more quickly, or a smaller capacitor will charge up more quickly with the same amount of current.)
If you keep the 47uF capacitor from the original circuit, you would need the resistance to be 321 ohms. R = .01666 seconds / (1.1 * .000047 Farads)
I used a 1,000 ohm fixed resistor in series with a 10,000 ohm variable resistor, so my circuit allows resistance from 1,000 - 11,000 ohms. You would need to replace the 1,000 fixed resistor with a 330 ohm one or smaller to have resistance low enough to charge up the 47uF capacitor quickly enough. However, the 555 manufacturers recommend always having at least 1,000 ohm resistance on pins 6 and 7 to protect the timer, so it would be better to use a smaller capacitor instead:
Keeping the 1,000 ohm minimum resistance, you would need a 15uF capacitor to get a delay of .0165 seconds. Since most cheap capacitors have sloppy tolerances (more than +/- 20%), I'd use a 10uF capacitor, which should give you delays from .011 seconds (90Hz) with the pot turned all the way off, down to to .121 seconds (8Hz) with the pot turned all the way up (11,000 total ohms).
Hope this helps!
-Mark
Reply 9 years ago
wow, yes that's helps a ton! thank you! I plan on building one as soon as my 555's get here.
Reply 9 years ago
I just built the it, and it works! first time! the schematics were very clear and easy to follow. just one thing, where pin 3 of the 555 connects to a potentiometer, it needs to connect to the middle pin of the pot, not the end pin. otherwise, it works flawlessly. thanks for a great instructable.
Reply 9 years ago on Introduction
Right, that was a mistake in the schematic (and thus board file) that I showed it using the two outer most pins of the pot (which would just make it a fixed 10K resistor) rather than the middle pin plus one outer pin (which makes it a variable resistor from 0 - 10K). I should've corrected the files over a year ago when it was first pointed out, but I finally did.
I'm really glad it works for you and that you enjoyed making it!
Reply 9 years ago
I meant pin 6+7. not 3
9 years ago
This looks awesome. I'm going to build this into my backpack vs Altoids tin. Thanks.
9 years ago
it's me again. :-) I have another question. what components would I have to change if I wanted to use a 5v power supply instead of a 7.4v?