Xbox Switch Bridge
Use your Xbox controller with Nintendo Switch via Raspberry Pi.
Requirements
- Raspberry Pi (tested on Pi 4 and Pi 3B+)
- Bluetooth capability
- Python 3.7+
- Root access for Bluetooth operations
- Xbox Controller (tested with Xbox Series X/S controllers)
- Nintendo Switch
System Dependencies
Before installing, make sure you have the required system packages:
sudo apt-get update
sudo apt-get install -y python3-pip python3-dev bluetooth bluez bluez-tools raspberrypi-kernel-headers dkms git
Installing xpadneo Driver
The xpadneo driver is required for Xbox wireless controller support. The installation script will handle this automatically, but if you want to install it manually:
# Clone the repository
git clone https://github.com/atar-axis/xpadneo.git
# Navigate to the directory
cd xpadneo
# Install
sudo ./install.sh
# Reboot is required after installation
sudo reboot
Installation
- Install the package:
sudo pip install xbox-switch-bridge
- Run the post-installation setup:
sudo xbox-switch-bridge --install
This will:
- Install xpadneo driver if not present
- Configure Bluetooth settings
- Install and enable the systemd service
- Set up required permissions
Usage
As a Service
Once installed, the bridge will start automatically on boot. You can manage it with:
sudo systemctl start xbox-switch-bridge # Start the service
sudo systemctl stop xbox-switch-bridge # Stop the service
sudo systemctl status xbox-switch-bridge # Check status
Manual Usage
Run directly (requires root):
sudo xbox-switch-bridge --run
Troubleshooting
- Check the logs:
sudo journalctl -u xbox-switch-bridge
- Verify Bluetooth:
sudo systemctl status bluetooth
bluetoothctl show
- Check xpadneo driver:
dkms status | grep xpadneo
ls /sys/module/xpadneo
- Common issues:
- Controller not detected: Ensure it's in pairing mode and xpadneo is properly installed
- Switch not connecting: Open the "Change Grip/Order" menu
- Permission errors: Make sure you're running as root
- Controller not responding: Try re-pairing the controller or check xpadneo installation
Uninstallation
sudo xbox-switch-bridge --uninstall
sudo pip uninstall xbox-switch-bridge
To also remove xpadneo:
sudo dkms remove xpadneo/latest --all
License
MIT
Release files for xbox-switch-bridge 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xbox_switch_bridge-0.4.0.tar.gz | 9.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xbox_switch_bridge-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.5 kB
Release files / xbox_switch_bridge-0.4.0.tar.gz
| Download URL | xbox_switch_bridge-0.4.0.tar.gz |
|---|---|
| Size | 9.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1c885b551ddcfe5e02f15ebac498a0826891cce3b352dfbe6cf6cedfd20cc877
|
|
BLAKE2b-256 checksum How to use checksums |
ad166a041f1ebde83f624fc996ead073d00ece5731f11cca53c4ab2e815c9b66
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.9.19
|
Release files / xbox_switch_bridge-0.4.0-py3-none-any.whl
| Download URL | xbox_switch_bridge-0.4.0-py3-none-any.whl |
|---|---|
| Size | 10.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
17a945f2757bddda60fd4df709b4740045d02a4e500e0141f6c5aead490fb309
|
|
BLAKE2b-256 checksum How to use checksums |
cb8cede333dcadafc345ff99e716e218ac5cdc07ff511437bd2012b72917f047
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.9.19
|