[Mouse Mod HOWTO] Input lag test setup for Rocket League

Everything about latency. Tips, testing methods, mouse lag, display lag, game engine lag, network lag, whole input lag chain, VSYNC OFF vs VSYNC ON, and more! Input Lag Articles on Blur Busters.
HalfwayDead
Posts: 34
Joined: 18 Jul 2017, 07:27

[Mouse Mod HOWTO] Input lag test setup for Rocket League

Post by HalfwayDead » 18 Jul 2017, 08:44

Hi everyone,
I've been lurking on this website for a while and wanted to say that it's amazing what all the community members are doing!

I'm here because I want start testing accurate input lag numbers for Rocket League and would like some help regarding my methodology. I got a 1000FPS camera off ebay and was planning on getting some LEDs to basically replicate this setup https://www.blurbusters.com/gsync/preview2/. I have an old Razer Naga with 1 broken switch which I opened up and I noticed that the only way to get an LED to light up on the mouse click seems to be by completely desoldering the switch? I don't think it would be possible to put it back together like the G9x in the example so I was wondering if I'm missing something or if it's just the different mouse.

I don't really want to desolder the switches if possible as I plan on testing multiple controllers (which are mostly used for competetive RL) and want to avoid essentially breaking them for normal use just to figure out the input lag. My idea was to just skip the switch by connecting the ends to the LED letting the current flow past it. After reading about debounce times and not understanding them perfectly, I'm not sure if this would misrepresent real inputs. I'm also not sure if I do need resistors in this particular setup for the LED if the forward voltage is 3.3V. The internet seems to be split between "never use without" and "it's ok to use it for very short times", which it would be.

Lastly, I plan on testing on actual consoles too in the future if I can get them from friends/other ways. On PC I have the possibility to create custom maps to essentially replicate what was done here in CS:GO (https://www.blurbusters.com/gsync/gsync101-input-lag/) for the sake of easier testing and possibly more FPS. Would you recommend just sticking with something that I'll be able to use on any platform or go for the better option? The majority of the testing will be done on PC anyway.

User avatar
Chief Blur Buster
Site Admin
Posts: 11647
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: Input lag test setup for Rocket League

Post by Chief Blur Buster » 18 Jul 2017, 20:56

HalfwayDead wrote:Hi everyone,
I've been lurking on this website for a while and wanted to say that it's amazing what all the community members are doing!

I'm here because I want start testing accurate input lag numbers for Rocket League and would like some help regarding my methodology. I got a 1000FPS camera off ebay and was planning on getting some LEDs to basically replicate this setup https://www.blurbusters.com/gsync/preview2/. I have an old Razer Naga with 1 broken switch which I opened up and I noticed that the only way to get an LED to light up on the mouse click seems to be by completely desoldering the switch?
We run the LED with a separate coin battery and a shared ground. The button is not disconnected from the mouse.

There may be issue with certain mice sharing a circuit this way, but Logitech and Razer mice are compatible with simply attaching a standard LED (the same circuit as a throwie or simple LED: coin battery + resistor + LED). The left mouse button becomes the switch for the LED, sharing the same ground as the mouse's ground (negative side of coin battery is directly connected to the mouse's ground). I don't modify the switch but the solder contacts underneath the switch, attaching the LED without disconnecting the battery.

So it's is one mouse button simultaneously controlling two parallel circuits (with separate power supplies but shared ground).

By doing this, only solder-point attachments are needed, no power is robbed from the mouse's power supply (which might affect switch response).

Use an ultra-efficient red LED, so you can use a reasonably large-value resistor to minimize potential of interference with the mouse electronics in this arrangement.

You can breadboard the LED first, while the mouse is disassembled, test everything. You can even use MOLEX connectors.

I have a photo album of the mouse modding, which I'll publish on BlurBusters as a HOWTO for mouse modification for high speed video sometime this year.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

User avatar
Chief Blur Buster
Site Admin
Posts: 11647
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: Input lag test setup for Rocket League

Post by Chief Blur Buster » 18 Jul 2017, 21:15

HalfwayDead wrote:After reading about debounce times and not understanding them perfectly, I'm not sure if this would misrepresent real inputs.
Nope.

Not at all.

Debounce will not play a role for a mouse that has been idling for a while and the button just being pressed for the first time. If there's a debounce error margin, it was less than 1 millisecond in our attempts to measure debounce error margin.

I feel debounce will fudge rapid-fire button presses (button mashing) more than simply the first trigger -- of which the leading-edge (first mousedown signal) will typically have no debounce processing/delay at all. Thus, the LED would have timing unity with the mouse signal inside the mouse.

AFAIK, with Logitech G9 and Razer Deathadders, the first mousedown (after a brief idle) appear to not have any meaningful debounce delay. This would be the situation (at least a briefly idling mouse button) if you're taking a second to aim before pressing the button to shoot the first bullet. De-bounce delay is more prone to processing the mouse release, since it can 'bounce' creating multiple button presses upon release. So it is more of a problem during button-mashing situations, or weapons that are dependant on precision mouse-release.

I am very sure that debounce processing varies a lot between mouse, but the first mousedown after a delay, appears to have no debounce delay for that particular mousedown event.
HalfwayDead wrote:I'm also not sure if I do need resistors in this particular setup for the LED if the forward voltage is 3.3V. The internet seems to be split between "never use without" and "it's ok to use it for very short times", which it would be.
True, with a coin battery, you really don't need a resistor.

However...

A resistor is always a good idea because you're sharing a common ground because -- if you use our technique -- then you're attaching the negative side of the coin battery directly to the mouse's circuitry (in order to have a fairly independent power supply for the LED). I want to reduce any leakage current to the absolute minimum possible, while keeping the circuit as "nobrainer easy" as possible, with the fewest possible mouse modifications with the widest mouse compatibility. So the three-component mod is the easiest.

The circuit order that we have used:
1. Mouse "motherboard" ground (anywhere, but preferably close to negative side of mouse button) --> attaches to -->
2. [-]COIN BATTERY[+] --> attaches to -->
3. Resistor --> attaches to -->
4. [+]LED[-] --> attaches to -->
5. Positive side of mouse button (solderjoint near/underneath mouse button)


In our case, we now use a MOLEX connector since #1 and #4 are two wires coming out of our modified mice now. So we can disconnect the LED/resistor/coin battery, and keep using our modified mouse like an unmodified mouse.

By using a "common ground" arrangement like this:
(1) we don't remove as much power from the mouse, creating false signals in the mouse button electronics or other unexpectedly modified behavior (caused by unexpected current draw, etc).
(2) we don't have to worry what logic voltage that the mouse button uses, since the LED uses an independent voltage via the coin battery

Due to shared-ground arrangement, there may be parasitic electric current leaking between the LED side and the mouse motherboard side, but thanks to the LED (diode) and the internal resistance of coin battery -- it is probably mere microamperes very far below interfering with the mouse's operation.

From the mouse button's perspective, attaching the LED circuit, probably (to the mouse electronics) feels like attaching a megaohm resistor between the button terminals. This would be far, far, far below mouse button trigger, and far, far, far below the resistance of internal fine metal dust inside a 1-year-old mouse button (from regular use) which will likely have a far lower electric resistance than the common-ground-arrangement independent-coin-power-supply LED attachment we've chosen to do.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

User avatar
Chief Blur Buster
Site Admin
Posts: 11647
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

[Mouse Mod HOWTO] Input lag test setup for Rocket League

Post by Chief Blur Buster » 18 Jul 2017, 22:00

Here's a schematic of our mouse modifications.

Image

As you can see, the "common ground, independent power supply" arrangement has many advantages:
- Common ground.
- Minimal component count.
- No mouse modifications or disconnections. Only needs attaching two solder points.
- No worrying about whether mouse logic is 3.3V or 5V
- No worrying about stealing parasitic power from mouse (that might interfere with button logic triggers)
- Fast mouse modification, easy-testing with multimeter -- often simply adding two extra wires to existing solder joints on mouse circuit board.
Mouse ground is easy to find, as it often covers a large surface of the circuit board, and one side of all mouse buttons is directly connected to ground, though I generally try to add wire as close to mouse button as possible. Usually the mouse button has two solder joints -- one ground, one positive -- making this easy to do.
- I can literally modify any mouse with impunity. Never encountered a mouse incompatible with this circuit.
- Mouse remains usable for everything, especially if you use a disconnectable connector for the 2 wires.
- No changes to button behaviours or button debounce behaviors (as far as we've tested with our mods of Logitech & Razer mice).
- Orientation of LED is "reversed" relative to the mouse power supply, to prevent the mouse power supply from leaking through LED circuit. It's a diode, after all, which essentially blocks electricity flow in the opposite direction (below breakdown voltage -- but we don't have to worry about this here at mouse button logic voltages).
- Even though resistor is not really needed for a coin battery (due to coin battery's internal resistance), I use one anyway, mostly to reduce the likelihood of parasitic current even further; it further reduces the likelihood of coin battery current interfering with mouse electronics.
The reverse diode breakdown voltage is higher than the mouse button logic voltage, so any leakage current would likely be microamps or less, which is meaningless (especially when compared to the internal resistance of a worn mouse button)

As you already know, we were the first ever website to test the input lag of GSYNC.

Later this year, we are publishing a photographic HOWTO of step by step modification of a computer mouse, complete with MOLEX connectors, for other testers. But hopefully this post helps you get started with your own mouse modification.

Please mention/credit Blur Busters if you are inspired by us to modify a mouse! :D
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

Sparky
Posts: 682
Joined: 15 Jan 2014, 02:29

Re: [Mouse Mod HOWTO] Input lag test setup for Rocket League

Post by Sparky » 19 Jul 2017, 00:25

Button cell isn't really necessary. Even with 3.3v logic and the mouse's 5v supply, you should be okay, due to the forward voltage of the LED. Still better to use the 3.3v supply in that scenario, but it's unlikely to fry your mouse. If you don't know the forward voltage of your LED, just avoid red, the other colors have a bigger band gap and thus a higher forward voltage.

There is a potential problem with both circuits if the mouse is multiplexing switches, but any mouse designed like that deserves to be bricked.

HalfwayDead
Posts: 34
Joined: 18 Jul 2017, 07:27

Re: [Mouse Mod HOWTO] Input lag test setup for Rocket League

Post by HalfwayDead » 19 Jul 2017, 09:25

Thank you so much for the detailed replies!
I just got my camera (and found out my Acer GN246HLBbid apparently isn't flicker free). I'm ordering the other parts now. When I get around to making a video I will most definitely credit you and also recommend looking at some of the other tests done here. I have an exam coming up though and I am also working on my bachelor thesis so it might take a while. I'll also post the results on here if people are interested.
If you don't know the forward voltage of your LED, just avoid red, the other colors have a bigger band gap and thus a higher forward voltage.
I'm assuming you only meant this in case that I won't be using resistors, right? Judging from the voltages that I've looked up red might be the easiest to use with resistors if I only have 3V to begin with.

Sparky
Posts: 682
Joined: 15 Jan 2014, 02:29

Re: [Mouse Mod HOWTO] Input lag test setup for Rocket League

Post by Sparky » 19 Jul 2017, 15:10

HalfwayDead wrote:Thank you so much for the detailed replies!
I just got my camera (and found out my Acer GN246HLBbid apparently isn't flicker free). I'm ordering the other parts now. When I get around to making a video I will most definitely credit you and also recommend looking at some of the other tests done here. I have an exam coming up though and I am also working on my bachelor thesis so it might take a while. I'll also post the results on here if people are interested.
If you don't know the forward voltage of your LED, just avoid red, the other colors have a bigger band gap and thus a higher forward voltage.
I'm assuming you only meant this in case that I won't be using resistors, right? Judging from the voltages that I've looked up red might be the easiest to use with resistors if I only have 3V to begin with.
You need a resistor anyway, to limit current through the LED when the button is pressed. The point is that you can use the mouse's power supply instead of a battery.

A red LED might have a forward voltage as low as 1.6v, if you put that on a 5v supply it would be putting 3.4v into one of your microcontroller's inputs. Probably not a big deal, but if your 5v rail is a little high, and your 3.3v rail a little low, it could become a problem. Other colors(and some red leds too) would have a bigger voltage drop.

User avatar
Chief Blur Buster
Site Admin
Posts: 11647
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: [Mouse Mod HOWTO] Input lag test setup for Rocket League

Post by Chief Blur Buster » 19 Jul 2017, 15:29

Sparky wrote:Button cell isn't really necessary. Even with 3.3v logic and the mouse's 5v supply, you should be okay, due to the forward voltage of the LED. Still better to use the 3.3v supply in that scenario, but it's unlikely to fry your mouse. If you don't know the forward voltage of your LED, just avoid red, the other colors have a bigger band gap and thus a higher forward voltage.
As Sparky notes, with a little more work, it is easy to eliminate the coin battery. The effort & risk is a little bit higher, though.

True, button cell isn't really necessary most of the time for the low voltages and currents involved, but it is good practice, and it's additional safety. It will protect your mouse electronics better in the case of screwups (e.g. short circuit across LED legs, reversed wires, etc). Most mice may survive many 'minor' screwups, but you never know...

Indeed, it's possible to use the mouse's power supply. You do have to use the multimeter more, have to find voltages, you may have fiddle more with resistor value or LED selection to match it to your mouse electronics better (especially if you don't have a 3V/5V power supply to pre-test your LED with), double check more things to make sure you will not fry the mouse, etc. With the independent-power-supply LED, you can even build and test the LED circuit first, away from your mouse (and even, heck, if you're being that precise, even calibrate to right required brightness that is correct for your high speed camera) -- finish assembling (e.g. solder the resistor directly to LED leads) long before needing to attach two wires to the mouse with fewer/easier multimeter test points.

For simple instructions, the button cell is quicker and more universal -- you grab a random mouse, quick test for the button contacts (ground and positive), attach wire, and close up the mouse. There are some electronic circuits that completely isolate buttons from the power supply (e.g. hardwire to logic inputs of a chip, with a very severe power limit), and might not provide enough milliamps to brightly light up a LED. Most mice don't do this, but it's wholly possible. You could attach other voltages such as the USB voltage or mouse 3.3V, but that either adds risk (shorting to the chip) or needing extra components (e.g. if you want some form of isolation between button logic and LED power).

So to be safe, we're only publishing a universal two-wire three-component circuit that works with practically all kinds of logic buttons (isolated, non-isolated, current-limited, multiplexed or non-multiplexed switches, etc). Even non-multiplexed switches might unbeknownst to our knowledge, already be running isolated and current-limited from the rest of the mouse where you'd then instead connect to button ground rather than power supply ground).

There's more testing (multimeter) to find the right points of contact, and also risk though -- since the button circuits often don't have enough power to brightly illuminate the LED (high speed cameras need lots of brightness). And to solve that by bringing in power from another part of the mouse motherboard could cause shorts if you're not careful where you attach wires to. (Technically, this could be perfect on 90% of mice but zap on 10% when a weak 3.3V gate sees 5V).

Many users who wants to do this mouse modification aren't as experienced as we and you are in electronics, so the lower-risk instructions can be safer.

There's many ways to modify a mouse, yep. But few is truly as universal as our diagram (without increasing component count further).

If you choose to use the mouse power supply instead of a button cell, make sure to post pictures -- the instructions will be much more mouse-specific -- and readers may be interested in information safely avoiding the button cell for a specific model of mouse.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

HalfwayDead
Posts: 34
Joined: 18 Jul 2017, 07:27

Re: [Mouse Mod HOWTO] Input lag test setup for Rocket League

Post by HalfwayDead » 19 Jul 2017, 20:21

Sparky wrote:A red LED might have a forward voltage as low as 1.6v, if you put that on a 5v supply it would be putting 3.4v into one of your microcontroller's inputs.
But doesn't the resistor prevent that? As far as I have understood it you choose the resistor based on voltage and amps. R = U/I. So I need 3.4V drop and 20mA = 170 Ohm resistor? I think I'm missing something here. I can't run a 3V LED on a 3V source + a resistor, right? Either way I don't think I understand how the method without the button cell works.

Image
The yellow one is the positive side of the mouse button. There is a 3.3V difference between it and both the green and blue points meaning there are 3 solder points for the button. Does it matter which one I use? As for the large surface, I'm probably looking at the wrong things but I couldn't find anything. I thought it might be the red thing there is no voltage difference between it and anything. Trying to look at the conductive tracks is basically impossible because there are so many of them and they seem to switch sides.

Sparky
Posts: 682
Joined: 15 Jan 2014, 02:29

Re: [Mouse Mod HOWTO] Input lag test setup for Rocket League

Post by Sparky » 19 Jul 2017, 20:32

HalfwayDead wrote:
Sparky wrote:A red LED might have a forward voltage as low as 1.6v, if you put that on a 5v supply it would be putting 3.4v into one of your microcontroller's inputs.
But doesn't the resistor prevent that? As far as I have understood it you choose the resistor based on voltage and amps. R = U/I. So I need 3.4V drop and 20mA = 170 Ohm resistor? I think I'm missing something here. I can't run a 3V LED on a 3V source + a resistor, right? Either way I don't think I understand how the method without the button cell works.
The resistor drops 3.4v only when the button is pressed, when it's open you get 3.4v at the switch contact(assuming no current is going back through the microcontroller.)

Image
The yellow one is the positive side of the mouse button. There is a 3.3V difference between it and both the green and blue points meaning there are 3 solder points for the button. Does it matter which one I use? As for the large surface, I'm probably looking at the wrong things but I couldn't find anything. I thought it might be the red thing there is no voltage difference between it and anything. Trying to look at the conductive tracks is basically impossible because there are so many of them and they seem to switch sides.
the center pin is the normally open contact, when you press the switch, it will get shorted to the end of the switch with the pin plunger (common). The other end is the normally open contact, and gets shorted to the common until you press the button. Now, there are a few ways for a switch to be wired, When you press the button, either the center pin will drop to 0, or it will pull either the blue or green up to 3.3. The normally open contact may or may not be used. If you're using the circuit with the battery, you want the - side of the battery connected to the common pin, and the LED connected to the center pin. Otherwise, look for the voltage regulator. Do you have a photo of the other side of the board?

Post Reply