• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
RetroPie forum home
  • Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

8Bitdo NES30 Pro Bluetooth controllers not registering right analog left and right positions properly

Scheduled Pinned Locked Moved Help and Support
bluetoothcontroller8bitdo nes30 pranalogright
64 Posts 10 Posters 10.9k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G
    GeekOB
    last edited by GeekOB 22 Feb 2019, 15:44

    Raspberry Pi 3 Model B
    2.5A Power Supply with USB 3 cable)
    RetroPie Version 4.4.8 (5dff90ef)
    Built From: 4.4 SD Image from retropie.org.uk
    USB Devices connected: flash drive for movie file watching on Kodi
    Controller used: 2 x 8Bitdo NES30 Pro Bluetooth controller
    Emulationstation version 2.8.1RP
    Error messages received: None (see below)

    I noticed this issue after the last two updates.
    I have two 8Bitdo NES30 Pro Bluetooth controllers, both are detected properly through the Bluetooth RetroPie-Setup Script and input configuration goes well in ES until the right analog stick left and right positions, I'm able to map right to +2 but left will not detect movement at all, same behavior for both controllers.
    Editing the mapping files for both Retroarch and ES has no effect.
    Happy to provide more details if this helps.

    M Z 2 Replies Last reply 22 Feb 2019, 15:48 Reply Quote 0
    • M
      mitu Global Moderator @GeekOB
      last edited by 22 Feb 2019, 15:48

      @GeekOB Thanks for opening a new topic. Can you try to see if the Left/Right joystick movements are registered by RetroPie ? Exit Emulationstation (leave just one Joystick connected), then type on the command line

      jstest /dev/input/js0
      

      It should print a map of your gamepad (buttons/joysticks) and you can press buttons/toggle joysticks to see if the action is registered.

      These controllers have multiple 'connect' modes (Android/PC/Switch, etc.) - did you choose a specific 'mode' to connect ?

      G 1 Reply Last reply 22 Feb 2019, 16:15 Reply Quote 0
      • G
        GeekOB @mitu
        last edited by GeekOB 22 Feb 2019, 16:15

        @mitu Thanks for the quick reply:
        I obtained same results for both controllers:

        Axes:
        0: action registered (left stick, x axis)
        1: action registered (left stick, y axis)
        2: action registered (right stick, x axis)
        3: action registered (right stick, y axis)
        4: stuck at -32767, action registered and changed to 32767 when R2 button, identified as button 9 below, is pressed
        5: stuck at -32767, action registered and changed to 32767 when L2 button, identified as button 8 below, is pressed
        6: action registered (D-Pad)
        7: action registered (D-Pad)

        Buttons:
        0: action registered (A)
        1: action registered (B)
        2: action registered (on/off button)
        3: action registered (X)
        4: action registered (Y)
        5: none
        6: action registered (L1)
        7: action registered (R1)
        8: action registered (L2)
        9: action registered (R2)
        10: action registered (Select)
        11: action registered (Start)
        12: none
        13: action registered (Left Analog stick thumb push)
        14: action registered (Right Analog stick thumb push)
        15: none

        I didn't have to select any mode to connect.
        There were no buttons pressed for the tagged as none. So I guess the controllers are fully working :)

        M 1 Reply Last reply 22 Feb 2019, 17:05 Reply Quote 0
        • M
          mitu Global Moderator @GeekOB
          last edited by 22 Feb 2019, 17:05

          @GeekOB Seems that L2/R2 are registered as axis and not buttons ? That sounds like an Xbox compatible adapter. I'd try one of the following

          • install the xpad driver and see if you get anything different.
          • start the controller in Switch mode (Start + Y) and re-pair it via BT, then configure it in ES.
          G 1 Reply Last reply 22 Feb 2019, 19:08 Reply Quote 0
          • G
            GeekOB @mitu
            last edited by 22 Feb 2019, 19:08

            @mitu It is possible that they're being detected as "triggers"?
            would your suggestions work to fix the right analog stick issue? I'm actually interested in that, not the L2/R2 buttons :)
            Thanks!

            M 1 Reply Last reply 22 Feb 2019, 19:11 Reply Quote 0
            • M
              mitu Global Moderator @GeekOB
              last edited by 22 Feb 2019, 19:11

              @GeekOB Try the Switch mode for the connection.

              G 1 Reply Last reply 25 Feb 2019, 16:42 Reply Quote 0
              • G
                GeekOB @mitu
                last edited by 25 Feb 2019, 16:42

                @mitu Thanks for your guidance, I now realize what you meant by the modes. I had been using the Android mode since the beginning (press and hold the Power button). The Switch mode works perfectly fine, I was able to configure and map all buttons and axes, the controllers are now detected as "Pro Controller" instead of "8Bitdo NES30 Pro"
                My question is, Android mode used to work before, is it possible to make it work again? It's definitely better to not press a combination of keys every single time you want to turn on a controller.
                Thank you once again!

                M 1 Reply Last reply 25 Feb 2019, 17:14 Reply Quote 0
                • M
                  mitu Global Moderator @GeekOB
                  last edited by 25 Feb 2019, 17:14

                  @GeekOB I think that depends on the firmware - the button mapping. AFAIK once you start the controller with one 'mode', subsequent starts will start in the same 'mode' as it was paired - so you don't have to start it with 'Start + Y' every time - give it a try.

                  1 Reply Last reply Reply Quote 0
                  • E
                    ExarKunIv
                    last edited by 22 Mar 2019, 17:15

                    I have the same problem at the OP, and switching the mode did fix it, but you have to start the controller each time in that mode.

                    so to get it in pro controller mode you have to hold the power and y each time. just pushing the power will just power on the controller on android mode.

                    i have both a FC30 PRO and a NES30 PRO and i have to do it to both. and i have firmware 4.10 on both

                    stinks that something changed where android mode does not work now :(

                    RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                    RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                    Maintainer of RetroPie-Extra .

                    1 Reply Last reply Reply Quote 0
                    • G
                      G30FF
                      last edited by 22 Mar 2019, 21:57

                      I just wanted to chime in that I had the same problem with my N30 Pro 2 controller not registering the right analog stick pressing left in bluetooth mode, and that uninstalling and reinstalling the xpad driver fixed it. This was running it in D-Input mode.

                      E 1 Reply Last reply 25 Mar 2019, 13:15 Reply Quote 0
                      • E
                        ExarKunIv @G30FF
                        last edited by 25 Mar 2019, 13:15

                        @G30FF is your controller in android mode. i have tryed the reinstall xpad install and it did nothing. the only way i got my right stick to be seen was to have the controller boot into switch mode

                        RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                        RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                        Maintainer of RetroPie-Extra .

                        G 1 Reply Last reply 1 Apr 2019, 14:12 Reply Quote 0
                        • R
                          Rion
                          last edited by 26 Mar 2019, 02:03

                          @GeekOB Have you tried older versions of the firmware for the NES30 Pro?

                          Here you can find all the releases for every 8bitdo controller that's been made from the official website. Not easy to find but it's there.

                          FBNeo rom filtering
                          Mame2003 Arcade Bezels
                          Fba Arcade Bezels
                          Fba NeoGeo Bezels

                          1 Reply Last reply Reply Quote 0
                          • E
                            ExarKunIv
                            last edited by 27 Mar 2019, 20:29

                            well after testing i cant my N30 Pro or FC30 pro to work once i update my Pi to version 4.4.9 and yes i have also gone up to version 4.4.11

                            i have downloaded all the firmwares from what @Rion posted and nothing seems to work, and yes i have uninstalled and reinstalled xpad drivers

                            so far nothing seems to work.

                            posted issue on github

                            RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                            RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                            Maintainer of RetroPie-Extra .

                            M 1 Reply Last reply 27 Mar 2019, 20:42 Reply Quote 0
                            • M
                              mitu Global Moderator @ExarKunIv
                              last edited by mitu 27 Mar 2019, 20:42

                              @ExarKunIv Can you try updating your Emulationstation package ? There was a recent update for the SDL libraries and since Emulationstation is technically at fault here, it might help to test with the new updated SDL2.

                              EDIT: just to confirm, is your controller started in Dinput mode - otherwise I don't think the xpad driver would have any effect ?

                              E 1 Reply Last reply 28 Mar 2019, 03:28 Reply Quote 0
                              • E
                                ExarKunIv @mitu
                                last edited by 28 Mar 2019, 03:28

                                @mitu I did update the Emulationstation package. No luck.

                                I'm not sure I get what mode you are talking about. As far as I know it is just a default one. The one that is just with the power button. I'm not pressing any other buttons when I'm powering on the controller

                                RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                                RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                                Maintainer of RetroPie-Extra .

                                M 1 Reply Last reply 28 Mar 2019, 04:35 Reply Quote 0
                                • M
                                  mitu Global Moderator @ExarKunIv
                                  last edited by mitu 28 Mar 2019, 04:35

                                  @ExarKunIv OK, then let's debug this further.

                                  Exit Emulationstation, then from the terminal run

                                  emulationstation --debug
                                  

                                  Emulationstation should start in debug mode, and more messages are logged in it's log file. Run the input configuration again and map the buttons, then exit emulationstation.

                                  Save the following files:

                                  • /home/pi/.emulationstation/es_log.txt
                                  • /home/pi/.emulationstation/es_input.cfg
                                  • /opt/retropie/configs/all/retroarch-joypads/<controller-name.cfg

                                  Paste their output to pastebin.com so we can take a look and see how the input is managed by ES and the configuration file is generated.

                                  E 1 Reply Last reply 28 Mar 2019, 13:10 Reply Quote 0
                                  • E
                                    ExarKunIv @mitu
                                    last edited by 28 Mar 2019, 13:10

                                    @mitu thanks for getting back to me

                                    heres what you asked me to do

                                    es_log txt
                                    8bitdo FC30 Pro cfg
                                    es_input cfg

                                    RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                                    RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                                    Maintainer of RetroPie-Extra .

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      mitu Global Moderator
                                      last edited by mitu 28 Mar 2019, 17:21

                                      Looking at your controller mapping session, I see that RightAnalogLeft button is not mapped in Emulationstation

                                       Mapping [Axis 1-] -> LeftAnalogUp
                                      Mapping [Axis 1+] -> LeftAnalogDown
                                      Mapping [Axis 0-] -> LeftAnalogLeft
                                      Mapping [Axis 0+] -> LeftAnalogRight
                                      Mapping [Axis 3-] -> RightAnalogUp
                                      Mapping [Axis 3+] -> RightAnalogDown
                                      Mapping [Axis 2+] -> RightAnalogRight
                                      

                                      The 8Bitdo FC30 Pro.cfg file for RetroArch (that you posted) is obviously also missing that part:

                                      # Entries re-arranged for readability
                                      
                                      # Left joystick
                                      input_l_x_minus_axis = "-0"
                                      input_l_x_plus_axis = "+0"
                                      input_l_y_minus_axis = "-1"
                                      input_l_y_plus_axis = "+1"
                                      
                                      # Right Joystick
                                      input_r_x_plus_axis = "+2"
                                      input_r_y_minus_axis = "-3"
                                      input_r_y_plus_axis = "+3"
                                      

                                      Looking into a RetroArch auto-configuration file for a similar gamepad - see https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/udev/8Bitdo_Pro_F30_BT.cfg -, I see that the joystick controls are similarly mapped, the only difference is the added input_r_x_minus_axis (i.e. the RightAnalogLeft missing from your mapping session in Emulationstation).

                                      So, are you sure you actually mapped the Right Joystick Left trigger in Emulationstation and you didn't accidentally skip it ? Does it not register at all in Emulationstation in the input configuration dialog ?

                                      E 1 Reply Last reply 28 Mar 2019, 19:01 Reply Quote 0
                                      • E
                                        ExarKunIv @mitu
                                        last edited by 28 Mar 2019, 19:01

                                        @mitu nope i have done it more times then i would like to say. each time it just will not see it. i have skipped it and gone back to it. it just does not see it

                                        but if i map it on a clean 4.4 load with out updating anything it will work like a champ.

                                        but if i put the controller into switch mode. which Emulationstation will see it as a pro controller. then it will work. but i will have to remember that i need to boot the controller in switch mode each time

                                        and i did use jstest and the 2 axes which it the right stick, left and right. it does show a number code as i move it about, both positive and negative

                                        RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                                        RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                                        Maintainer of RetroPie-Extra .

                                        M 1 Reply Last reply 28 Mar 2019, 19:12 Reply Quote 0
                                        • M
                                          mitu Global Moderator @ExarKunIv
                                          last edited by 28 Mar 2019, 19:12

                                          @ExarKunIv Can you download and install sdl-jstest and then repeat the controller testing ?

                                          E 1 Reply Last reply 28 Mar 2019, 19:53 Reply Quote 0
                                          • First post
                                            Last post

                                          Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                          Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.

                                            This community forum collects and processes your personal information.
                                            consent.not_received