Skip to main content

Controller

This project aims to deliver a working Xbox One Controller through the official Windows API.

info

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

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

schematic

Bill of Materials

DeviceUsagePrice
Rapspberry Pi Pico WThe microcontroller35 RON
[Breadboard(taken from a kit)(https://en.wikipedia.org/wiki/Breadboard)]The base54 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 aiming5,35 RON
[Thumbstick(taken from a kit)(https://components101.com/modules/joystick-module)]Bi-axial module for movement and aiming54 EUR(the entire kit)

Software

LibraryDescriptionUsage
GameInputA new input API from Microsoft that aims to bring XInput, DirectInput, etc under a single roofUsed for handling the buttons and the joysticks
  1. GameInput Official Documentation ...