hn.today

An 8BitDo Switch controller adventure

nyanpasu64.gitlab.io6 points1 comments
Screenshot of An 8BitDo Switch controller adventure

I bought an 8BitDo Ultimate 2C BT to play Splatoon on PC with gyro control and to replace a collection of worn controllers, and this led into firmware research, input-backend tinkering, and hardware probing. The controller is inexpensive compared with Nintendo's Pro Controller but has notable quirks: rumble drives the motors so hard it disrupts aim unless disabled, analog sticks produce values slightly beyond a unit vector with no user calibration method, and button feel is acceptable though D‑Pad comfort varies. Cross-platform behavior is inconsistent: Windows and browsers present patchy detection and backend requirements (Dolphin needs SDL Pro Controller selection), Linux works better but exposes gyro only if hidraw access is granted via udev rules, Android uses an Xbox layout until Android 17, and the Switch needs Pro Controller Wired Communication enabled and homebrew to remap buttons.

To track intermittent double-presses in Ultrahand overlays I traced code paths to libnx's hidInitializeVibrationDevices and performed USB packet captures. Cheap logic analyzers and an unstable host stack failed, so a Raspberry Pi Pico running a forked pico_usb_sniffer captured usable .pcap files. Analysis in Wireshark showed the controller transmits around 120-125 Hz while the host polls at ~250 Hz and the controller NAKs roughly half the polls nonuniformly, producing significant jitter. The practical conclusion: the 8BitDo is usable across devices but requires configuration, udev/homebrew workarounds, and willingness to debug firmware/USB behavior to mitigate rumble, stick, and timing issues.

Read on nyanpasu64.gitlab.io1 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Hardware

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.