Skip to content

ioridev/Precision-Fighting-Board

Repository files navigation

board

We all need to use this board in 20XX.
Discussions

Description

This project aims to develop the fastest game controller by utilizing the power of Teensy 4.0. We strive to achieve a polling rate of 8000Hz, delivering unparalleled responsiveness for an immersive gaming experience.

Where to Buy

Booth
Available for purchase on Booth. Buying from this shop directly supports the developers. For international customers, shipping outside of Japan is possible using address forwarding services like Buyee and Tenso.
image

https://iori-giken.booth.pm/

Features

  • High-speed USB communication using Teensy 4.0
  • Targeting an impressive 8000Hz polling rate
  • Precise and instantaneous input response
  • X-input support
  • No waiting time for debounce

Installation

Open the PrecisionFightingBoard.TEENSY40.hex file in Teensyduino 1.53 and write to Teensy 4.0. 

Pin Number Button
0 Up
1 Down
2 Left
3 Right
4 Home
5 Back
6 Start
7 Y
8 X
9 RB
10 LB
11 A
12 B
14 RT
15 LT
18 L3
19 R3
image

Tips

Not good at soldering or making wires?
Some models are equipped with pins from the beginning, so you can skip this complicated process by using this type of wire and wire for Brook.
Teensy 4.0 Pins

image image
image
image

One GND with a pin is missing, so it must be branched with a breadboard or similar. 

Or you can purchase Breakout Board on Amazon.
image
Breakout Board for Teensy 4.0

Setting Up the Development Environment

Install Arduino IDE 1.8.13 and Teensyduino 1.53.

Clone this repository and copy the x-input/ArduinoXinput_Teensy/teensy directory to C:\Program Files (x86)\Arduino\hardware.

Open PrecisionFightingBoard.ino with the Arduino IDE, go to Tools, change the USB Type to XInput, and then upload it to the Teensy 4.0.

Benchmark

Polling rate test results

I caught the continuous X-input button loop in my Python program and confirmed that it was around 0.125 ms.
image
The program used for the test is in Precision-Fighting-Board/x-input/tester and anyone can try it out.

Comparison with PicoBoard

tester/gamepad_response_time_comparison.py
Gamepad 1 is a Precision-Fighting-Board.
Gamepad 2 is a gp2040-ce

image

Comparison with Brook PS4+ Audio Fighting Board

Gamepad 1 is a Precision-Fighting-Board.
Gamepad 2 is a Brook AFB
image

Use with WingmanFGC 

This is a test on a PC, but when used with WingmanFGC.
Gamepad 1 is a Precision-Fighting-Board with WingmanFGC.
Gamepad 2 is a gp2040-ce
image
Good results with input lag of up to 5 ms.   

Contributing

Contributions are welcome! If you'd like to contribute to this project, please follow these steps:

  1. Fork the repository.
  2. Create a new branch.
  3. Make your enhancements or bug fixes.
  4. Test thoroughly.
  5. Submit a pull request detailing your changes.

License

This project is licensed under the MIT License. Please see the LICENSE file for more information.

Acknowledgements

We would like to express our gratitude to the developers and contributors of Teency 4.0 for their amazing work and support.