This work is based on my X52 Pro HOTAS that was purchased new in June 2020. It covers an old X52 (non-Pro) joystick too that I could pick up for pennies because it was sold for parts without the throttle.
My Pro throttle isn't compatible with my non-Pro joystick: they have the same PS/2 pinout but speak slightly different protocols. Not too surprising as they were designed and released years apart with different feature sets.
-
- The wire protocol over the PS/2 (6-pin mini-DIN) cable between the X52 Pro throttle and joystick
- The wire protocol between the two MCUs of the X52 Pro joystick (one in the base and one in the handle)
-
X52:
- The wire protocol over the PS/2 (6-pin mini-DIN) cable between the X52 throttle and joystick
We don't know how often (if ever) the X52 (Pro) firmware changed in the past 15+ years. Your X52 may use a slightly different protocol than the one described and implemented here.
USE THIS AT YOUR OWN RISK AND ONLY IF YOU KNOW WHAT YOU ARE DOING. EVERYTHING IN THIS REPO COMES WITHOUT SUPPORT.
This repo can be installed to the Arduino IDE as a library (use google to figure out how). After installation the following examples should appear under the File | Examples | X52 (Pro) HOTAS
menu of the IDE:
-
- Fake X52 Pro Throttle that can communicate with the X52 Pro joystick through its PS/2 connector
- Fake X52 Pro Joystick that can communicate with the X52 Pro throttle through its PS/2 connector
-
X52:
- Fake X52 Throttle that can communicate with the X52 joystick through its PS/2 connector
- Fake X52 Joystick that can communicate with the X52 throttle through its PS/2 connector
The primary objective of this project was to make it possible to use my X52 Pro joystick without the throttle unit. Below is a photo of a fully functional prototype that needs only cosmetic improvements. Nothing was changed inside the joystick - the USB capability is provided by a small PJRC teensy 3.2 board (or its low cost alternative: the teensy LC) running a customised version of the "Fake X52 Pro Throttle" firmware: