Articles

8BitDo controller battery on PC: why X-input mode shows nothing

Many 8BitDo controllers can report their battery on Windows, but not in every mode. Which mode hides the level, which one shows it, and what you give up by switching.

Updated September 23, 2026 · Controllers

8BitDo controllers are among the most popular pads on PC: excellent d-pads, several connection modes, fair prices. Then you look for the battery level and find nothing, not in Windows, not in Steam, not in any tool you try. The reason is almost always the same, and it has nothing to do with the battery: it is the mode the controller is running in.

Short answer: in X-input mode, the controller poses as a wired Xbox 360 controller, and that role leaves no room for a battery level. In D-input mode, or over Bluetooth, many 8BitDo models report their level in every state report. BatteryOnPC reads it there. Below, how the modes work and how to switch.

One controller, several identities

An 8BitDo controller does not have one way of talking to a PC, it has several. Depending on the mode, it introduces itself as an Xbox controller, as a standard gamepad, or as a controller for another console. The hardware is the same every time; only the language changes.

  • X-input mode: the controller poses as an Xbox 360 controller. Games recognise it instantly, which is why it is the default on the 2.4 GHz receiver of many models.
  • D-input mode: the controller presents itself as a standard gamepad, with its own reports. Fewer games accept it directly, but its reports carry more information, the battery included.
  • Bluetooth: on many models, the Bluetooth connection also carries those richer reports.

Why X-input mode shows no level

XInput, the Microsoft interface games use for Xbox controllers, does have room for a battery level. But a controller that presents itself as a wired Xbox 360 pad declares that it has no battery at all: a wired pad draws its power from the cable. Windows, Steam and every other program take it at its word.

The controller knows its charge perfectly well; it simply has no way to say so in the role it is playing. No setting, driver or program can pull a level out of a report that does not contain one.

Switching to D-input mode

How to switch depends on the model. Some have a small mode switch; others pick their mode from a button held while the controller is turned on. On the Ultimate 2 Wireless, for example, holding B while turning it on starts it in D-input mode. Your model's manual lists the exact combination.

One detail on the Ultimate 2 Wireless: connected by cable, it only speaks X-input. To get its level, use its receiver in D-input mode, or Bluetooth.

What you give up, and how to get it back

The trade-off is compatibility. Games built for Xbox controllers recognise X-input instantly; in D-input mode, some of them will not react to the controller at all unless something translates it. Steam Input does that translation for games launched through Steam, which covers a large share of cases.

If you play mostly through Steam, D-input costs you almost nothing. If you play a lot outside it, X-input may remain the practical choice, and the battery level is the price.

The firmware matters too

Even in D-input mode, the level only arrives if the firmware sends it. Older firmware versions of some models send shorter reports without it. If the controller works but never shows a level, update it with 8BitDo's firmware updater before anything else.

BatteryOnPC reads 8BitDo controllers in D-input mode or over Bluetooth, including the Pro 2, Pro 3, SN30 Pro, SF30 Pro and Ultimate 2 Wireless. Add it once from the Devices tab of the window (Scan for devices, then Add), and it keeps its own icon in the taskbar.