Extending HotasX Flightstick with some additional Buttons and switches

Public Chat
Similar projects worth following
This project is an extension to the Thrustmaster HotasX Joystick. As this joystick can connect the thrust module to the joystick everyone has as first the idea to build a link in between. There are allready some projects on thingiverse, but as I wanted to learn a bit, this project started from scratch. It contains the Freecad files for the case, as well as the STL files. Feel free to mod it to your belongings. Would appreciate, if you change something, to send an info to me what and how. Since there are many ideas about the top cover design, I could merge them into this repository, link to your repo or maye we can make a branch here for the mod mod.

Update: The linkmod is in use with elite dangerous and working as expected! Yes, I finished a project, such a good feeling.

All you need to compile / build / upload / print can also be found in the github repository. 

  • ESP32 "Dev Kit" (az-delivery-devkit-v4) Why? I allready had one left from another project, and didnt want to buy another controller. As most others are using an Arduino Micro Pro I would suggest that you take a look on that one, too.
  • Thrustmaster Hotas X (which I got as present on XMas). Throttle and Joystick can be attached together, thats why everyone has instant the idea to print something in between with a 3D printer
  • Switches MTS-213-A1 -> This switches have one direction switched, the other direction is like a button. This would help if the switch isnt synced with the game anymore.
  • Buttons .This buttons are strong to press, remembers a bit to a cherry keyboard.
  • JOY-IT Joystick Module
  • and of course, as you whish to attach, the Hotas X itself.


  • Connectable without screws
  • Open and close wihtout screws (clippable)
  • place for small powerbank
  • hole for external powerbank or direct usb connection
  • Bluetooth gamepad HID device
  • 2 axis Joystick
  • 8 Button
  • 4 Switches (layout is button / off / switch)


Use this file in Cura if you want to print as it is

Standard Tesselated Geometry - 3.21 MB - 05/28/2022 at 14:49



Use this file in Cura if you want to print as it is

Standard Tesselated Geometry - 2.89 MB - 05/28/2022 at 14:49



Base Case connectable to HotasX. It can be edited with FreeCad

x-zip-compressed - 899.14 kB - 05/26/2022 at 10:50



Top Cover, can be redisigned for own purposes.It can be edited with FreeCad

x-zip-compressed - 482.87 kB - 05/26/2022 at 10:50


  • 1
    ESP32 Wiring


  • 2
    Software Build


    Using VSCode with installed Platform IO Extension for development. PlatformIO supports the Arduino Framework which makes it more easy to access allready supported devices.


    Please use or for detailed descriptions. For this project so far just the info, that it will have multiple environments configured, depending for developer and connection. In platformio.ini the root section [env] configures all default parts of environments. In the sections like [env:hugin] the specialized settings are configured. This makes it more easy to switch between different serial ports, but change common parts in [env].

    Howto Build the Project

    After cloning the repository you can open the platformio-project folder as a project:

    Once the project opened one way to use Platform IO environment is using the taskbar:

    Right from the GIT symbols the Platform IO Icons are shown. * House: Go to PlatformIO home (opening projects, search libraries etc) * Checkmark: Compile current project using selected Environment  * Arrow: Compile current project and upload to ESP using selected Environment   * Trashcan: Clean current Project * Connector Plug: Show ESP Serial Monitor interface * Square: Open Terminal (less used) * Folder Symbol with env:environmentname: Select active environment (upload via COMx ... )

  • 3
    3d Files Editing

    To be honest, this was my first 3D creations Project, and the first time with Freecad. So this part is not very well prepared to be customized. As the Big Box is working somehow, the easy part to change is the HotasExtension-V2-cover.FCStd which holds the buttons and switches. This is in general just a plate with some pockets, and some clamps.
    Up to skt_Konstruction there are base measurements only. After that the pockets for the switches and buttons are created with the konstruction measurements. Latest there are a couple of clamps to fit the cover without screws. A single pocket at the side is for a screwdriver to lift the pocket.

View all 3 instructions

Enjoy this project?



fwe wrote 06/03/2022 at 04:08 point

To be honest, i think to Design it by yourself is not the hardest part for someone with a bit experience. This is my first cad job (beside minor openscad parts), so it took me a while longer.

On the other hand, you can take a loom on the freecad files, and modify them to your wishes.

  Are you sure? yes | no

Tom Nardi wrote 06/02/2022 at 20:28 point

You're right -- I just got the T.Flight HOTAS X for the Xbox today, and the first thing I thought of was trying to print a little button box to attach between the two halves.

Now I have to decide if I want to design my own, or take the easy way out and use this one...

  Are you sure? yes | no

fwe wrote 09/16/2022 at 20:09 point

Whats your result? Curious to see a new approach

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates