{"id":16237799,"url":"https://github.com/darthcloud/brx","last_synced_at":"2026-01-24T19:51:58.861Z","repository":{"id":245565648,"uuid":"818632093","full_name":"darthcloud/BRX","owner":"darthcloud","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-13T23:36:27.000Z","size":161,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-02T10:30:13.530Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/darthcloud.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-22T11:49:50.000Z","updated_at":"2025-01-31T21:19:42.000Z","dependencies_parsed_at":"2024-06-22T20:35:00.093Z","dependency_job_id":"967ae995-b290-4b5c-9f39-a20d57cace4d","html_url":"https://github.com/darthcloud/BRX","commit_stats":{"total_commits":15,"total_committers":2,"mean_commits":7.5,"dds":0.06666666666666665,"last_synced_commit":"d1b5fe299420f404e3436b2c8c2e802a1cd04279"},"previous_names":["darthcloud/brx"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darthcloud%2FBRX","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darthcloud%2FBRX/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darthcloud%2FBRX/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darthcloud%2FBRX/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/darthcloud","download_url":"https://codeload.github.com/darthcloud/BRX/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247808952,"owners_count":20999804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T13:37:08.676Z","updated_at":"2026-01-24T19:51:58.822Z","avatar_url":"https://github.com/darthcloud.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"= BRX Dongle for OG XBOX documentation\n:toc: auto\n\nimage::static/BRX_green_shadow_blk.png[width=246, align=center]\n\n== Pairing Bluetooth controller\n\nThe BRX dongle is always in pairing mode (LED pulsing) if no controller is connected.\nOn first use, put you controller in pairing mode (sometime called SYNC).\nOn subsequent connection you can simply press any buttons or the power on button of the controller to automatically reconnect.\n\nRefer to this page for more detailled instruction for each controller type supported:\nhttps://github.com/darthcloud/BlueRetro/wiki/Controller-pairing-guide\n\n== BRX dongle default buttons mapping\n\n[cols=\"1,1,1,3\"]\n|===\n| BT XBOX | BT PlayStation | BT Nintendo | OG XBOX\n\n| A\n| X\n| B\n| A\n\n| B\n| O\n| A\n| B\n\n| X\n| Square\n| Y\n| X\n\n| Y\n| Triangle\n| X\n| Y\n\n| LB\n| L1\n| L\n| WHITE\n\n| RB\n| R1\n| R\n| BLACK\n\n| LT\n| L2\n| ZL\n| L\n\n| RT\n| R2\n| ZR\n| R\n\n| MENU\n| OPTIONS\n| +\n| START\n\n| VIEW\n| SHARE\n| -\n| BACK\n\n| XBOX \n| PS\n| HOME\n| Enter/Exit BRX virtual menu\n\n| SHARE\n| Touchpad click\n| Capture\n| L + R + BACK + START combo\n\n|===\n\n== BRX dongle button usages\n\nAfter you powered the system on, you can use the button on the BRX dongle as follow:\n\n* Quick press: Bluetooth controller is disconnected from the BRX dongle.\n* 3 seconds press: The BRX dongle config is reset to default.\n\n\u003c\u003c\u003c\n\n== BRX dongle virtual menu\n\nYour BRX dongle can be configured using a virtual menu operated by the connected controller.\n\n=== Entering the virtual menu\n\n. Press the ([green]#*XBOX*# | [blue]#*PS*# | [red]#*Home*#) button of your controller. \n. You will feel a short rumble feedback on a BT controller whose rumble features are supported by BRX.\n. The BRX dongle LED will turn ON to indicate you are in the menu.\n\n=== Exiting the virtual menu\n\n. Press the ([green]#*XBOX*# | [blue]#*PS*# | [red]#*Home*#) button of your controller at any step to save changes and exit the menu.\n. You will feel a longer rumble feedback on a BT controller whose rumble features are supported by BRX.\n. The BRX dongle LED will turn OFF to indicate you have exited the menu.\n\n=== Selecting one of the 4 custom mapping banks\n\n. Press the ([green]#*XBOX*# | [blue]#*PS*# | [red]#*Home*#) button of your controller to enter the menu.\n. On the DPAD, press either UP, LEFT, RIGHT or DOWN to select one of the 4 custom mapping banks. (UP is selected by default)\n. The BRX dongle will exit the menu automatically.\n\n=== Remapping a button or axis direction in the current mapping bank\n\n. Press the ([green]#*XBOX*# | [blue]#*PS*# | [red]#*Home*#) button of your controller to enter the menu.\n. Press the (*START* | [green]#*MENU*# | [blue]#*OPTIONS*# | [red]#*+*#) button of your controller to enter the remapping mode.\n. Press the *button* or *axis direction* you want to change the action of. \n. Press the *button* or *axis direction* whose action you want it to perform.\n. The BRX dongle will exit the menu automatically.\n\n\u003c\u003c\u003c\n\n=== Reverting a custom mapping bank to default\n\n. Press the ([green]#*XBOX*# | [blue]#*PS*# | [red]#*Home*#) button of your controller to enter the menu.\n. Press any of the trigger ([green]#*LT | LB | RT | RB*# | [blue]#*L2 | L1 | R2 | R1*# | [red]#*ZL | L | ZR | R*#) buttons of your controller to reset to default the currently active custom mapping bank.\n. The BRX dongle will exit the menu automatically.\n\n=== Configuring autofire on a button or axis direction\n\n. Press the ([green]#*XBOX*# | [blue]#*PS*# | [red]#*Home*#) button of your controller to enter the menu.\n. Press the (*SELECT* | [green]#*VIEW*# | [blue]#*SHARE*# | [red]#*-*#) button of your controller to enter the autofire configuration mode.\n. Press a button to enable autofire. Press it again or UP/DOWN on the DPAD or thumbsticks to toggle between 3 autofire speeds and disabled. +\nAfter each press the BRX dongle LED will flash accordingly to the currently set autofire speed. (Solid ON meaning autofire is disabled)\n. Press the ([green]#*XBOX*# | [blue]#*PS*# | [red]#*Home*#) button again to exit the autofire configuration mode.\n\n=== Enabling \u0026 disabling rumble feedback\n\n. Press the ([green]#*XBOX*# | [blue]#*PS*# | [red]#*Home*#) button of your controller to enter the menu.\n. Press the ([green]#*X*# | [blue]#*Square*# | [red]#*Y*#) button of your controller to toggle the current rumble feedback configuration between enabled and disabled.\n. The BRX dongle will exit the menu automatically.\n\n=== Disconnecting the BT controller from the dongle\n\n. Press the ([green]#*XBOX*# | [blue]#*PS*# | [red]#*Home*#) button of your controller to enter the menu.\n. Press the ([green]#*A*# | [blue]#*X*# | [red]#*B*#) button of your controller to disconnect your controller from the dongle.\n. The BRX dongle will exit the menu automatically.\n\n=== Enabling \u0026 Disabling BT pairing mode while controller connected\n\n. Press the ([green]#*XBOX*# | [blue]#*PS*# | [red]#*Home*#) button of your controller to enter the menu.\n. Press the ([green]#*B*# | [blue]#*O*# | [red]#*A*#) button of your controller to toggle BT pairing mode between enabled and disabled.\n. The BRX dongle will exit the menu automatically.\n\n\u003c\u003c\u003c\n\n=== Joysticks \u0026 Triggers neutral position calibration\n\nOnly use this if your controller joysticks or triggers are off center due to wear.\n\n. Press the ([green]#*XBOX*# | [blue]#*PS*# | [red]#*Home*#) button of your controller to enter the menu.\n. Leave the joysticks and triggers in their neutral position.\n. Press the ([green]#*Y*# | [blue]#*Triangle*# | [red]#*X*#) button of your controller to calibrate the joysticks and triggers neutral position.\n. The BRX dongle will exit the menu automatically.\n\n\u003c\u003c\u003c\n\n== Advance config via the BLE Web interface\n\nOnly Chromium-based browser are supported (ex: Google Chrome).\n\nBRX dongle custom mappings can be configured via the BLE Web config. This interface allows you to configure a few extra settings from a phone or Bluetooth-capable PC.\n\n* Visit this address and click the \"Connect BRX\" button to open a Bluetooth device pairing menu. Select the BRX from the device list and click \"Pair\" to access to configuration menu.\n  https://darthcloud.github.io/brxWebCfg/\n* Note: If the Bluetooth device pairing menu does not open and you are using a Chromium-based browser, open a new browser tab and enter `chrome://flags`, search for \"Web Bluetooth API\", and set the option to Enabled. At this time, it appears that Firefox does not have an option to access Bluetooth devices.\n\nUp to 48 mappings can be added in each mapping bank. Simply click on +/- buttons to add or remove a mapping. You can use the Src label to select the actual BT controller type you are currently using. The labels selection is only to help you make the mapping selection and has no effect on the config otherwise.\n\nThe \"Select mapping bank\" drop-down menu lets you select the active mapping bank for which the setting will be saved to. You need to save for each modified device mapping setting.\n\nFor each mapping, you can configure various options which may or may not be used based on what the source and destination for a button or an axis are and vice versa.\n\nIf all you want to do is a simple button remapping, all you need to touch is the Src and Dest columns. Leave everything else as the default value.\n\n* Src: This is the source button/axis on the Bluetooth controller\n* Dest: This is the destination button/axis on the wired interface.\n* Max: If source \u0026 destination is an axis, then this is the scaling factor based on the destination maximum. +\nIf source is a button \u0026 destination is an axis, then this is the value based on destination axis maximum.\n* Threshold: If source is an axis and destination is a button, this is the threshold required on the source axis before the button is pressed.\n* Deadzone: This is the axis dead zone around the reset value.\n* Turbo: Turbo function based on the system frame rate.\n\n\u003c\u003c\u003c\n\n== Firmware Update over Wi-Fi\n\n. Turn your Xbox console off.\n. Connect the BRX dongle into one of the controller slots.\n. Hold the BRX dongle button and simultaneously power on the Xbox console. Once the power is on, release the BRX dongle button.\n. The LED on the dongle will be solid ON and do two quick OFF blinks every second, indicating it is attempting to connect to Wi-Fi.\n. If Wi-Fi is configured already, skip to step 10.\n. If Wi-Fi is not yet configured on the BRX dongle, the adapter will stay in the blinking state until you configure it.\n. Install the Espressif \"Soft-AP\" provisioning App on your phone. +\nApple: https://apps.apple.com/cn/app/esp-softap-provisioning/id1474040630 +\nAndroid: https://github.com/espressif/esp-idf-provisioning-android/releases\n. Scan the following QR code within the Espressif App. +\nimage:static/xbox_qr_code.png[]\n. Once the app is connected to the dongle, select the Wi-Fi Network you want to connect to and enter the password for the network.\n. Once connected, the LED pattern will change to two quick ON blinks every second.\n. Once completed, the dongle will reboot and the LED will be pulsing to indicate it's in Bluetooth paring mode.\n\n== Updating the Wi-Fi configuration for FW update\n\n* After 5 failed Wi-Fi connection attempts, the Wi-Fi settings will be reset and will be reconfigurable via the Espressif app.\n* Alternatively, you can also factory reset the BRX adapter.\n\n== Factory reset\n\n. Turn your Xbox console off.\n. Connect the BRX dongle into one of the controller slots.\n. Hold the BRX dongle button and simultaneously power on the Xbox console. Keep holding the button for around 8 seconds and then release it.\n. Once done, the dongle will reboot and the LED will be pulsing to indicate it's in Bluetooth paring mode.\n\n== Support BRX with linux's xpad driver\n\n. Disconnect BRX dongle from PC.\n. Create a file named `/etc/udev/rules.d/98-brx.rules` and add the following content to it:\n+\n----\nACTION==\"add\", ATTRS{idVendor}==\"303A\", ATTRS{idProduct}==\"81EB\", RUN+=\"/sbin/modprobe xpad\" RUN+=\"/bin/sh -c 'echo 303A 81EB \u003e /sys/bus/usb/drivers/xpad/new_id'\"\n----\n\n. Run `sudo udevadm control --reload`\n. Connect adapter to PC. It should now be using the xpad driver.\n\n== Support BRX with MiSTerFPGA\n\nFollow the instructions in this repo:\nhttps://github.com/darthcloud/MiSTer_BRX\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarthcloud%2Fbrx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarthcloud%2Fbrx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarthcloud%2Fbrx/lists"}