# ultimate2: 8BitDo controller configuration protocol and Linux client

> ultimate2 reconstructs the configuration protocol for supported 8BitDo controllers and implements command-line, graphical and browser clients. Its protocol document reports using REA with Ghidra on a native DLL and ILSpy on .NET assemblies to recover HID reports and configuration records. The clients read, edit and write controller settings.

- Type: Case study
- Targets: Protocol
- Category: Community REA investigations
- Relationship: Author-reported mixed workflow
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-08
- Original resource: <https://github.com/MiguelSanzBr/8bitdo-ultimate2-linux>
- Primary source: <https://github.com/MiguelSanzBr/8bitdo-ultimate2-linux/blob/03957a0c165b214a501337279149144e36764af3/docs/PROTOCOL.md>
- Catalog page: <https://awesomerea.org/resources/8bitdo-controller-hid-case/>
- Record JSON: <https://awesomerea.org/resources/8bitdo-controller-hid-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/8bitdo-controller-hid-case/index.md)

## Requirements & limits

- **Prerequisites:** Python 3.8 or newer and Tk for the Linux GUI; a supported controller and hidraw access are needed for device use.
- **Testing evidence:** The author reports testing a controller over USB; the cited 2.4G dongle path remains untested.
- **Limits:** The project labels the software beta and advises backing up the controller configuration before changes.
- **License:** MIT license.

## Primary sources

1. <https://github.com/MiguelSanzBr/8bitdo-ultimate2-linux/blob/03957a0c165b214a501337279149144e36764af3/docs/PROTOCOL.md>
2. <https://github.com/MiguelSanzBr/8bitdo-ultimate2-linux/blob/03957a0c165b214a501337279149144e36764af3/README.md>
3. <https://github.com/MiguelSanzBr/8bitdo-ultimate2-linux/blob/03957a0c165b214a501337279149144e36764af3/LICENSE>

## More in Protocols

- [remote-me: an Apple TV remote built from iOS Companion protocol analysis](https://awesomerea.org/resources/remote-me-apple-tv-companion-case/index.md) · Case study
- [Attack Shark K86: recovering HID controls from the official driver](https://awesomerea.org/resources/attack-shark-k86-case/index.md) · Case study
- [Redragon K652: macOS control from driver and HID analysis](https://awesomerea.org/resources/redragon-k652-macos-case/index.md) · Case study
- [AK·LINK: reconstructing AJAZZ AK820 Pro HID control](https://awesomerea.org/resources/aklink-case/index.md) · Case study
- [Etrel Load Guard Configurator: reconstructing the meter's UDP protocol](https://awesomerea.org/resources/etrel-load-guard-configurator-case/index.md) · Case study
- [hw-harness: scanner USB protocol investigation](https://awesomerea.org/resources/hw-harness-reference-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
