Wireless Power Only · Volume 4

Power Budget, Runtime, Charging and Latency

What each side of the gun draws, how long one small pack lasts with the logic on USB, what a gun left plugged into nothing does to its pack, why the pack is not charged from the USB port while playing, and why the latency is the wired gun's

The wired gun has no energy budget: the brick refills the reservoir after every shot, forever. A battery gun has two budgets, one per source, and the architecture in this dive keeps them apart. This volume puts numbers on both, using the load assumptions of LiPo Batteries Vol 3 so that the two dives can be compared line for line. The arithmetic is in 04-templates/wpo_calcs.py and its output in calc_output.txt.

4.1 The Two Budgets

The USB side carries the logic, exactly as in the wired gun:

Table 1 — The USB side carries the logic, exactly as in the wired gun

LoadEstimateSource
Picounder 100 mARaspberry Pi’s heaviest published case is about 88 mA (Power Supplies Vol 1)
Camera, OLED, IMU, status LEDa few tens of mA, unmeasuredPower Supplies Vol 1 estimates the whole logic at about 150 mA, 0.75 W
NeoPixel, if fittedtens of mA per pixel, depending on colour and brightnessthe firmware’s guide allows three or four on VBUS (Reference Electronics Vol 5)
The LM5060 enable dividerabout 50 µAVolume 3

A USB 2.0 port must supply 500 mA after configuration (Power Supplies Vol 3). The gun uses a third of it.

The pack side carries everything that moves:

Table 2 — The pack side carries everything that moves

LoadFigure usedSource
Recoil shots1 J per shot typical, 2.84 J worst (unregulated 45 ms)LiPo Batteries Vol 3, from the Solenoid Recoil model
34 mm rumble motor on its DRV8251Aabout 0.09 A × 24 V, 2.2 W while runningMotors and Rumble Vol 6
Standing loads with the rail onabout 0.10 WSection 4.2

The LiPo dive’s “average power” column also includes 0.59 W for the logic, because it was written for the fully wireless gun. Here that line is on the USB side, and the pack never sees it.

4.2 The Standing Load Nobody Counted

While the rail is on, three things draw from the pack whether or not the gun fires:

Table 3 — While the rail is on, three things draw from the pack whether or not the gun fires

Standing loadCurrentAt 22.2 V nominalSource
LM5060, enabled1.4 mA typical, 1.7 mA maximum31 mWLM5060 data sheet, I_IN-EN1
Rumble-stage DRV8251A, awake3 mA typical, 4 mA maximum67 mWDRV8251A data sheet, I_VM active mode at 24 V2
Recoil and port DRV8251As, asleep1 µA eachnegligibleI_VMQ, sleep with both inputs low2
A fuel-gauge divider after the switch, 100 kΩ / 10 kΩ0.2 mA4.5 mWLiPo Batteries Vol 4
Totalabout 0.10 W

The largest item is a consequence of a decision made for a different reason. The rumble stage ties IN1 high and drives IN2 with inverted PWM through a 4.7 kΩ pull-up (MR-3, Motors and Rumble Vol 4), so that the motor is braked at power-up. With both inputs high the DRV8251A is in brake, which is an active state: it never reaches its 1 µA sleep, which needs both inputs low for 0.8 to 1.5 ms.2 On a brick that costs nothing anyone would notice. On a 450 mAh pack it is two-thirds of the standing load and, in casual play, about a fifth of everything the pack supplies. It is raised as a question for Motors and Rumble rather than changed here: putting the rumble stage to sleep when idle needs IN1 on a GPIO, and the kit-camera carrier has no spare pin (FW-6).

4.3 Runtime

Figure 1 — Hours of play per charge on one GNB 6S 450 mAh pack, usable 80 % of 9.99 Wh. With the logic on USB, as proposed here: 21.2 hours casual, 9.5 busy and 2.7 worst case. With the pack also running the …
Figure 1 — Hours of play per charge on one GNB 6S 450 mAh pack, usable 80 % of 9.99 Wh. With the logic on USB, as proposed here: 21.2 hours casual, 9.5 busy and 2.7 worst case. With the pack also running the logic through a buck regulator, as in the fully wireless gun: 8.3, 5.6 and 2.2 hours. Both include about 0.10 W of standing load. Own work.

Table 4 — 4.3 Runtime

Way of playing (LiPo Batteries Vol 3’s cases)Pack load, this diveHoursPack load if it also ran the logicHours
Casual: 600 shots/h at 1 J, rumble 5 %0.38 W21.20.96 W8.3
Busy: 1,500 shots/h at 1 J, rumble 15 %0.84 W9.51.43 W5.6
Worst: 3,000 shots/h at 2.84 J, rumble 25 %3.01 W2.73.60 W2.2

Two things follow.

  • The logic is most of a casual session’s energy. Moving it to USB multiplies casual runtime by about 2.5 and busy runtime by about 1.7. In the worst case the shots dominate and the gain is small.
  • The LiPo dive’s figures are slightly optimistic for the fully wireless gun. Its 9.3, 6.0 and 2.3 hours omit the standing load of Section 4.2; with it they become 8.3, 5.6 and 2.2. The difference is small and is noted for that dive rather than changed here.

The shot rates are illustrative, not measured from games, as the LiPo dive says of the same figures. A logged session on the bench will replace them.

4.4 On the Shelf

Figure 2 — Usable charge left in a full GNB 450 mAh pack with the lead unplugged. With the rail switch left on, about 0.10 W of standing load empties the usable charge in 3.3 days. With the LM5060's enable ta…
Figure 2 — Usable charge left in a full GNB 450 mAh pack with the lead unplugged. With the rail switch left on, about 0.10 W of standing load empties the usable charge in 3.3 days. With the LM5060's enable taken from VBUS, the pack sees about 21 µA and keeps 96 % after 30 days, before the pack's own self-discharge. Own work.

A battery gun spends most of its life unplugged. What it draws then decides whether it is ready to play next weekend:

Table 5 — A battery gun spends most of its life unplugged. What it draws then decides whether it is ready to play next weekend

Rail switchDraw with the lead outUsable charge of a 450 mAh pack lasts
Left enabled (no VBUS gating)about 0.10 W (Section 4.2)3.3 days
Enabled from VBUS (WP-2, Volume 3)LM5060 disabled 9 µA typical, 15 µA maximum, plus 2 × BQ77905 at about 6 µA each: about 21 µA typical, 27 µA maximumabout 2 years typical, before self-discharge

The second figure is not a storage life: a lithium pack’s own self-discharge, and the LiPo dive’s storage-charge rule, dominate long before two years (LiPo Batteries Vol 5, Vol 6). The point is the first figure. A battery gun whose rail stays on when unplugged will be flat, and the protector tripped, every time it comes off the shelf after half a week. Taking the enable from VBUS is the cheapest fix there is.

4.5 Charging From USB While Playing: Possible, and Not Proposed

The obvious question about a battery gun that already has a USB cable is why the cable does not charge the pack. The energy is there:

Table 6 — The obvious question about a battery gun that already has a USB cable is why the cable does not charge the pack. The energy is there

PortPowerLess logic (0.5 to 0.75 W), through an 88 % boost chargerEmpty to full, idleNet while busy (0.85 W load)
USB 2.0, 500 mA2.5 W1.5 to 1.8 W into the pack4.5 to 5.2 habout +0.7 to +0.9 W
USB 3.x, 900 mA4.5 W3.3 to 3.5 Wabout 2.4 habout +2.5 W
Type-C at 1.5 A7.5 W5.9 to 6.2 Wabout 1.3 habout +5 W

Even a USB 2.0 port would more than keep up with busy play. The reasons not to do it are not about energy:

  1. A 6S pack needs a boost to 25.2 V and per-cell balancing. The LiPo dive works through what an in-gun charger takes, from a balance-lead port to TI’s BQ25756 buck-boost controller with its four MOSFETs and current sensing, and rejects charging in the gun for the first battery build: balancing and storage mode come free on a bench charger, and nothing charges inside a PETG shell (LB-5, LiPo Batteries Vol 5). Nothing about this architecture changes that.
  2. USB’s own power states. A device may draw only 100 mA until it is configured, and in suspend only 500 µA, or 2.5 mA for a high-power device enabled for remote wake-up, averaged over any second (USB 2.0 section 7.2.3).3 A charger on VBUS must follow the host’s state: off at enumeration, off when the PC sleeps. That is firmware the fork does not have.
  3. The low-side protector’s sneak path. Charging through the gun puts a charger’s ground and the USB ground on the same node as pack negative’s switched return, the case LiPo Batteries Vol 4 warns about.
  4. It is not needed. Busy play runs about nine and a half hours on one pack (Section 4.3), and a spare battery magazine swaps in seconds (LB-6, LB-2’s “×2”).

Proposal (WP-7): no charging from USB. Charge out of the gun on the B6neo, as LB-5 decides. Revisit only if the Stage 2 board grows a USB-C port with PD, where the LiPo dive’s Path C applies.

4.6 Latency

The latency is the wired gun’s. Nothing in the data path changes: the same Pico, firmware and USB full-speed link, polled every millisecond. The pack, the protector and the rail switch are not in the signal path at all.

Aiming Maths and Calibration Vol 7, section 7.5, gives the gun’s own share of the latency chain, from a camera frame to a USB report leaving, as about 2.7 to 8.8 ms with an average near 5.6 ms on OpenFIRE v6.2, with the USB poll adding 0 to 1 ms. The cable adds about 5 ns per metre (USB 2.0’s 5.2 ns/m limit), 15 ns at 3 m, which Fully Wired Vol 5 also notes. A breakaway near the PC adds two contacts and a few centimetres, nothing measurable.

This is the architecture’s main advantage over the Fully Wireless gun, whose radio link adds its own interval and its own failure modes.

4.7 Kick Strength Across the Pack’s Discharge

A brick holds 24 V; a pack runs from 25.2 V full to the protector’s cut-off, about 19.8 V at the LiPo dive’s stop (LiPo Batteries Vol 7). The regulated stage (D13) holds the coil’s current at its set point across that range, which is why the LiPo dive finds the sag small and hidden by the regulated stage (LiPo Batteries Vol 3). One thing it cannot hide is the rise. While the current climbs toward the set point the coil sees almost the whole rail, so the rate of rise is roughly proportional to the rail voltage: at 19.8 V the rise takes about a fifth longer than at 24 V. Whether that is felt depends on how much of the shot is the rise, which is a Solenoid Recoil measurement, and on the forcing ratio of the chosen coil, which USB-C Power Delivery Vol 2 shows can fall below its floor at 20 V for a high-resistance winding. A coil chosen to pass that dive’s 20 V test passes at the bottom of a 6S pack as well.

Footnotes

  1. Texas Instruments, LM5060 High-Side Protection Controller With Low Quiescent Current, SNVS628H: I_IN-EN 1.4 mA typical, 1.7 mA maximum; I_IN-DIS 9 µA typical, 15 µA maximum. https://www.ti.com/lit/ds/symlink/lm5060.pdf (downloaded 2026-10-19). ↩

  2. Texas Instruments, DRV8251A data sheet: I_VMQ 1 µA at V_VM = 24 V with IN1 = IN2 = 0; I_VM 3 mA typical, 4 mA maximum with IN1 = IN2 = 1; t_SLEEP 0.8 to 1.5 ms; “When the IN1 and IN2 pins are both low for time tSLEEP, the DRV8251A device enters a low-power sleep mode.” https://www.ti.com/lit/ds/symlink/drv8251a.pdf (read 2026-10-19). ↩ ↩2 ↩3

  3. USB Implementers Forum, Universal Serial Bus Specification, Revision 2.0, section 7.2.3 (suspend current: 500 µA, or 2.5 mA for a high-power device enabled for remote wake-up, averaged over 1 s) and section 7.2.1 (100 mA before configuration). From usb_20_20250603.zip, https://www.usb.org/document-library/usb-20-specification (downloaded 2026-10-19). ↩

Comments (0)

  1. Loading…

Comments are held for moderation — nothing appears until approved.