How to install and use NXBT (Switch 1 and Switch 2 supported)

Hi, thank you so much for this tutorial! I managed to get the webapp working with your instruction, but my switch 2 is not detecting any controller on Change Grip menu. Are there additional steps that I need to do in order for the pi to be recognised?
Post automatically merged:

i manually connected my switch via bluetoothctl, so everything works as expected now!
Hi, may I ask how did you connect via bluetoothctl? I did scan on and I'm not seeing my switch 2 on it
 
Last edited by laceptable,
uhm im getting an error trying to run the executable saying "/usr/local/bin/nxbt: 1 : Syntax error: Unterminated quote string"
this is on ubuntu jammy jellyfish
Send a screenshot of your whole console please

Hi, thank you so much for this tutorial! I managed to get the webapp working with your instruction, but my switch 2 is not detecting any controller on Change Grip menu. Are there additional steps that I need to do in order for the pi to be recognised?
Post automatically merged:


Hi, may I ask how did you connect via bluetoothctl? I did scan on and I'm not seeing my switch 2 on it
You may need a different Bluetooth adapter. Not all are supported
 
I managed to get the webapp working with your instruction, but my switch 2 is not detecting any controller on Change Grip menu.
Is your Switch 1 also up to date (FW: 20.5.0)? My Switch 1 or 2 with the latest system doesn't work.
 
Is your Switch 1 also up to date (FW: 20.5.0)? My Switch 1 or 2 with the latest system doesn't work.
I am on 20.5.0

If the CLI doesn’t work you may need to do the Bluetooth troubleshooting at the bottom of the thread or need a different Bluetooth adapter
 
I am on 20.5.0

If the CLI doesn’t work you may need to do the Bluetooth troubleshooting at the bottom of the thread or need a different Bluetooth adapter
I have tried 2 different Bluetooth adapters, and bought another 2 different CHIPs. Will try and update the result. thanks!
 
Send a screenshot of your whole console please

Screenshot 2025-10-28 143016.png

here you go
 
Last edited by TheStonedModder,
Send a screenshot of your whole console please


You may need a different Bluetooth adapter. Not all are supported
I switched to using a raspberry pi 5. If it worked for you on pi 4, it should work for pi 5 right? All the commands and instructions work, but my switch 2 is just not detecting a new controller. Have you tried on switch 2? Or is there a setting I need to enable?
 
I finally get it working. I found it's not about the Bluetooth adapter (I have totally bought at least 3 different ones).
I used Pi4 with Debian 11 (image: https://downloads.raspberrypi.org/r...2023-05-03-raspios-bullseye-arm64-full.img.xz)
Which I can get BlueZ v5.55:
Code:
$ bluetoothctl --version
bluetoothctl: 5.55
$

At least, I know it's not Bluetooth adapter issue. RPi 4 build-in is working with the proper driver.
But I still want to run it on Pi 5... have to figure out how to do that easily.

1761723611215.png
 
  • Like
Reactions: bankbn
I finally get it working. I found it's not about the Bluetooth adapter (I have totally bought at least 3 different ones).
I used Pi4 with Debian 11 (image: https://downloads.raspberrypi.org/r...2023-05-03-raspios-bullseye-arm64-full.img.xz)
Which I can get BlueZ v5.55:
Code:
$ bluetoothctl --version
bluetoothctl: 5.55
$

At least, I know it's not Bluetooth adapter issue. RPi 4 build-in is working with the proper driver.
But I still want to run it on Pi 5... have to figure out how to do that easily.

View attachment 535938
Just to confirm, you are doing this on the switch 2 right? Pi5 with bluetoothctl version 5.82 worked on my swtich 1 but not my switch 2.
 
It was working with my Switch 1 (with F/W 20.5.0). So far, it's not working on Switch 2.
Hmm, then we are on the same boat. I can't get it to work on switch 2 as well, but it worked on switch 1. I saw a couple youtube evidences that proved that it can be done on switch 2, but no one is able to pinpoint what they did exactly to make it work it seems.
 
I finally get it working. I found it's not about the Bluetooth adapter (I have totally bought at least 3 different ones).
I used Pi4 with Debian 11 (image: https://downloads.raspberrypi.org/r...2023-05-03-raspios-bullseye-arm64-full.img.xz)
Which I can get BlueZ v5.55:
Code:
$ bluetoothctl --version
bluetoothctl: 5.55
$

At least, I know it's not Bluetooth adapter issue. RPi 4 build-in is working with the proper driver.
But I still want to run it on Pi 5... have to figure out how to do that easily.

View attachment 535938
That is helpful to know

Thank you for the update. This being an old project with not a lot of documentation doesn’t make any of this process easier 🤣

Just to confirm, you are doing this on the switch 2 right? Pi5 with bluetoothctl version 5.82 worked on my swtich 1 but not my switch 2.

It was working with my Switch 1 (with F/W 20.5.0). So far, it's not working on Switch 2.
I’ll be honest, while I had this working on switch 2

Once I moved to Pokemon automation I stopped using this. It’s much more reliable

It’s kind of annoying to look around all the Pokemon bits if you do not care about it.

But the tooling offers a macro mode and full keyboard control. So you can record your keyboard inputs and play them back that way to make your own functionality really

You can also ignore all the capture card parts

https://pokemonautomation.github.io/Programs/NintendoSwitch/TurboMacro.html

https://pokemonautomation.github.io/Programs/NintendoSwitch/RecordKeyboardController.html
 
That is helpful to know

Thank you for the update. This being an old project with not a lot of documentation doesn’t make any of this process easier 🤣




I’ll be honest, while I had this working on switch 2

Once I moved to Pokemon automation I stopped using this. It’s much more reliable

It’s kind of annoying to look around all the Pokemon bits if you do not care about it.

But the tooling offers a macro mode and full keyboard control. So you can record your keyboard inputs and play them back that way to make your own functionality really

You can also ignore all the capture card parts

https://pokemonautomation.github.io/Programs/NintendoSwitch/TurboMacro.html

https://pokemonautomation.github.io/Programs/NintendoSwitch/RecordKeyboardController.html
Wow thanks for this, I actually ordered an ESP32-S3 for pokemon automation, but I didnt see any macro mode on their page. While I'm working with typenoob to get nxbt working on my switch 2, I guess it is worth exploring something that is at least more reliable.
 
  • Like
Reactions: TheStonedModder
Just to confirm, you are doing this on the switch 2 right? Pi5 with bluetoothctl version 5.82 worked on my swtich 1 but not my switch 2.
I just tried Pi5 (latest Debian 13/trixie image) which runs with bluez v5.82.
Just use the following steps, I can't get it work. Did you need to change some settings to get it work on Switch 1?

Code:
wget https://github.com/typenoob/nxbt/releases/download/Build_2023.10.29/nxbt-gnu-aarch64
chmod +x nxbt-gnu-aarch64
sudo mv nxbt-gnu-aarch64 /usr/local/bin/nxbt

sudo nxbt webapp

Thanks!
Post automatically merged:

Just to confirm, you are doing this on the switch 2 right? Pi5 with bluetoothctl version 5.82 worked on my swtich 1 but not my switch 2.
Hi, I finally get it work on Switch 1 with BlueZ v5.82 as well. To accept the pairing via bluetoothctl prompt by manual.


Code:
root@raspberrypi:/# sudo bluetoothctl
Agent registered
AdvertisementMonitor path registered
[bluetoothctl]>
...
...
[NEW] Device 5C:52:1E:xx:xx:xx Nintendo Switch
Request authorization
[agent] Accept pairing (yes/no): yes
...
...

(UPDATED!)
I just confirmed that it is also working on my Switch 2.
Code:
hci0 new_settings: powered connectable bondable ssp br/edr le secure-conn
[CHG] Controller 2C:CF:67:xx:xx:xx Connectable: yes
hci0 new_settings: powered connectable discoverable bondable ssp br/edr le secure-conn
hci0 class of device changed: 0x002508
[CHG] Controller 2C:CF:67:xx:xx:xx Discoverable: yes
[CHG] Controller 2C:CF:67:xx:xx:xx Class: 0x00002508 (9480)
[NEW] Device E0:EF:BF:xx:xx:xx Nintendo Switch
Request authorization
[agent] Accept pairing (yes/no): yes
[CHG] Device E0:EF:BF:xx:xx:xx Modalias: bluetooth:v05xxp20xxdxxxx
[CHG] Device E0:EF:BF:xx:xx:xx UUIDs: 0000110a-0000-1000-8000-00805fxxxxxx
[CHG] Device E0:EF:BF:xx:xx:xx ServicesResolved: yes
[CHG] Device E0:EF:BF:xx:xx:xx Paired: yes
[Nintendo Switch]>

But I may try another module later: https://github.com/mart1nro/joycontrol
 
Last edited by Mike72,
  • Like
Reactions: TheStonedModder
I just tried Pi5 (latest Debian 13/trixie image) which runs with bluez v5.82.
Just use the following steps, I can't get it work. Did you need to change some settings to get it work on Switch 1?

Code:
wget https://github.com/typenoob/nxbt/releases/download/Build_2023.10.29/nxbt-gnu-aarch64
chmod +x nxbt-gnu-aarch64
sudo mv nxbt-gnu-aarch64 /usr/local/bin/nxbt

sudo nxbt webapp

Thanks!
I did these steps too, with the recommended OS for pi 5 on pi imager. One additional step I did was bluetoothctl discoverable on, but I'm not sure if that is the thing that made the difference. Perhaps you can try and let me know. Another thing to note is that I had to use a mouse and click "yes" to the prompt that came up on my pi5 when connecting, so I think you need to connect a display to it instead of just ssh?
 
  • Like
Reactions: TheStonedModder

Site & Scene News

Popular threads in this forum