This is essentially a Bluetooth version of the sys-con module, but with much greater compatibility.
This new release does not introduce any end-user visible features, but has been recompiled using the latest version of the Atmosphère libraries , thus ensuring full support for the console’s firmware 20.5.0.
New users are advised to consult the official documentation on the project’s main page, where installation and usage instructions are available, as well as a FAQ section to help clarify common questions.
Characteristics
- Supports all Switch firmware versions.
- Connect up to 8 Bluetooth controllers simultaneously without switches or additional hardware.
- Uses native HOS menus for controller binding, button remapping (firmware 10.0.0+), etc.
- Rumble and motion control support (compatible controllers only).
- Low input lag.
- File-based virtual controller memory that allows you to store and retrieve data such as analog stick calibration.
- Spoofing the host Bluetooth adapter name and address.
- The module
mc.mitmadds IPC extension commands that can be used to interact with the Bluetooth process without interfering with the system state.
Supported controllers
The following controllers are currently supported. If you have a third-party variant of one of the following, or a Bluetooth controller that isn’t listed, please consider submitting an issue with controller details, including vid/pid, for support.
- Nintendo Wii Remote + extensions (Nunchuck, Classic Controller, Classic Controller Pro, SNES Mini, TaTaCon (Taiko drum), MotionPlus).
- Nintendo Wii Balance Board (experimental).
- Nintendo WiiU Pro Controller.
- Sony Dualshock3 (Playstation 3) Controller.
- Sony DualShock4 (Playstation 4) Controller.
- Sony Dualsense (Playstation 5) Controller.
- Sony Dualsense Edge Controller.
- Microsoft Xbox One S/X Controller (not to be confused with Series S/X controllers – these use Bluetooth LE, which is not currently supported)*.
- Microsoft Xbox Elite Wireless Controller Series 2.
- NVidia Shield Controller (2017 Model).
- Ouya Controller.
- Gamestick Controller.
- Gembox Controller.
- iCade Controller.
- Ipega Controller (7197, 9017s, 9023, 9055, 9062S, 9076, 9078, 9087, 9096 confirmed working. Others may also work.)
- g910 Wireless Bluetooth Controller.
- Xiaomi Mi Controller.
- Steelseries Free.
- Steelseries Nimbus.
- Steelseries Stratus Duo.
- Steelseries Stratus XL.
- GameSir G3s.
- GameSir G4s.
- GameSir T1s.
- GameSir T2a.
- Hori Onyx.
- 8BitDo SN30 Pro Xbox Cloud Gaming Edition.
- 8BitDo Ultimate 2.4G Wireless Controller.
- 8BitDo ZERO (Most other 8BitDo controllers have a Switch mode available. May require a firmware update.)
- PowerA Moga Hero.
- PowerA Moga Pro.
- PowerA Moga Pro 2.
- Mad-Catz CTRLR
- Mad-Catz LYNX 3.
- Razer Raiju Tournament.
- Razer Raiju Ultimate.
- Razer Serval.
- Mocute 050.
- Mocute 053.
- Gen Game S3.
- AtGames Legends Pinball Controller + Arcade Control Panel.
- Hyperkin Scout.
- Betop 2585N2.
- Atari Wireless Modern Controller.
- SCUF Vantage 2.
Note: Not all Xbox One wireless controllers support Bluetooth. Older variants use a proprietary 2.4GHz protocol and cannot be used with the Switch console. See here for information on identifying your Bluetooth variant.
Requirements
- A hackable Nintendo Switch console with an updated version of the Atmosphère custom firmware. Other custom firmware is not supported.
- Compatible Bluetooth controller.
Installation
Download the archive .zipand extract it directly to the root directory of your SD card. For MissionControl to become active, you must restart your console.
After restarting, it is recommended that you also disconnect any physically connected controllers from the console, delete the pairing database, and reconnect via Bluetooth to ensure that existing Switch controllers have the correct hardware ID stored and can be recognized properly.
To delete the database, go to System Settings-> Controllers and Sensors-> Disconnect Controller.
Important: Atmosphère >= 1.1.0 is required to run this release. Using an older version of Atmosphère will cause Mission Control to crash on startup. Users upgrading from an older version of MissionControl are also advised to clear the pairing database and reconnect their controllers. Failure to clear old entries may result in incorrect detection of non-switch controllers.
Usage
Install MissionControl to your SD card, restart your Switch console, and pair your controllers as you normally would via the Controllers > Change Grip/Order screen . Once paired, the controllers will automatically reconnect when you wake them up.
Most native features should work (except for things like firmware updates). If you find something that doesn’t work, please file an issue.
Controller Association
Supported controllers each have their own methods for entering pairing/sync mode. Below are instructions for entering this mode for each supported type.
Wii Controller (U)
Press the red pairing button on the back of the controller. The controller’s LEDs will flash rapidly.
Dualshock 3 Controller
- Pairing Dualshock 3 controllers works a little differently than regular Bluetooth controllers as it requires the use of a USB cable.
- To pair your controller, navigate the screen as usual
Change Grip/Order. - Connect the controller to the console via the USB cable (to do this you will need a USB-C OTG adapter if in portable mode).
- When the red LEDs on the player start flashing, remove the USB cable and press the button
. Wait a few seconds and you should see the usual notification Pairedindicating that the controller is now paired with the console. - You can reconnect to the console from now on by simply pressing the button
.
Dualshock 4 Controller
Press and hold the + buttons simultaneously
until the light bar starts flashing. If done correctly, the flashing pattern will resemble a heartbeat; otherwise, it will flash periodically.
Xbox One Controller
Press and hold the drive button (X) until the LED starts flashing. Then press and hold the small sync button on the back near the charging port until the LED starts flashing more rapidly.
You should also make sure your controller firmware is up to date, as older firmwares have been known to have flakey Bluetooth.
For other controllers, please refer to your controller’s user manual for information on how to put it into pairing mode.
Other controllers
Refer to your controller’s user manual for information on how to put it into pairing mode. Note that many generic Bluetooth controllers can boot into one of several modes.
Usually you could choose something like HID, PC or Android mode to get it to work properly.
Configuring the module
A template for the configuration file will be installed in /config/MissionControl/missioncontrol.ini.template.
To change the default settings of the form, copy the template to /config/MissionControl/missioncontrol.iniand uncomment/edit the settings you want to change.
The file is only scanned at startup, so any changes you make will require a reboot to take effect. Currently, there is only a small set of configuration settings, but this will be expanded in future releases.
[general]These are the general settings for Mission Control functions.enable_rumbleEnable/disable rumble support for unofficial controllers.enable_motionEnable/disable motion control support.
[bluetooth]These settings can be used to spoof your Switch console’s Bluetooth so that it appears as another device. This can be useful (in combination with a link key) if you want to use your controller on multiple devices without having to re-pair each time. Note that changing these settings will invalidate the console information stored on any previously paired controllers and will require re-pairing.host_nameReplace the name of the Bluetooth host adapter.host_addressReplace the Bluetooth host adapter address.
[misc]These are various controller-specific settings, etc.enable_dualshock4_lightbarEnable/disable the colored LED light bar on Sony Dualshock4 controllers.enable_dualsense_lightbarEnable/disable the colored LED light bar on Sony Dualsense controllers.enable_dualsense_player_ledsEnable/disable the white player indicator LEDs below the Dualsense touchpad.dualsense_vibration_intensitySets the intensity of the Dualsense vibration, 12.5% per increment. Valid range [1-8] where 1=12.5%, 8=100%.
Removal
To functionally uninstall Mission Control and its components, simply delete the following directories from your SD card and reboot your console.
/atmosphere/contents/010000000000bd00/atmosphere/exefs_patches/bluetooth_patches
If you want to completely remove all traces of the installed software (except telemetry), you may also want to follow these additional steps:
- Remove the following directory from the SD card.
/config/MissionControl
- Clear the Bluetooth pairing database using
Impostazioni di sistema->Controller e sensori->Disconnetti controller.
Planned/ongoing features
Below is a list of features I’m currently working on or would like to explore in the future, roughly in descending order of priority. Requests are welcome if you have an idea you think would be helpful.
Rhombus support.Support for motion controls.- Bluetooth LE support.
- USB wired controllers.
- MITM UART to allow button bindings and other future features to be applied to Joy-Cons in handheld mode.
- Controller Configurations:
- Turn on/off rhombus.
- Turn motion controls on/off.
- Identify as Pro Controller or Joycon
- Sets the controller body/button colors.
- Invert the analog stick axes.
- Analog stick dead zones.
- Companion app:
- Association database management:
- View information about the associated controller.
- Clear database.
- Export database to file.
- Import existing database from file.
- Controller management/diagnostics.
- Manage controller configurations.
- View raw HID reporting data.
- Test buttons/analog sticks.
- Download SPI flash (official controllers only).
- New controller detection/pairing implementation.
- Association database management:
- Tesla Overlay.
- Keyboard and mouse support.
- Gamecube mode (analog trigger support).
- USB wired controllers.
Known issues and limitations
- Motion controls are not currently supported.
- Non-Switch controllers cannot be used to wake the system from sleep.
- Controllers using the Bluetooth LE (BLE) standard are not currently supported and will not connect to the system.
- Xbox One Elite V2 controllers are unable to complete the pairing process with the console, and in some cases, they’re causing it to crash. Without access to a physical controller, there’s not much I can do to debug the process.
- Xbox One, Wii/Wii U, and (especially) some DualShock v1 controllers may take some time to be detected and then paired with the console. Be patient and re-enter controller sync mode several times if necessary. Once synced, the controllers should function normally.
The Xbox One button layout was changed at some point in a firmware update. Make sure your controller firmware is up to date if you’re having issues with incorrect button mappings.Both layouts are now supported.- The controller battery levels reported may be incorrect. I’m relying entirely on reverse engineering notes found online for these. In many cases, I don’t own the controller and there’s simply no information available, so these controllers will always show a full battery. Any help to improve this is welcome.
- Several users have reported knockoff Wii U controllers that can’t be detected by the console during Bluetooth discovery. Unfortunately, I believe they’re using an incompatible Bluetooth chipset.
FAQ
Question: Does this work on <insert CFW here>?
Answer: No. MissionControl will only work with Atmosphère. This is not a petty act of malice towards other CFWs and their users. Others simply do not (currently) provide the framework necessary for this sysmodule to work.
Question: Does this support USB controllers?
Answer: No. MissionControl is Bluetooth only for now.
Question: Does it work with sys-con installed?
Answer: Yes, I’ve received several reports from users that the two can be used together without any issues.
Question: Installing this crashed my console!!!!!11!!1!11
Answer: No. If you get title-related errors when you restart your console 0100000000000008, you’re almost certainly using an outdated version of Atmosphere. Always install the latest version and follow the MissionControl installation instructions again.
Question: How can I use this with multiple sysNAND/emuMMC boot configurations?
Answer: Pairing controllers across multiple unique HOS installations requires multiple pairing databases and is essentially the same as pairing two different consoles. The only exception is if you paired the controllers before creating sysNAND copies. For now, you’ll need to re-pair your controllers when switching back and forth. In the future, I hope to include an option to load/store the database to the SD card to avoid this issue.
Question: Why did my official Joy-Con/Switch Pro controllers stop working over Bluetooth after installing MissionControl?Answer: You can pair these controllers via the Joy-Con guides or a USB connection. In these cases, a junk hardware ID is stored in the pairing database and the controller is not identified. Failure to identify a controller means I don’t know how its input data should be handled, so I ignore it. This issue can be resolved by physically disconnecting the controller from the console, deleting the pairing database using the System Settings -> Controllers & Sensors -> Disconnect Controller option, and then reconnecting via Bluetooth in the Change Grip/Order screen.This should no longer be an issue with the latest version of MissionControl.
Question: Why isn’t my third-party knockoff controller working?Answer: Many third-party controllers also use useless hardware IDs, making them difficult to reliably identify. If a controller can’t be identified, I ignore it, as I have no idea how to process the incoming data. I’m currently trying to find an alternative way to identify them without causing problems elsewhere.. As above.
Question: The Xbox One controller buttons aren’t mapped correctly. Can you fix it?
Answer: You didn’t read the Known Issues and Limitations section , did you? You need to update your controller’s firmware to the latest version. This can be done on Windows using the Xbox Accessories app. You can also do this on the Xbox itself.
Question: Can you add support for PS3 controllers?
Answer: It’s on my list of things to look into. The pairing process is non-standard and may require modifications to the Bluetooth driver. If it can be done non-destructively, I’ll add support.
Question: Can you add support for Xbox 360 controllers?
Answer: No. They don’t use Bluetooth. Try sys-con with a wireless USB adapter.
Question: Can you add Bluetooth audio support?
Answer: No. The Bluetooth module on the Switch only implements a small set of services necessary to run the hidden controllers. Of this small set of services, only a handful of high-level functions are exposed to the rest of the system. Adding audio support would require implementing the services needed for audio transport, for which any sane person would require an open-source reimplementation of the Bluetooth module to access the low-level functions required to run it.
Changelog
- Added support for firmware 20.5.0.
Source: gbatemp.net, x.com, biteyourconsole.net


Comments