8 kHz wired & wireless controller
Most high-speed controllers get their speed by cutting something. Some swap adaptive triggers and HD haptics for basic rumble motors. Some read sticks and triggers at 8 bits, which is 256 steps from rest to full tilt. Some advertise 8,000 Hz but only check your buttons 1,000 times a second, then wait a few milliseconds to confirm each press. Others drop the touchpad or motion controls, or go wireless at Bluetooth speeds.
Thirst doesn't make that trade. It keeps the adaptive triggers, HD haptics, touchpad, motion controls and lights, adds eight extra buttons, and runs at 8,000 Hz wired and wireless. Sticks and triggers are read at 16 bits, 65,536 steps, and every report carries a brand-new reading taken just before your PC collects it. Two inner layers of solid copper shield the sensitive circuits from the radio, motors and haptics.
It is also a specialised low-power design. Every feature can be switched off when you don't need it. Turn off rumble, the adaptive triggers and the lights, and it runs for 50+ hours on a stock DualSense battery, even at 8,000 Hz over the dongle with motion controls still on.
PROTOTYPE · figures are design targets and estimates, to be confirmed on hardware| Wired | 2.4 GHz dongle | Bluetooth | |
|---|---|---|---|
| Link | USB-C, USB 2.0 High-Speed480 Mbit/s | Proprietary 2.4 GHz4 Mbit/s air rate | Bluetooth Low Energy2 Mbit/s air rate |
| Report rate | 8,000 Hz | 8,000 HzThe radio link runs 9,000 slots a second: 8,000 carry your input and 1,000 carry rumble, haptics and settings back to the controller. A dropped packet costs at most one report, because the next one always carries the latest input | ~65–133 HzSet by the host device (PC, Android, other). 133 Hz is the fastest any current host allows |
| Latency, press to PC | 0.07 msFrom the moment the button closes to the input arriving at your PC | as low as 0.13 msThe whole chain, button to PC, not just the gap between reports. 0.17 ms with every feature on | ~4.5 msSet mostly by the host's Bluetooth interval |
| Motion (gyro) rate | up to ~7,680 Hzlimited by the sensor | 4,000 Hzgyro and accelerometer sampled together | ~65–133 Hzsame as the report rate |
| Input data stream | ~4.1 Mbit/s | ~1.4 Mbit/s up~0.2 Mbit/s down for rumble, haptics and settings | up to ~70 kbit/s |
| Timing | Frame SnipingTracks your PC's polling in real time, so every sample is taken just before the PC collects it | Frame SnipingTracks polling through the dongle the same way, across the wireless hop | Frame SnipingPlus the host's Bluetooth interval. For convenience, not competition |
| Charging | Yes, while playing | Battery, or from a dock or wireless-charging input | |
Latency is how long after you press a button or move a stick the PC has it. It includes everything the controller does along the way: scanning, confirming the press, processing, and the radio hop when wireless. Polling rate alone tells you none of this. Many controllers report at 8,000 Hz and still take milliseconds to confirm a button press. This one doesn't wait.
| Controller and mode | Buttons | Sticks | Wireless | Source |
|---|---|---|---|---|
| Thirst · wired | 0.07 ms | 0.07 ms | Yes | On-controller, calculated |
| Thirst · 2.4 GHz dongle | 0.13–0.17 ms | 0.13–0.17 ms | Yes | On-controller, calculated |
| Thirst · Bluetooth (PC) | ~4.5 ms | ~4.5 ms | Yes | On-controller, calculated |
| Marius Heier MH4 board · wired, 8 kHz | 0.96 ms | 0.51 ms | No | Gamepadla |
| Hyperstrike DS4 · wired, 8 kHz | 1.05 ms | 0.35 ms | No | Gamepadla, user-submitted |
| EasySMX Dune 8K · wired | 1.52 ms | 5.93 ms | Yes | Gamepadla |
| Void FireBird · wired, 1 kHz | 1.97 ms | 3.06 ms | No | Gamepadla, user-submitted |
| EasySMX Dune 8K · dongle | 2.18 ms | 8.22 ms | Yes | Gamepadla |
| ZD Super Legend 8K · wired, 8 kHz | 2.53 ms | 0.57 ms | Yes | Gamepadla |
| Xbox Series controller · wired | 6.5 ms | 8.3 ms | Yes | Gamepadla |
| Xbox Series controller · dongle | 7.2 ms | 8.9 ms | Yes | Gamepadla |
| DualSense · wired | 7.8 ms | 12.6 ms | Yes | Gamepadla |
| DualSense · Bluetooth | 9.0 ms | 13.6 ms | Yes | Gamepadla |
Average press-to-PC latency. Our figures are the controller's own time, from the button closing until the report reaches the PC's USB port, calculated from the design; with in-frame averaging switched on, stick readings add up to about 0.03 ms. Rows marked Gamepadla come from Gamepadla's Prometheus 82 hardware tester via gamepadla.com, which physically actuates the controller and also includes the tester's and Windows' own delays; Gamepadla states its tester's error margin as ±1 ms. Measured the same way, Thirst is expected to read about 0.15–0.4 ms. User-submitted results have not been checked by Gamepadla's moderators. Prototype measurements will be published alongside.
We test the full pipeline, from the instant a button closes to the moment the input arrives at your PC, not just the gap between reports. A custom tester presses the controller electrically on a precise schedule and timestamps every stage along the way, to a precision current latency testers don't reach. It also records internal timing that ordinary testers can't see. Our goal is simple: the lowest true press-to-PC latency of any controller.
Two controllers can both say 8,000 Hz and deliver very different data. Many scan their buttons and sticks only 1,000 times a second, then send the same reading in eight reports in a row. Their data can be a full millisecond old, even though it arrives 8,000 times a second. Others send 8,000 reports on their own clock, which slowly drifts against your PC's. A report can sit waiting for the PC to ask for it, and every so often two land at once and one is lost, or none arrives and the last one repeats.
Thirst stays in step with your PC. Every input, every button, stick and trigger, is captured in time with your PC's own collection timing, so each report carries the newest reading the controller could have sent. Never a repeat, never a gap.
| How the controller works | Reports per second | Age of the reading when your PC collects it |
|---|---|---|
| Inputs scanned 1,000 times a second, sent in 8,000 reports | 8,000 | ~0.5 ms average, up to 1 ms7 in 8 reports repeat the last reading |
| Sends 8,000 reports on its own clock | 8,000 | ~0.06 ms average, up to 0.125 msDrifts against your PC, so reports are sometimes doubled or missed |
| Thirst | 8,000 | A few hundredths of a millisecond, every reportTaken just before your PC collects it |
Figures for other designs are typical for each approach and vary by model.
How old the newest stick or button reading is when the game reads it, from the moment it is sampled. Games read at their own times, so this is averaged over when the read happens. The game, Windows and the display add the same delay whichever controller you use, so they are left out.
| Controller and mode | Average | Worst case | Button debounce on top |
|---|---|---|---|
| Thirst · wired | 0.14 ms | 0 ms | |
| Thirst · 2.4 GHz dongle | 0.25–0.3 ms | 0 ms | |
| Thirst · Bluetooth (PC) | ~9 ms | 0 ms | |
| Typical "8 kHz" pro controller | ~1–2 ms | 1–5 ms | |
| Typical 1 kHz pro controller | ~2 ms | 1–5 ms | |
| Typical console controller on PC, wired | ~5–8 ms | 1–5 ms | |
| Typical Bluetooth controller | ~10–20 ms | 1–5 ms |
Bars show the average on a 0–10 ms scale. Figures for other controllers are typical estimates for each class and vary by model. Thirst reports a press on its first edge.
| Thirst | Marius Heier MH4 / MH5 | Hyperstrike DS4 | Void FireBird | |
|---|---|---|---|---|
| Shell | DualSense | MH4: DualShock 4. MH5: DualSense | DualShock 4 | DualShock 4 |
| Polling | 8 kHz wired and wireless | 8 kHz, wired only | 8 kHz, wired only | 1 kHz, wired only |
| Button latency, Gamepadla-style | ~0.15–0.4 ms* | 0.96 ms (MH4) | 1.05 ms† | 1.97 ms† |
| Stick latency, Gamepadla-style | ~0.15–0.4 ms* | 0.51 ms (MH4) | 0.35 ms† | 3.06 ms† |
| Controller timing | 0.07 ms average, 0.14 ms worst, including all on-chip and peripheral processing | 0.125 ms, excluding on-chip and peripheral processing (community tests) | Not published | Not published |
| Stick reading | Dedicated 16-bit converter outside the processor, in-frame averaging, locked reference | Processor's built-in 12-bit converter | Not published | Not published |
| Wireless | 8 kHz dongle + Bluetooth | None | None | None |
| Battery life | ~13 h with light rumble and triggers, ~6 h medium, ~81 h with them off, lights off (8 kHz dongle); up to ~145 h on Bluetooth | None, wired only | Not published; tested wired only | No battery (unverified) |
| Gyro | 6-axis | None | Not published | Yes (unverified) |
| Rumble | HD haptics | None | Not published | None |
| Adaptive triggers | Yes, with position sensing | None | None | None |
| Touchpad | Full multi-touch + click, with player LEDs | Click only, no touch sensing | Not published | Not published |
| Extra buttons | 8, plus separate digital trigger inputs | Up to 6 | Not published | 2 paddles |
| Console | No, PC-first | No | No | PS4 listed (unverified) |
* Calculated from the design, including a typical Windows delay, so it compares with Gamepadla's measurements; to be replaced with measured results. † User-submitted on Gamepadla, not checked by its moderators. Marius latency is the MH4 (DualShock 4) board, the only one Gamepadla has tested; its features column describes the MH5, the DualSense version. The MH4 is one of the fastest wired boards Gamepadla has tested, and it gets there by leaving out wireless, the battery, gyro and rumble. Sources: Gamepadla (Prometheus 82 hardware tests on gamepadla.com) and the makers' and resellers' published listings. Our figures are calculated from the design.
Sticks and triggers are sampled 384,000 times a second, and each reading is averaged inside a single 8,000 Hz report cycle, before it reaches the processor. Every report carries a new, true 16-bit reading: never repeated, never upscaled, with no extra processor load, leaving its full attention for timing and the radio. Other controllers average across several reports, so their readings are already old when they're sent. Thirst's are a fraction of a report old, measured from the moment of sampling.
Stick and trigger readings don't shift with battery level, with switching between battery, USB and dock power, with different ports and cables, or with the load from rumble and the adaptive triggers. Centre and full travel stay where they were calibrated, so your deadzones and curves feel the same in hour one and hour ten.
Sticks and triggers are converted to digital on their own dedicated converter, outside the processor, so the processor's electrical noise is kept out of the reading.
Precision, low-drift components are used throughout the measurement and timing circuits, so readings and wireless timing hold steady across temperature and from unit to unit.
| Input | Resolution | Path to the processor |
|---|---|---|
| Thumbsticks | 16-bit sampling14–16 effective bits, depending on the averaging you choose | Dedicated analog converter sampling 384,000 times a second, averaged inside every report cycle. Each stick axis is buffered, so one axis never disturbs another |
| Analog triggers | 16-bit sampling~15 effective bits | Same converter as the sticks, plus a separate digital click at the end of travel |
| Gyro + accelerometer | 16-bit, 6-axisup to ±4,000 °/s and ±16 g | Own dedicated bus, read on its data-ready signal |
| Adaptive trigger position | 12-bit | Measured directly, so trigger resistance is controlled in a closed loop |
| Buttons | Digital | Every button has its own processor pin, read directly with no scanning chips in between |
| Touchpad | Multi-touch + click | Own bus, kept separate from the power and motor bus |
The board also accepts Hall-effect and TMR sticks that use the standard 3-wire analog interface.
Every setup below is active play: sticks and triggers read continuously, buttons pressed, the touchpad on, and the radio sending every report. HD rumble, the adaptive triggers and the lights are then added at the levels defined here.
| Usage level | Strength | Pattern | HD rumble, both actuators | Adaptive triggers, both motors |
|---|---|---|---|---|
| Light | 33% of maximum current | On for 25% of each hour (15 min) | ~15–25 mA | ~45–70 mA |
| Medium | 66% of maximum current | On for 25% of each hour (15 min) | ~60–100 mA | ~90–140 mA |
| Heavy | 100%, Thirst's maximum output | On for 25% of each hour (15 min) | ~140–225 mA | ~135–210 mA |
| Constant | 100%, Thirst's maximum output | The whole hour, never off | ~555–900 mA | ~545–825 mA |
| Light | Off | Low (25%) | Medium (50%) | High (100%) |
|---|---|---|---|---|
| RGB status light, one colour | 0 mA | ~2 mA | ~4 mA | ~8.5 mA |
| Mic mute light | 0 mA | ~1 mA | ~2 mA | ~3.5 mA |
| Touchpad player LEDs, all 3 segments | 0 mA | ~5 mA | ~10.5 mA | ~21 mA |
The rumble and trigger columns are the average current each feature draws from the battery at that level, on top of everything else. 100% is the most Thirst can deliver. Each rumble actuator then draws about 280–450 mA from the battery, with both together capped by the battery's ~0.9 A limit; each trigger motor draws about 270–410 mA, set by the board's 0.4 A per-motor current limit. The rumble amplifiers also draw about 5 mA whenever rumble is enabled. Rumble power rises with the square of its current, so 33% strength uses about 11% of full power; trigger current rises in step with force. A typical shooter such as Call of Duty falls between light and medium. Rumble and triggers are never at constant 100% together: firmware limits rumble while the trigger motors are pushing, to stay inside the battery's current limit.
| Setup | 2.4 GHz dongle · 8 kHz, RGB status light | Bluetooth, RGB status light | ||||||
|---|---|---|---|---|---|---|---|---|
| Off | Low | Medium | High | Off | Low | Medium | High | |
| Buttons, sticks, triggers, touchpad and gyro, plus HD rumble and adaptive triggers at the same level | ||||||||
| HD rumble heavy · adaptive triggers heavy | ~3.3 h | ~3.3 h | ~3.3 h | ~3.2 h | ~3.4 h | ~3.3 h | ~3.3 h | ~3.3 h |
| HD rumble medium · adaptive triggers medium | ~5.8 h | ~5.8 h | ~5.7 h | ~5.6 h | ~6.0 h | ~6.0 h | ~5.9 h | ~5.8 h |
| HD rumble light · adaptive triggers light | ~13 h | ~13 h | ~12 h | ~12 h | ~14 h | ~13 h | ~13 h | ~13 h |
| Buttons, sticks, triggers, touchpad and gyro, plus HD rumble · adaptive triggers off | ||||||||
| HD rumble constant | ~1.5 h | ~1.5 h | ~1.5 h | ~1.5 h | ~1.5 h | ~1.5 h | ~1.5 h | ~1.5 h |
| HD rumble heavy | ~5.7 h | ~5.7 h | ~5.6 h | ~5.5 h | ~5.9 h | ~5.9 h | ~5.8 h | ~5.7 h |
| HD rumble medium | ~12 h | ~12 h | ~11 h | ~11 h | ~13 h | ~12 h | ~12 h | ~12 h |
| HD rumble light | ~31 h | ~29 h | ~28 h | ~26 h | ~36 h | ~34 h | ~33 h | ~30 h |
| Buttons, sticks, triggers, touchpad and gyro, plus adaptive triggers · HD rumble off | ||||||||
| Adaptive triggers constant | ~1.7 h | ~1.7 h | ~1.7 h | ~1.7 h | ~1.7 h | ~1.7 h | ~1.7 h | ~1.7 h |
| Adaptive triggers heavy | ~6.3 h | ~6.3 h | ~6.2 h | ~6.1 h | ~6.5 h | ~6.5 h | ~6.4 h | ~6.3 h |
| Adaptive triggers medium | ~9.3 h | ~9.1 h | ~9.0 h | ~8.8 h | ~9.7 h | ~9.5 h | ~9.4 h | ~9.1 h |
| Adaptive triggers light | ~17 h | ~16 h | ~16 h | ~15 h | ~18 h | ~18 h | ~17 h | ~16 h |
| HD rumble and adaptive triggers off | ||||||||
| Buttons, sticks, triggers, touchpad and gyro | ~81 h | ~72 h | ~65 h | ~54 h | ~136 h | ~113 h | ~96 h | ~74 h |
| Buttons, sticks, triggers and touchpad (gyro off) | ~87 h | ~77 h | ~69 h | ~56 h | ~145 h | ~119 h | ~100 h | ~76 h |
Every battery figure on this sheet comes from an electrical simulation of the board: 20,000 runs per figure, each using the published current draw of every component, varied across its specified range, together with the usage levels above, for the stock-size 1,560 mAh battery. The figure shown is the conservative result: 9 in 10 runs lasted at least this long, and the typical (median) run lasts longer. All figures are to be confirmed by measurement on prototype hardware. Carbon sticks are the stock carbon-film potentiometer sticks; TMR sticks are HallPi drop-in TMR sticks for the same 3-pin footprint, with four TMR sensors drawing about 0.25 mA each. On this board the two draw almost the same, so their battery life matches to within a few per cent; the table is for carbon sticks. The chart and the table use the RGB status light only, on one colour, with the mic mute light and touchpad player LEDs off; white uses up to three times as much. Adding the other two lights is shown further down. With rumble and triggers off, the lights become the biggest single load. A full charge takes about 2.5 hours, over USB-C or the dock input.
Pick any combination. The page runs the same electrical simulation as the figures above, live, with 20,000 runs for each result. It shows the conservative figure (9 in 10 runs last at least this long) with the typical (median) figure beside it.
Rumble and the adaptive triggers can't both run at constant 100%: firmware limits rumble while the trigger motors are pushing. This estimate ignores that limit, so real battery life would be a little longer.
Gyro on, no rumble or adaptive triggers, every other light off. Hours are the conservative result of 20,000 simulated runs per figure.
| Light | Level | Current | Dongle · 8 kHz | Bluetooth |
|---|
The battery figures above use the RGB status light only. These grids add the touchpad player LEDs and the mic mute light on top: all 64 combinations of the three lights. Each grid is one mic mute light level; RGB status light runs across, touchpad player LEDs run down. Hours are the conservative result of 20,000 simulated runs per cell, and the grids follow the gyro, rumble and trigger settings in the calculator above.
The battery chart above uses the RGB status light on medium. These grids keep it on medium and add the touchpad player LEDs (down) and the mic mute light (across) for every setup in the chart. Each grid is shaded on its own scale. Hours are the conservative result of 20,000 simulated runs per cell; the printed sheet shows the 2.4 GHz dongle at 8 kHz.
The order things happen in, from pre-orders to production.
Pre-ordered boards make up the alpha program: the first prototypes open for public testing. They will be the first to test new features as they are rolled out, and alpha firmware will only be available on these initial prototype boards. Open beta software will follow at a later date.
The price depends on how many boards are pre-ordered. All prices are in US dollars. $350 is the maximum, for under 20 boards, and a 50% deposit ($175) reserves a board. At 20 to 49 boards our cost per board falls a lot, and our early, highest projection is $250 per board, including shipping within the USA and Australia. Shipping to other countries will probably cost about $15 more. The price drops again at 50 and at 100 boards.
When pre-orders close and we know how many boards are on order, we balance the final price, and you pay only the difference. For example, if 21 boards are pre-ordered and the price comes to $250, you have already paid $175, so the balance is $75. If you order more than one board, an extra discount is applied on top, automatically, when the final price is balanced.
These prices are a rough estimate: we have not yet gone through every cost of making the boards and having them delivered. Concrete prices will be published when pre-orders open.
The initial test boards are ordered. Initial runs take about 3–4 weeks, plus shipping.
The physical design is validated on real hardware, and a basic firmware build brings up comms with the dongle.
Real input latency is measured with a high-speed, firmware-linked test device.
Once testing shows the boards are stable, the first round of consumer prototypes is ordered. Remaining balances are calculated from the number of boards on order, and the price per board drops as milestones are met.
Firmware work continues while boards are in production. Later runs take about 2–4 weeks each, plus shipping.
This is a live document. It will be updated as the project moves forward, and all information and documentation in it is correct to the best of our knowledge at the time of writing.