I’m often asked for help on a portable or wearable project, the designer insisting “it has to be completely covered in NeoPixels, and able to have them all on white at 100% brightness. But when I do the math it comes out to 1.21 gigawatts. Help!”

“The math” in this case is a rule-of-thumb — perpetrated in the NeoPixel Überguide and elsewhere — that each NeoPixel in a circuit may draw up to 60 milliamps of current. It’s a maximum worst case scenario, used in planning wire gauges and battery current and capacity. 100 NeoPixels? 60 × 100 = 6,000 milliamps. Six Amps. That’s considerable.

While there are batteries that can deliver this sort of current (and more), they get progressively more heavy, costly and dangerous. For safety reasons I downplay the use of large lithium-polymer cells in wearable designs. In cosplay projects especially, something that might see only a few brief outings in a year, I’m still an advocate of single-use alkaline batteries. Easy to find, inexpensive and reasonably safe. Three AA cells in series provide 4.5 Volts (adequate for most 5V microcontrollers, and for NeoPixels as well) with a pretty decent 2,500 mAh capacity.

Even if you do decide on some crazy giant battery (at your own peril, hey sometimes I do it too), everything in this guide will be helpful in improving run time. Lower current usage also means a project can use narrower gauge wire…cheaper, lighter, and moves better in wearable projects.

The key to making this work is to approach the problem from the other direction: not how-much-battery, but how-little-NeoPixel can you get away with? Thoughtful design in layout, color selection and animation patterns make an enormous difference in power requirements.

“Music is the space between the notes.” — Claude Debussy

The example sketch later in this guide demonstrates these ideas using an Adafruit Circuit Playground board. If you don’t have one, that’s okay! The concepts explained here are applicable to any NeoPixel circuit.

Last updated on 2017-05-02 at 01.16.27 AM Published on 2017-05-03 at 02.45.38 PM