Apologies for the delay in responding. Unfortunately I thought I had a spare 3B / 3B+ handy to use in testing but it turns out it was already part of another project.
The short version of the story is that the Anker PowerCore+ I have seems more than up to the task of powering a norns shield with a good number of USB devices attached.
The experimentation I did used an admittedly atypical/unicorn setup, specifically:
- norns shield
- rpi4
- 1x grid 128 (2019)
- 1x arc 4 (2018/19)
- 1x grid 128 (~2012 varibright)
- 1x arc 2 (~2012)
- Anker PowerCore+ 26800
Initial experiment - boot off battery with devices attached.
New generation grid and arc 4 connected to rpi4 then power from the Anker battery was connected. The system booted w/o under-voltage warnings and both the grid and arc were visible in SYSTEM > DEVICES > ARC | GRID as expected. Tried several scripts without issue. No audible xruns.
Second experiment - add more lit led(s) + stress the CPU
Used stress-ng --cpu 2 to generate dummy load, spinning 2 cores up to ~100% utilization. Ran cheat codes for awhile, the number of leds lit on the arc 4 and grid were per normal when running cheat codes (not all but a decent number of leds). In this configuration still no under-voltage warnings nor any xruns.
Third experiment - add a second grid and second arc
With all of the above (cpu stress, cheat codes, arc + grid etc) then plugged in a 2012 era 128 grid. At this point a single under-voltage warning was reported in dmesg an then it resolved itself in ~4 seconds:
[ 547.369821] Under-voltage detected! (0x00050005)
[ 551.529853] Voltage normalised (0x00000000)
Despite the under-voltage warning I didnāt get any audio dropouts and the grid showed as a second device (no USB enumeration problems). Curious to see what would happen I connected the 2012 arc 2. Again a similar under-voltage warning which resolved in ~4 seconds and the second arc appeared as a normal device.
Defining some quick callbacks in the maiden REPL allowed me to confirm that I could get delta and key events from the additional devices. While cheat codes was still running the additional arc/grid werenāt lit upā¦
Fourth experiment - add more leds (playing with fire)
Again using the maiden REPL interactively set all the arc2 leds to brightness 15 - surprisingly no voltage warnings nor any other obvious problems. As a final step turn on all of the leds of the second grid to 15 - this did finally push things over the edge. The kernel reported a flurry of over-current errors on each of the usb ports similar to this:
[ 2274.059821] usb usb2-port1: over-current change #1
ā¦and all the grids and arcs went through 1-2 power cycles.
Conclusion - The battery powered setup worked as good or better than I would have expected. There are 640 leds across the four devices and Iād expect that lighting up over half of them at full intensity would be more than most things could handle without incorporating a powered hub.
For power hungry setups I have found the following portable USB hub to be a key companion. What is unique about this hub is that it can optionally be powered by running another USB cable from the USB battery up to the hub.
In fact I just tested and the dual grid, dual arc setup works fine with one of the grid/arc combos powered directly off the battery via that hubā¦