Again for small projects — dozens or a couple hundred NeoPixels with careful animation — powering the whole project through SCORPIO’s USB port is possible, and is the simplest of all the circuits. Paired with an inexpensive and ubiquitous USB power bank you might already have, this is another good option for wearables and cosplay, albeit a little bulkier than the prior example.
Before proceeding, consider:
- As with all of these examples, you’ll need to do some wiring and soldering to distribute power to all of the NeoPixel chains.
- There are still a few “gotchas” with this power arrangement. Read through to see if this is adequate for your project aspirations.
Here’s a schematic diagram of how the parts connect. It’s laid out to make all the connections clear, though the actual physical wiring will likely take a different shape…and might have JST plugs on the strips, etc.:
This shows NeoPixel strips, but any NeoPixel-compatible part could be used (rings, dot strands, etc.), and in any combination. Most software (e.g. NeoPXL8 library) has an additional constraint that they’re all RGB or all RGBW; can’t mix the two types. Also, you don’t have to use all 8 outputs; fewer is fine if that’s all your project needs.
Remember that this arrangement is only suitable for smaller projects with few pixels lit; perhaps 1–2 Amps (1000–2000 mA) overall. See the top page of this section regarding minimum and maximum per-LED current guidelines. This might suffice for a self-contained build of the Ooze Master 3000 project, where only a small fraction of LEDs are lit at any time. It does not “scale up” very much.
It’s unusual in that we’re using the ground connections at the end of the board as part of the power distribution; in larger, more power-hungry projects, power distribution to the LEDs is a separate thing, and those pads are only used for ground reference between board and power supply, not as current-carrying members themselves.
Positive voltage must be split from SCORPIO’s USB pin to the 5V input on each of the NeoPixel chains — either wiring up a splitter or chaining one to next, or using part of a Perma-Proto board or a power distribution bus.
You don’t have to run the ground wires this way. If it’s easier in your project to split or chain as done with the positive voltage, do that and use just one ground pin.
The main “gotcha” of this configuration comes when it’s time to upload new code to the board. Many computers’ USB ports can only provide a maximum of 500 mA current…any more and they shut the port right off. If the board’s already programmed to show animation when powered on, it might immediately exceed this, get disconnected and then can’t accept code.
One (sometimes) solution is to use a USB 3.0 (or later) port or powered hub, which can usually deliver 900 mA, which may suffice depending on the already-programmed animation.
More consistently reliable is to hold down SCORPIO’s BOOT button when connecting to USB, which jumps straight into the bootloader; NeoPixel animation code never has a chance to start. Though “off” NeoPixels still draw a little current, a modest-sized project isn’t likely to exceed 500 mA in this state. Once programmed, power-hungry animation might then cause the computer to shut down the USB port…but that’s okay, just unplug and use a USB power bank at that point.
The other “gotcha” can occur if exceeding the USB power bank’s current limit. Most can reliably deliver about 1.5 Amps (1500 mA) from a USB-A port, some up to 2.5A. Exceed this for more than a couple seconds, and usually a protection circuit will kick in, shutting off power. On some power banks, the only way to reset the protection circuit is to plug it into a charger. So if this happens “in the field,” your SCORPIO project might be dead in the water…super embarrassing at the cosplay contest! Therefore: do a lot of testing, work on animation code to keep it well within limits of your power supply…or consider one of the other example power circuits.