3DS Controller
From GameBrew
More actions
| 3DS Controller | |
|---|---|
| General | |
| Author | icicle1133 |
| Type | Utilities |
| Version | 0.0.5 |
| License | Polyform Noncommercial 1.0.0 |
| Last Updated | 2025/09/26 |
| Links | |
| Download | |
| Website | |
| Source | |
A "Up-To-Date" 3ds homebrew application that lets you use your 3ds as a wireless controller.
Features
- Use your 3DS as a wireless gamepad for PC games and emulators.
- Cross-platform support for Windows and Linux.
- Support for all buttons, Circle Pad, and C-Stick.
- Configurable server IP and port.
- Low latency wireless connection.
- Battery level indicator.
- LCD toggle option to save battery.
Installation
Requirements
3DS:
- Nintendo 3DS with custom firmware (CFW)
- Homebrew Launcher access
- Wi-Fi connection (same network as PC)
PC:
- Windows or Linux
- Python 3.6+
- Windows: ViGEmBus driver
- Linux: uinput kernel module
3DS Setup
- Copy
3ds_controller.3dsxto your 3DS SD card in/3ds/folder. - Launch Homebrew Launcher on your 3DS.
- Run the 3DS Controller application.
PC Setup
Windows
Install ViGEmBus driver
Install Python 3.6+
Install required packages:
pip install vgamepad
Run the PC receiver:
python pc.py
Linux
Load uinput module:
sudo modprobe uinput
nstall dependencies:
sudo apt-get install libudev-dev pip install python-uinput
Run PC receiver with root privileges:
su - modprobe python-uinput python3 path/to/pc.py
User guide
How to use
- Start PC receiver script.
- Launch 3DS Controller on your 3DS.
- Set the IP address in the 3DS app to match your PC's IP.
- Connect and start using your 3DS as a controller.
Configuration
3DS:
- Config file at
/config.inion SD card - Edit to change server IP and port
- Default port: 8888
PC:
- Listens on all interfaces on port 8888
- Debug mode:
python pc.py --debug
Controls
3DS Input - PC Controller Output:
A/B/X/Y - A/B/X/Y Buttons
Circle Pad - Left Analog Stick
C-Stick -Right Analog Stick
D-Pad -D-Pad
L/R - LB/RB (Left/Right Bumpers)
ZL/ZR - LT/RT (Left/Right Triggers)
Start/Select - Start/Back
Changelog
v0.0.5
- The .CIA is used for installing onto your 3ds home screen, quicker then loading homebrew launcher
- The .3dsx is for people who are too lazy ig idk
v0.0.1
- There are multiple things wrong, please look at the README.md for information.
- This version was tested via Luma3DS v13.3.3
External links
- GitHub - https://github.com/icicle1133/3ds-Controller
- Universal-DB - https://db.universal-team.net//3ds/3ds-controller