Controller
This project aims to deliver a working Xbox One Controller through the official Windows API.
Author: Leonte Robert
GitHub Project Link: (https://github.com/UPB-FILS-MA/project-CearceafAlb)
Description
The controller is a breadboard with 16 buttons and two thumbsticks that will connect to the PC and be recognized by Windows 10 and 11 as an Xbox One Controller by making use of official Windows API. This prototype will be tested in various games that range from FPSs to racing and 3rd person action-adventure.
Motivation
I have an Xbox One X console with two controllers. A friend of mine borrowed one and sometimes he forgets to bring it with him when I host FIFA tournaments. This prototype will serve as a backup for when he forgets to bring the controller.
Architecture
Log
Week 6 - 12 May
Kicad schematic complete. Waiting on parts.
Week 7 - 19 May
Made three versions of the hardware.
Week 20 - 26 May
Final version of the hardware completed. Started working on the software. Lots of issues with embassy.
Hardware
This controller uses a Raspberry Pi Pico, 16 buttons and two thumbsticks.
Schematics
Bill of Materials
Device | Usage | Price |
---|---|---|
Rapspberry Pi Pico W | The microcontroller | 35 RON |
[Breadboard(taken from a kit)(https://en.wikipedia.org/wiki/Breadboard)] | The base | 54 EUR(the entire kit) |
Button(x16) | Buttons(including DPAD) | 0,36 RON x16 |
[Thumbstick(https://components101.com/modules/joystick-module)] | Bi-axial module for movement and aiming | 5,35 RON |
[Thumbstick(taken from a kit)(https://components101.com/modules/joystick-module)] | Bi-axial module for movement and aiming | 54 EUR(the entire kit) |
Software
Library | Description | Usage |
---|---|---|
GameInput | A new input API from Microsoft that aims to bring XInput, DirectInput, etc under a single roof | Used for handling the buttons and the joysticks |