Skip to content

konwektor/BlueRetro

 
 

Repository files navigation

BROGX

BROGX allows playing on Xbox completely wirelessly with all Bluetooth gamepads supported by BlueRetro.

Build from 2 parts

  • one ESP-WROOM-32 chip/ESP32-WROOM32d DevkitC V4. module
  • max.4 ATMEGA32U4 / Arduino pro micro/leonardo

This project combines BlueRetro by DarthCloud and OGX360 by Ryzee119.
Based on code and concept by netham45: https://github.com/netham45/BlueRetro.
An ESP32 allows connecting Bluetooth gamepads, and with modified BlueRetro software, data is sent over I2C to an Arduino.
The Arduino communicates with the Xbox over USB. A modification to the OGX360 software removes the master device and sets all as slaves.

Main Features

  • Bluetooth gamepads supported by BlueRetro
  • Web Config (https://konwektor.github.io/BlueRetroWebCfg/)
    Added OGX360 to the game system list to unlock more functions (key bindings, combo shortcuts, etc.) - works same way as orginal webcfg for BlueRetro
  • Port detection via Current Trigger
  • Port detection via isolated port Shield
    Detects when a physical controller is connected and disconnects the Bluetooth controller on this port to make room for a wired one.
  • Xbox Power ON/OFF with Bluetooth Controller
    Allows turning the console on and off with the controller (only in HW2 internal builds under specific conditions).
  • Port Status LED
    Indicates the current status of each controller port.
    • Solid - BT controller connected,
    • Pulsing - Bluetooth inquiry mode enable (new pairing).
    • Off - no controller or port occupied by wired gamepad
  • Global Status LED
    Indicates the overall status of the ESP.
    • Solid: An error occured, try power cycle, check serial logs for detail.
    • Pulsing: Bluetooth inquiry mode enable (new pairing).
    • Off: No error and Bluetooth inquiry mode disabled.

READ THIS FIRST

User manual — Information about the adapter, programming, and hardware build details.

Update to Blueretro v25.10-beta

Quick info:

master is based on BlueRetro v25.10-beta (includes subsequent changes up to the latest commit; exact tracking is limited due to non-linear history).

- HW2 power on/off using gamepad combo
- HW2 DVD tray eject using gamepad combo  
- HW2 DVD tray button:    
  Short push: Tray eject
  1s < hold < 3s: Toggle Bluetooth inquiry start/stop (pairing mode)
  3s < hold < 6s: Disconnect all connected Bluetooth gamepads
  6s < hold: ESP32 firmware reset  
- Restore rumble feedback for active port as DEV_PAD default config
  Push Xbox button: Gamepad will rumble shortly n-times (where n = port number)
- Move virtual menu to DEV_PAD_ALT config

This version need also updating arduino firmware in case of use hw2, use mine fork at https://github.com/konwektor/ogx360. If You already got software for BlueRetro support in arduino, and staying by hw1 - no update is needed.

This can be compiled the same as BlueRetro.
Copy /configs/hw1/ogx360 or /configs/hw2/ogx360 to Your /Blueretro/sdkconfig
Update esp-idf to 5.5.0 2024-12-02, and rund "esp.py build".

Or just go to Releases, and download already compiled files.

Need help? Found Bug? Any Ideas?


  • All Xbox one x/s series x/s controllers working with rumble, no delay no stuck.

  • Wiiu pro rumble tested and working

  • Ps4 , ps5 rumble tested and working

  • All other bluetooth gamepads supported by Blueretro should work - not tested - got any???? Give me feedback.


BlueRetro


BlueRetro is a multiplayer Bluetooth controllers adapter for various retro game consoles & computers. Lost or broken controllers? Reproduction too expensive? Need those rare and obscure accessories? Just use the Bluetooth devices you already got! The project is open source hardware & software under the CERN-OHL-P-2.0 & Apache-2.0 licenses respectively. It's built for the popular ESP32 chip. Wii, Switch, PS3, PS4, PS5, Xbox One, Xbox Series X|S & generic HID Bluetooth (BR/EDR & LE) devices are supported. Parallel 1P (Computers, NeoGeo, Supergun, JAMMA, Handheld, etc), Parallel 2P (Atari 2600/7800, Master System, Computers, etc), NES, PCE / TG16, Mega Drive / Genesis, SNES, CD-i, 3DO, Jaguar, Saturn, PSX, PC-FX, JVS (Arcade), Virtual Boy, N64, Dreamcast, PS2, GameCube & Wii extension are supported with simultaneous 4+ players using a single adapter.

READ THIS FIRST

Need help?

Makers sponsoring BlueRetro

Buying BlueRetro adapters from these makers helps support the continued development of the BlueRetro firmware!
Thanks to all sponsors!

Community Contribution


About

BROGX : mix of BlueRetro https://github.com/darthcloud/BlueRetro by DarthCloud and OGX360 https://github.com/Ryzee119/OGX360 by Ryzee119 Based on code and concept by netham45 https://github.com/netham45/BlueRetro This is a modified version of BlueRetro with support for sending commands to an OGX360 over I2C.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C 82.5%
  • Python 16.5%
  • Other 1.0%