Prometheus 82 is an open-source, Arduino-based electromechanical device designed for precise testing of gamepad input latency. Utilizing a solenoid to physically simulate button presses and analog stick movements, paired with Python software that mimics a game engine, it accurately measures the delay between a physical action and the system's response. Unlike traditional end-to-end latency testing methods using high-speed cameras, which include delays from monitors, GPU frame rendering, and vary depending on specific games, Prometheus 82 directly captures the entire signal chain from physical input to system registration, eliminating these delays. This method ensures consistent testing conditions across different testers, requiring no synchronization of equipment such as monitors, GPUs, or game engines for comparable results. This makes Prometheus 82 an ideal tool for gamepad enthusiasts, developers, and researchers seeking accurate and comparable input latency data. Reddit article
Prometheus 82 in full assembly
This section outlines the testing process for the Prometheus82 device, designed to measure input latency between the controller and a PC.
- Test Initiation
ThePrometheus82.exeprogram on the PC sends a signal to the "P82" device to activate the solenoid. - Solenoid Movement
The solenoid moves and, at a specific moment, strikes a button or stick on the gamepad. - Interaction Detection
The "Kalih Mute Button" sensor at the end of the solenoid registers the moment of contact. - Signal Transmission
The "P82" device instantly sends a signal to thePrometheus82.exeprogram, confirming interaction with the gamepad's button or stick. - Latency Timer Start
ThePrometheus82.exeprogram starts a timer to measure input latency. - Gamepad Signal
Starting from the moment of contact (step 3), the gamepad sends a signal to the PC, received byPrometheus82.exe. - Timer Stop
Upon receiving the gamepad signal, the timer from step 5 stops. The elapsed time represents the input latency. - Test Repetition
The program repeats this process 500 times to calculate minimum, average, and maximum latency, as well as jitter.
Prometheus 82 uses a standardized Center-to-Edge measurement method for analog sticks to ensure consistent comparisons between different controllers.
- T0 (Start): The solenoid is activated to strike the stick.
- Physical Travel: The solenoid arm pushes the stick from the center (0%) towards the edge.
- T1 (Stop): The timer stops the precise moment the gamepad reports a logical value of ≥99% deviation.
- Calculation:
Total Time - 3.5ms = Input Latency.
The "3.5ms" Compensation The software automatically subtracts a fixed value of 3.5 ms from the total time. This constant represents the standard physical travel time of the solenoid arm and joystick mechanism, which has been verified using 1000 FPS high-speed camera analysis across multiple standard controllers.
Note: Variations in a controller's physical range of motion (shorter/longer throw) or aggressive software response curves can naturally affect the result by ±1ms, as the stick may reach the logical "99%" threshold physically sooner or later. This is a characteristic of the controller's design, not a testing error.
The testing process ensures accurate measurement of the Prometheus82 device's input latency. Running the test 500 times provides comprehensive data to evaluate the device's stability and performance under real-world conditions.
You have two options to obtain a Prometheus 82 device:
- Build It Yourself: Follow the instructions in this repository to 3D-print the test bench, source components, and assemble the device. All necessary files and guides are provided below.
- Order a Pre-Built Device: Purchase a ready-to-use Prometheus 82 from our shop at Ko-fi Shop.
- Buy cheaper in cryptocurrency. After the purchase, be sure to write to me at [email protected]
⚠️ IMPORTANT: Upload Firmware to ArduinoBefore using the device, you must flash the Arduino with the provided firmware:
- Open the Arduino.ino file in the Arduino IDE.
- Connect your Arduino board to the computer via USB.
- In the Arduino IDE, go to Tools → Board and select the correct Arduino model.
- Go to Tools → Port and select the correct COM port.
- Click the Upload button to flash the code to the Arduino.
- Connect the P82 device to the computer (Upper port).
- Connect the power supply to the device (Lower port).
- Connect the gamepad to the computer (via cable, receiver, or Bluetooth).
- Place the gamepad in the test stand and secure it (not too tightly).
- Adjust the solenoid for testing the gamepad's buttons or sticks as shown.
Important
Attention: If the gamepad has stick tension adjustment, select the medium tension.
- Launch the testing program: https://github.com/cakama3a/Prometheus82/releases/
- Select the testing option for the gamepad's sticks or buttons in the program menu.
- Start the test and wait for it to complete.
- Submit the test to Gamepadla.com for detailed analysis or exit the program.
Test results on a temporary personalized Gamepadla.com page
The test bench itself must be printed on a 3D printer from PLA or PETG plastic. You can download the STL files of the project on thingiverse.
All parts can be printed in 3 passes in about 10 hours and 250 grams of plastic.

The diagrams show the schematic of the current Prometheus 82 tester assembly of revision 1.0.4 (not to be confused with the program revision). The blueprint also adds a solenoid and a sensor button, and the diagram exactly reflects the device on the photo. The solenoid and the sensor button are connected via a separate power cable, which can be made according to the video instructions below.

- There is also an alternative build scheme (newer and more optimized) for Ko-Fi supporters
- Video: Main board assembly
- Video: Solenoid assembly (Only available to ko-fi supporters for now)
- Video: Solenoid assembly v2 (For DIY Set Byers)
- Video: Cable assembly (A bit outdated, because now you can buy the cable ready-made)
- Video: Stand assembly
Note
If the link doesn't open the product and instead displays a 404 page, write here
| № | Component Name | Price | Why | Link |
|---|---|---|---|---|
| 1 | Solenoid TAU-0530T 12V | $1.58 | The main component for moving sticks and buttons | AliExpress, Amazon |
| 2 | Arduino Nano 3.0 ATMEGA328P TypeC | $2.79 | Sensor and solenoid control board | AliExpress, Amazon |
| 3 | Transistor IRLB8721PBF (1/5pcs) | $1.81 | To activate the solenoid move | AliExpress, Amazon |
| 4 | Kailh Mute Button 6x6x7.3mm | $2.00 | To record the moment you press a button or stick on the gamepad | AliExpress, Amazon |
| 5 | Diode P6KE18A (1/20pcs) | $0.82 | To protect the board control circuitry | AliExpress, Amazon |
| 6 | Capacitor 25V 680uF 10x12 (1/5pcs) | $4.38 | To protect the board control circuitry | AliExpress, Amazon |
| 7 | PCB Circuit Board 4x6 | $0.56 | To install all components of the control board | AliExpress, Amazon |
| 8 | Resistor Set (3/300psc) | $1.34 | To protect the board control circuitry | AliExpress, Amazon |
| № | Component Name | Price | Why | Link |
|---|---|---|---|---|
| 9 | Decoy Trigger | $0.76 | To convert 5V from the power supply to the required voltage | AliExpress, Amazon |
| 10 | 20W Charger | $6.61 | It is important to use a powerful power supply, at least 20W | EU socket, US socket |
| № | Component Name | Price | Why | Link |
|---|---|---|---|---|
| 11 | Wire 30AWG (20cm/1m) | $1.04 | Must be elastic to connect the sensor button | Aliexpress |
| 12 | XH-2.54mm Plug Opposite direction, 300mm, 4P (1/5psc) | $1.13 | Connects the solenoid ports to the main board | AliExpress |
| 13 | Wire Connector Set XH2.54 mm (2/80pcs) | $3.10 | A set of ports and connectors for creating connections | AliExpress |
| 14 | Solder Cable 24AWG 8cm (5/120pcs) | $2.32 | Wires for soldering the main control board | AliExpress |
| 15 | PETG/PLA Filament 1.75mm (350/1000g) | $16.99 | Filament for printing test bench components | AliExpress |
| 16 | Double Sided Adhesive Tape 10mm (1/5m) | $2.64 | Adhesive tape for mounting eva material to the stand | AliExpress |
| 17 | Gecko tape 1mm (3/100cm) | $1.36 | To glue the power trigger to the board | AliExpress |
| 18 | Cosplay Eva Foam 2mm (35x50cm) (~5% matherial) | $2.84 | Eva material for the stand, necessary for the gamepad to be securely fixed | AliExpress |
| 19 | Heat Shrink Tube 5mm (5/100cm) | $0.55 | It is required when creating a cable connecting the main board with the solenoid unit | AliExpress |
| 20 | PET Expandable Cable Sleeve 4mm (30/100cm) | $0.32 | Wrapping the cable to make it look good | AliExpress |
| 21 | Brass Heat Insert Nut M3 (1/80pcs) | $3.59 | Required for secure fixation of the button at the end of the solenoid | AliExpress |
| 22 | Screws M3 50Pcs, 8mm (7/50pcs) | $2.08 | To connect components printed on a 3D printer | AliExpress |
| 22a | Screws M3 50Pcs, 4mm (2/50pcs) | $1.08 | For Solenoid fix | AliExpress |
For successful assembly, you will need the following tools:
| № | Tool Name | Why | Link |
|---|---|---|---|
| 23 | Side Cutters 4.5 inch | For cutting wires during main board assembly | AliExpress |
| 24 | Soldering Iron | For soldering the main board and solenoid block | AliExpress |
| 25 | --- | --- | --- |
| 26 | Flux | To make the solder behave well =) | AliExpress |
| 27 | Solder | To install components and wires on the board | AliExpress |
| 28 | 3D Printer | To create a test bench, board case, and solenoid unit | BambuLab A1 Mini |
- Video comparison of 6V solenoid with 12V filmed at 1000 FPS and tips on power supply
- For a 6V solenoid, you should set the power supply to 9V, for a 12V solenoid, you should set the power supply to 15V, this guarantees stable results when testing
- Video about the solenoid's own delays and how it is reflected in the measurements at 1000 FPS
- The permissible error between different gamepad devices with various solenoids can be up to 0.012 ms, which was verified in a test with 5 devices in different combinations (11 measurements).
- The error from the actual result of the input delay provided by the gamepad under ideal conditions can be up to ±0.69 ms.
- To reduce the error, you need to use a new solenoid, a fast Arduino device with its own delay of no more than 0.5 ms, and connect the device directly to the PC motherboard.
- Both ports of the control board use Type-C interfaces, so do not confuse them, remember that the lower port is used for power, and the upper port is used to connect to a PC.
- The movement of the solenoid should be easy, it should not cling to the inner hole. Make sure that its leg is smooth and free of snags, as this can cause friction, which increases heat, wear and tear on the component and introduces an error in the measurement.
- Distance matters. When positioning the gamepad during tests, you need to install the stick and button as far away from the sensor as possible so that the solenoid has time to accelerate sufficiently. If you install the solenoid too close, it will give incorrect measurement results.
- Over time, the solenoid can degrade, especially if it is frequently overheated. Therefore, it is worth getting a separate control gamepad (with stable firmware) to periodically check if the delay has changed.
- When conducting tests, you should do it at least 2 times. It is better to recalibrate the position of the gamepad on the stand before the second test to avoid positioning errors.
- Some Chinese Arduino devices may not work well, if something does not work, it may be worth replacing the Arduino board.
- Some Arduino boards are slower than others. For the Prometheus 82 tester, only boards with self-delay ≤0.6 ms should be used. You can check it with this script
- You should not modify the device in your own way, as this can skew the test results and cause an error in the latency. Currently, the code is optimally adapted for the components listed above.
- P82 device should be plugged directly into your PC's motherboard, as the ports on the front of the case can sometimes cause problems.
This project operates under a dual-license model. Please choose the one that fits your use case.
-
Personal & Non-Commercial Use: You are free to build and use Prometheus 82 for personal projects, academic research, and non-monetized content. For the full terms, please see the Personal Use License.
-
Commercial Use: A commercial license is required for any organization using the device for business purposes (e.g., product R&D, quality assurance, marketing). To review the terms and pricing, please see the full Commercial License Agreement.
To maintain transparency and build trust within the community, we publish a registry of all official commercial licensees. Companies listed here have purchased a Prometheus 82 Commercial Kit or an annual license, granting them the right to use the device for product development, quality assurance, and marketing.
Each license is verified and has a specific validity period.
| Licensee / Identifier | Plan | Status | Valid Until |
|---|---|---|---|
| GuliKit | Enterprise |
✅ Active | July 31, 2026 |
8a4b1c9e-7d2f-4b0a-8c1f-9e6a5b3d7c0f |
Professional |
✅ Active | October 15, 2026 |
| GameSir | Professional |
✅ Active | December 15, 2026 |
Interested in using Prometheus 82 for your business? The best way to get started is with our Commercial Kit, which includes:
- A pre-built, calibrated, and ready-to-use Prometheus 82 device.
- Your first year's Professional License.
- Priority technical support.
By purchasing a license, you not only ensure legal compliance but also support the continued development of this open-source project.
To purchase your kit or learn more, contact us at [email protected].
We respect our clients' privacy. Licensees can choose to be listed by their company name or a unique anonymous identifier (UUID).
- Gamepadla is not a commercial project, and its development is based solely on the author's enthusiasm. If you want to support me, please do so at https://ko-fi.com/gamepadla
- Or you can donate in cryptocurrency at https://plisio.net/donate/1pkNYhBv


