Giter Club home page Giter Club logo

xid_wheel_adapter's Introduction

xid_wheel_adapter

A DIY adapter that can receive input from a logitech wheel and output as an (original/classic) Xbox (XID) wheel.

As a bonus it will also make some xbox/xinput controllers work on the original xbox. Console will still see it as a wheel but most games will work.

Supports rumble.

PRs are welcome!

There's some stuff that still needs to be added and some QoL improvements. Would also like to map rumble to some kind of FFB effect. Let me know if you can help.

Supported devices

  • WingMan Formula GP (no rumble)
  • WingMan Formula Force GP (GT Force)
  • Driving Force
  • Driving Force Pro (GT Force Pro)
  • Driving Force GT
  • G25 Racing Wheel
  • G27 Racing Wheel
  • G29 Racing Wheel
  • G920 (XBOX) (no rumble)
  • Speed Force Wireless

Mapping

Wheel Xbox
Dpad Dpad
Wheel axis Left stick X
Gas axis Right trigger
Brake axis Left trigger
Select Back
Start Start
Cross, L1 A
Circle B
Square, R1 X
Triangle Y
L2 Black
R2 White
L3 Left Stick click
R3 Right Stick click

It will map the paddle shifters as:
Left paddle = A button (gear down)
Right paddle = X button (gear up)

Most xbox games uses this configuration. Seems to be the mode used by the Mad Catz MC2 Wheel.

Notes:

  • Speed Force Wireless and Formula GP have less buttons than required by xbox.
  • Sometimes the adapter does not detect the G920 (XBOX). Connecting it to the adapter first, then to the console, seems to work all the time.

Building

Requires a Raspberry Pi Pico (RP2040) board and a USB Type-A port for input.

Check the wiring guidance here.

USB Pins can be changed. Just need to set them in code.

Define the D+ pin on sketch. D- will be D+ + 1.

Required configuration are on the main sketch file as PIN_USB_HOST_DP

Firmware builds under Arduino IDE.

Required libs. Install using Arduino IDE.

arduino-pico (3.7.2)
Pico-PIO-USB (0.5.3)
Adafruit_TinyUSB_Arduino (3.1.3)

Configure IDE as:

  • Board: Raspberry Pi Pico
  • CPU Speed: 120MHz
  • USB Stack: Adafruit TinyUSB

It's also needed to insert #define CFG_TUH_XINPUT 1 on tusb_config.h on your Adafruit_TinyUSB_Arduino installed folder

Ready to use binaries

Don't want to build from source? Check the releases page.

Credits

Logitech USB input code from my other project. lgff_wheel_adapter

Xbox (XINPUT/XID) input/output ogx360_t4 from Ryzee119.

The XID docs from xboxdevwiki.

Disclaimer

Code and wiring directions are provided to you 'as is' and without any warranties. Use at your own risk.

xid_wheel_adapter's People

Contributors

sonik-br avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

xid_wheel_adapter's Issues

If no dpad allow the option to have external DPAD

I'm still working on my Formula GP and it's adapter. Soldering the adapter is a bit postponed but it's coming. However it does not have a dpad.

So if I want to have dpad on the Xbox I might want to use a controller in another controller port for that.

Is that an option to have some buttons on a controller and the rest on the wheel?

Xbox 360 wheels

I would like to have wheel support on Xbox 360. The only difference is that the Xbox360 authentication is not cracked so we need a controller to authenticate only once. On ps4 you need to authenticate every 8 minutes.

Microsoft released WRW01 and WRW02 with the latter having a fireproof powersupply.

There are various wheels which are supported on the Drivehub and Ras1ution adapters by Brook. Both of them are very expensive and are the only ones that have reverse engineered the force feedback.

You also have the Madcatz 360 wheel.

Screenshot_20240301_214929_Chrome

The only tools I have found are this

https://github.com/KrossX/Durazno/issues

And

https://forum.arduino.cc/t/problem-interfacing-with-official-xbox-360-wireless-steering-wheel/221549

The wireless wheels require the Xbox model 1086 adapter. They can be found on Aliexpress.

Xbox definition

Is this only for OG Xbox or also Xbox 360 / Xbox One / Xbox Series?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.