A number of people have asked me for the code for the Flickering LED for my Steampunk Tesla Cane.
It’s a modified version of the standard “Fade” Arduino example code. The original code I borrowed appears to have disappeared, but this instructable (not mine) has some “flickering” sample code: that is very similar:
Roughly, you make an array of values (the flicker[] below) and cycle through them. Some versions are far more complex, and generate a pseudo-random number for each step instead of a static set of values.
I’m often asked about sources for parts, and it always comes up when my friends and I do our Teslapunk panels.
Our two favorite sites are Sparkfun and Adafruit. Each has it’s own strength and weaknesses: Sparkfun is closer for those of us in the West (they’re in Denver) and while they have a large selection of parts for the electronics Maker, they focus a bit more on robotics. Adafruit (based in New York) is an amazing company that was worked hard on bringing a curated selection of products to the Maker community, and produces their own versions of the Arduino microcontrollers: the Gemma, designed to be worn in clothing and the Trinket/Trinket Pro, which are much smaller than the original Arduino. I discussed both the Gemma and Trinket in my post “But the Arduino is too big for my project.” Adafruit also sells the Neopixel product line of programmable RGB (Red/Green/Blue) LEDs available in variously sized rings, strips, and individually. These are the multi-colored LEDs that Thadius Phule (Peter Valentine) uses in a number of his gadgets. I also buy my Lithium batteries from Adafruit.
For generic electronic parts I check both DigiKey and Mouser, but I also check ebay. Buying through ebay can save you a lot of money if you’re willing to wait while they’re shipped from China, but if you don’t get exactly what you expect, you can be SOL. I’ve generally had good luck, but I’ve stuck with components (LEDs, battery cases, etc) and not full Arduinos. Peter does use ebay for his Arduinos and has had good luck.
For an upcoming project, using an Arduino Gemma (which I talked about in my post about “But the Arduino is too big for my project!“) I decided to use a LiPo battery, since the Gemma conveniently has a JST battery connector on it.
As a test, I connected a NeoPixel Stick — another awesome piece of kit from Adafruit, to the Gemma. The Neopixel Stick, like all Adafruit’s Neopixels, is a string (in this case, a stick) of RGB LEDs with a built-in color controller. The Stick is 8 of these LEDs on a rigid circuitboard. Each LED in the stick is really three sub-LEDs, one in Red, Green, and Blue (hence RGB). With these three sub-LEDs, you can make almost any color you can imagine. Because of the built-in color controller, you only need a single data pin (besides the two normal power connections) to control an entire group of LEDs!
Adafruit NeoPixel Stick
Rear (you only need 3 connectors)
Note that if you are interested in NeoPixels (I learned about them from my friend Jeff McDaniel, who did the Teslapunk panel at Phoenix Comiccon) you should read Adafruit’s entire Uberguide, here. I’d call them a medium difficulty item, as there are some power requirements to be aware of…in short, the individual pins on an Arduino can’t handle the amperage for many of these LEDs, so you need to directly wire them to power.
To test the LEDs, I connected the appropriate pads on the Stick to positive, negative, and D1 (digital pin 1) on the Gemma. I ran a “Larson Scanner” test — this is named after Glen Larson, who was the producer of the old Knight Rider and Battlestar Galactica TV shows, which both featured a red moving LED light (on KITT the car’s front bumper and the “eye” of the Cyclons). This test basically chased from one LED to another and altered the colors each time.
Here’s a demo video of the setup:
The Neopixel Stick is held in the grip, the little blue breadboard in the middle is just linking the soldered wiring to the alligator clips connected to the tiny Gemma board. Notice the silver LiPo battery pack powering the Gemma!
I’ll mention the Neopixels are really bright, wow!
The LiPo battery pack is 850ma, and cost around $8. So, take a guess at how long it ran that Neopixel test?
When it comes to powering your Ultimate Tesla Electrical Thingorama, you’ve really only got one choice, since you don’t want to be tied to an electrical outlet:
Batteries.
Batteries are DC (Direct Current) versus AC (Alternating Current) — AC is what the power company delivers to your house. A dirty little secret is almost everything that isn’t a motor actually runs on DC, and has a small “rectifier” that converts that AC to DC…those are all those “wall warts” that things plug into…and it’s really pretty inefficient. But let’s leave off the rant for now.
Electrical power consists of two power parts: voltage and current. This article explains it pretty well: “Electricity flowing through a wire is like water flowing through a garden hose. The amount of water that can fit through the hose depends on the diameter of the hose (amps). The pressure of the water depends on how far open the faucet is (volts).”
A sidenote…The original Arduino is designed to run off 5v of power or greater. This is conveniently what you get from your computer’s USB port or a set of 4 conventional AA/AAA batteries, or even a 9v battery (but see below for my opinion on 9v batteries.) Newer Arduino versions, like those I covered last time in”But the Arduino is too big!” often come in 2 versions: a 5v version and a 3v (really 3.3v, but you can ignore that) version. When in doubt, go for the 3v version but make sure everything you do is 3v compatible…this is mostly a problem if you’re running motors or servos, which often need more current.
So. Batteries. You really have 2 types to choose from: disposable or rechargeable.
Disposable batteries are often called alkaline batteries because of their chemistry, but you can have other types as well. They’re the normal AA and 9v batteries you’re used to. Use them until they’re empty and toss them. The plus sides are they’re available everywhere, cheap, and come in standard sizes and currents. The A series (mostly commonly seen as AA and AAA) provide 1.5v of current each, and contain 1800-2600 MaH (milliamp hours) of power. But the sizes are the downside: if you can’t fit the batteries in your project you’ll be SOL, and for most of the cool projects we’re looking at you’ll need at least a pair (2×1.5v = 3v, close enough to our needs of 3.3v.) Personally, if you have the room, this is the place to start, and it’s what I’ve been using. My Tesla Cane runs on 3 AAA disposable batteries. A side note, the extremely common CR2032 “coin cell” battery is a disposable 3v battery, and they’re pretty small. They work well for 1-2 LEDs, but you can’t really run an Arduino from them…not enough amperage.
Here’s that note about 9v batteries: I hate them. Really, I know some makers like them, but they really suck. 9v is quite often far more power than you really need, and the 9v battery has horrible amperage…565 mAh versus the 2000+ of a AA. If you can fit a 9v battery in, you can probably fit in a pair of AAs instead. You’ll have 3v instead of 9v, but around 4 times the lifespan!
Rechargeable batteries, often called NiCad (Nickel Cadmium), NiMH (Nickel Metal Hydride), or various forms of Lithium such as LiPo (Lithium Polymer) and Li-Ion (Lithium Ion). They happen to come in the same standard physical sizes are the disposables, so we’re quite likely to find the AA and AAA sizes. Due to the nature of the more traditional nickel rechargeables, they are really 1.2v each instead of 1.5v, so you’ll likely need 3 AAs (1.2vx3=3.6v) to run your project with rechargeables instead of 2 disposables. But…they’re better for the environment and cheaper in the long run, as you only buy them once and recharge them using a charger from regular AC power. The NiCad variety contain notoriously less amperage than their alkaline cousins (possibly half!) but the newer NiMH ones are much better, and can actually contain slightly more amps. You also have the same downside as disposables…the standard shape and size, and also now have to carry a charger. There is also an issue of the rechargeables losing power if they just sit around. I use rechargeables around the house, but not in props.
Common Alakali batteries, from left to right: 4.5v (“Lantern battery”), D, C, AA, AAA, AAAA, A23, 9V, CR2032, LR44, and finally a matchstick and ruler for comparison.
The newest battery technology to hit the maker community is the availability of low-priced LiPo (Lithium Polymer) rechargeable batteries. LiPo batteries run at 3.7v, which makes them ideal for our needs of 3.3v or higher. Remember that the newer specialty Arduinos I’ve mentioned from Adafruit and Sparkfun have a 3.3v version? You’ll need a pair of disposable AAs (1.5vx2=3v) or three rechargeable AAs (1.2vx3=3.6v) to power those…but only one LiPo battery! They also come in much smaller sizes, so they are a great choice all around! The LiIon versions tend come in round(ish) shapes and the LiIon versions tend to come in flat shapes. My suggestion is to figure out how much power you need for how long, add a bit, and try one out! They do have some downsides that you need to be aware of! Lithium is nasty stuff, and if treated poorly these batteries tend to catch on fire or even explode. No, I’m not kidding. Do your homework about these first!
Start with Adafruit’s excellent tutorial on LiPo batteries here — in short, only buy batteries from known sources (Adafruit) and use only known chargers (again, from Adafruit). The good news is that the tiny USB charger Adafruit sells (it’s adorable!) is $6, so you can leave them in devices and just plug in a USB extender cable (from a computer or cell phone charger) to charge your device!
Go to Adafruit and search for LiPo batteries…they carry a lot, and they aren’t bad in price ($8-$30 depending on amperage). I’m going to be moving to Lithium batteries for most of my stuff.
The Arduino is an amazing small single-board computer. The standard current generation Arduino Uno is roughly the size of a deck of cards: 3″ x 2″ x .6″, which is pretty darned small for a powerful self-contained computer. It’s much more powerful than the computers that controlled the Apollo spacecraft that went to the moon, for example!
But…for many projects for Steampunk and Cosplay that’s still too big to hide!
So, “back in my day” (2 years ago!) for projects like my (like my Tesla Cane) the only choice was to use an Atmel ATTiny, the little brother of the Arduino’s microcontroller, the Atmel ATmega328, as a bare chip. The ATTiny is indeed tiny (an 8 pin chip) and I didn’t bother with any of the normal Arduino parts, such as a USB port for programming (and power), various power options (battery, etc), breaking out each pin, etc. Just the bare chip, power, and the single output to the LED. It is important to note that the chip cost me about $4 and a full Arduino Uno runs about $25.
Full size ATMega chip vs the ATTiny
Importantly…I didn’t do several other things that I should have, like a 1uF capacitor to prevent power bounce, voltage protection, a reset pin, etc…My cane is the absolute barebones you can get. One day it’ll likely die for no reason at all because of something I didn’t do. It is, in fact, kind of the completely bad way of doing things…but at the time, I really didn’t have a choice because of the size! You should do all these things, but doing them yourself with a bare chip is a pain and not worth it! There is a better way!
Today there are a fair number of full Arduinos and “sub” Arduinos that are amazingly small…many not much bigger than the ATTiny I used, and all much better!
These include Adafruit’s wonderful Trinket and Gemma use the ATTiny like my cane does. The Trinket is designed more for permanent installation in objects while the Gemma (and it’s big sister, the Flora) are designed for wearables and clothing, but both work equally well for props. The most amazing part is the cost! The Trinket and Flora both run $7.95! There is no way I would have bothered with my barebones ATTiny if these things had been around then!
Adafruit GemmaAdafruit Trinket
If you need a little more memory for your complex program or, just as likely, more pins take a look at the Sparkfun’s Pro Mini – it’s a full-blown Arduino in a tiny package, and it’s $9.95!
Sparkfun’s Pro Mini
Lastly, just how many Arduinos do you need? It’s a trick question! All of them!
Just kidding.
I have about 8 of them: A full size Arduino I’ve dedicated to programing the ATTiny chips, a couple of specialty Arduino clones I’ve purchased via Kickstarters, a pair of Arduinos with built-in special radios for a home automation project, a Gemma I just got to experiment with (love it!), and a specialty Arduino on order (via another Kickstarter) that has a tiny video screen just because it’s darned cool!
My future projects will be built almost entirely on Trinkets, Gemmas, and Pro Minis…for their cost it just isn’t worth trying to do them yourselves with a bare chip!
I talked to a lot of people at Phoenix ComicCon about electronics, and it makes sense to put a bunch of the basic information here on my site to help those budding enthusiasts.
First, a plug: I buy the vast majority of my electronics from two wonderful companies dedicated to the electronics enthusiast: Sparkfun Electronics and Adafruit. Both companies are amazing, and develop their own products as well as carry “stock” products like the Arduino…in fact, both make their own Arduino variations (remember, Arduino is open source!) that are very cool. Sparkfun is closer (Colorado) so shipping is a bit faster and cheaper, but to be honest, Adafruit has made a ton of cool products that are best to get from them. Adafruit is in New York, I believe.
So…how do I start?
To understand basic electronics, Sparkfun has a great free online tutorial set that really begins at the “how electricity flows” level — very useful!
I highly suggest spending the $100 to buy the Sparkfun Inventor’s Kit – this kit and full color included guidebook will get you up and running with Arduino and electronics in no time! Best of all, the Arduino and all the parts are reusable, so you really aren’t out much money in the long run. Plus, you don’t need to know how to solder (or need a soldering iron!) to use the kit, so it’s a great way to start out to see if this is something you’d like to continue.
Adafruit has a ton of detailed guides on their Adafruit Learning System site — if they sell a product, they likely have a tutorial on it! This site is amazing when you buy a component (like an GPS receiver or LED strip) and you haven’t used it before, they’ll teach you all about it with sample code and tons of pics. Often times you’ll see closeups of a hand with colored nailpolish on…that’s Lady Ada (Limor Fried), the owner and founder of Adafruit – she is an amazing maker and is really enthusiastic about teaching electronics!
Finally, look at youtube. Just search for how to videos (how to solder, etc) — there are tons! I shared my personal favorite soldering video in my last post — that’s an Adafruit video, btw!