Controller snapback

What is controller snapback?

For reference, the 0.2875 levels are reached at about 1.32-1.48 Volt (left) and 1.88-2.04 Volt (right). There is quite a bit of noise in the signal levels, so these aren't the most accurate numbers, unfortunately. However, when testing controllers for snapback both in-game and with the oscilloscope, so far controllers that maxed out at 2.00 and 2.04 V did not reach snapback levels beyond the dead zone in-game, so I expect that the outer thresholds of the dead zone are the "real" thresholds. In other words, only parts of the yellow snapback curve that exceed the outer ends of the blue lines are capable to be read as directional inputs.

Spoiler: (Show)

Possible solutions

1. Favorable potentiometer oddity

has not yet been observed on the newer Smash edition controllers

2. Silicone grease lubrication of the stickbox

Spoiler: Tutorial / description archived as reference, please read the important update below first!

Here are oscilloscope screenshots of a Smash edition controller that has been lubricated with silicone grease:



Before lubrication, type 3 white (T3W): Spoiler

Before lubrication, type 3 black (T3B): Spoiler

After first lubrication (T3B):

Spoiler

After second lubrication:

Spoiler

After third lubrication (very large amounts of grease used):

Spoiler

End result:





To apply the silicone grease, use a small toothpick or Q-tip with the cotton removed to pick up the grease, push the stickbox shaft in one cardinal direction and smear the grease into the hole on the opposite side opened by that.



The more silicone grease you use, the less overshooting there is, but the louder the

For reference, a new unlubed type 3 stickbox takes about 8 ms to return from full extension to neutral position. At this point, however, it will only start the snapback vibration. Counting from the initial letting go, it takes 23 ms until the control stick is completely at rest.



Here is my tutorial on lubricating the stickbox until the snapback is gone entirely (quite long, 22 minutes – better take the time to watch all of it), includes additional explanations on the physical process, lubricating potentiometers to eliminate the squeaky noise that some of them have, and inserting wooden spacers to prevent the lubed stickboxes from having too little friction against the stick knob:



Which silicone grease to use:

I've been using



Credits :

I had lubricated my stickboxes with rather thick silicone grease for years and hadn't had any snapback problems, but I failed to make the connection that there was a causal relationship between the greasing and the absence of snapback. Credit for that observation goes to By smearing a large amount of thick (NLGI class 2) silicone grease, the inner friction of the grease viscosity will provide enough deceleration to the control stick to prevent it from reaching over-extension levels.Here are oscilloscope screenshots of a Smash edition controller that has been lubricated with silicone grease:Before lubrication, type 3 white (T3W):Before lubrication, type 3 black (T3B):After first lubrication (T3B):After second lubrication:After third lubrication (very large amounts of grease used):End result:To apply the silicone grease, use a small toothpick or Q-tip with the cotton removed to pick up the grease, push the stickbox shaft in one cardinal direction and smear the grease into the hole on the opposite side opened by that.The more silicone grease you use, the less overshooting there is, but the louder the sound of the grease will be when moved from neutral position, and the slower the stick will return to neutral, which will probably feel weird / unusual to you at first. Since the return travel from full extension to neutral position still takes less than one frame (16 ms) at most, it's still fast to not cause any real in-game problems, though.For reference, a new unlubed type 3 stickbox takes about 8 ms to return from full extension to neutral position. At this point, however, it will only start the snapback vibration. Counting from the initial letting go, it takes 23 ms until the control stick is completely at rest.Here is my tutorial on lubricating the stickbox until the snapback is gone entirely (quite long, 22 minutes – better take the time to watch all of it), includes additional explanations on the physical process, lubricating potentiometers to eliminate the squeaky noise that some of them have, and inserting wooden spacers to prevent the lubed stickboxes from having too little friction against the stick knob:I've been using this one here by Liqui-Moly . Other brands are fine too, as long as it's silicone grease and NLGI class 2.I had lubricated my stickboxes with rather thick silicone grease for years and hadn't had any snapback problems, but I failed to make the connection that there was a causal relationship between the greasing and the absence of snapback. Credit for that observation goes to @Gentlefox who mentioned it to me about two months ago.

Important update (three weeks after the video above)

3. 470nF - 1µF Capacitor between pins 2 and 3 of the stickbox

Spoiler: Wiring options:





NC switch, needs pressing while plugging in:





Examples for adding the NC switch accessibly from outside:



Direct soldering, needs resetting on console:NC switch, needs pressing while plugging in:Examples for adding the NC switch accessibly from outside:

Controller snapback is caused mechanically by the mass of the control stick knob, which in flick inputs accelerates during the return from full extension to neutral, causing it to travel into over-extension to the opposite side until being slowed down by the spring cushioning its momentum. In most controllers, this makes the stick vibrate like a pendulum for a few times until resting still in the middle.The amount of physical over-extension varies slightly from controller to controller, but most of the time, it is great enough so that it reaches the level where directional inputs beyond the dead zone are read for about 3 milliseconds.In-game, this is a problem because inputs beyond the dead zone in Melee store the aerial neutral-B orientation flag for 20 frames. So what happens is that, while airborne and facing right, you press left strongly and let go of the stick ("flick input"), intending to perform a neutral-B to the left side with this input and moves like Falco's laser or Sheik’s needles. However, from the ~3 ms the stick stays in the right-hand input zone, there is about an 18% chance that the controller will poll for inputs just during that time, shooting the laser towards the right instead of the left, and making almost every fifth directional airborne neutral-B go off into the wrong way.In Smash 4, a similar problem exists, where empty pivots (smash turns, they call them "perfect pivots" for some reason) allow turning around again immediately, even with tilt turn levels (about >=0.2875 in Melee input levels).Here is some footage showing the snapback effect:1. Video of flick inputs on a new (Smash edition) controller at 420 fps, showing the over-extension:2. Oscilloscope curve of these flick inputs on the same controller (x-axis = time, y-axis = x-input with low = left and high = right), blue lines are the dead zone thresholds (edited in):The snapback over-extension to the right (shown as upwards curve) exceeds dead zone levels for about 5 ms, so this controller has about a 31% chance of flick inputs causing the wrong orientation.4. Oscilloscope curve of the same controller with the stick knob removed, proving that it's its mass that causes the mechanical over-extension:With older GCC editions, this problem exists too. Here is a used purple controller with a type 1 stickbox:Same controller with the knob removed, to show that also with type 1 stickboxes, the cause of the problem is the mass of the stickbox:Old black, used, with type 2:There are three different ways to eliminate the snapback problem.On some controllers, so far mostly JP White 2008 edition, with use the potentiometers can deteriorate in a strange way that makes the stick readings less linear, causing them to be read in slower steps.From an engineer perspective, this is rather unwanted, but from a Melee perspective, this is very helpful.On controllers that have this oddity, control stick input levels will not react fully to sudden changes. So while the stick knob still mechanically over-extends, the potentiometer readings will not follow suite, perhaps from improper trace contact.Example flick input oscilloscope curve:Another effect that this oddity has is that with smash turns, the "buffer time" during which the glitched oscilloscope skips input changes corresponds with the time usually spent in the tilt turn range, allowing one to skip that entirely, with no or drastically reduced risk of accidental tilt turns being read.The exact change within the potentiometer that causes this oddity to appear is not yet known. However, it so far has only occurred in too strong degradation levels that make the dashing more unusable than improved and is known to be very volatile: snapping off the potentiometer from the stickbox usually removes the effect, and sometimes even just opening the controller and cleaning it reduced smash turn success rate significantly, suggesting that the oddity was removed by doing so.Here is the same controller as in the last picture with flick inputs towards the right, in the upper half without the stickbox touched, and in the lower half with the stickbox taken out and put back in:Until it is known how this oddity can be caused on purpose consistently, it cannot be the go-to method to deal with snapback.Applying too much grease can cause drifting problems. I had used my main controller with moderate grease for two months before starting to sell this mod and write this post, so I thought that there were no bad side-effects, however recently for at least two controllers I sold and for at least two people who did this mod on their own, bad drifting issues occurred. These are usually very rare, so unfortunately it's very likely they come from the lubrication. For now, I recommend not doing this greasing mod, unless you want to take the risk of your control stick drifting heavily. Even then, you should only apply it sparingly, to decrease the chance of drifting happening.I'll update this with all new findings. Here is a video on how you can alleviate drifting on a greased controller (might need to be repeated after certain amounts of time): https://www.youtube.com/watch?v=fMUXu9aoib0 Text instructions to go with that:1 µF capacity in a capacitor is enough to even out the snapback vibrations to prevent reverse inputs from being read even in the controllers with the most snapback. 680 nF is enough for the majority of them, though. So I only recommend using 1µF if 680 nF has not been enough for a controller.This mod retains the original sound and physical feeling of the stick, with the loud vibration sound after flick inputs and the absence of the mushy silicone grease sound.However, in some controllers this mod will make empty pivots less consistent, since very short smash inputs are sometimes "eaten" by the capacitor.Also, controllers with this capacitor mod will not calibrate correctly on console (in emulation, they calibrate just fine). You'll need to either reset with X+Y+Start every time after plugging the controller in to prevent drifting, or wire a normally closed switch between pin 2 of the potentiometer and the capacitor.The reason for this is that the controller immediately takes the resistance within the potentiometer read during initialization as the default one, but during that the 3.3V is still charging up the capacitor. When it's been charged up, more voltage will reach the receiver pin, causing drift towards the right.When you reset with X+Y+Start, the capacitor will already be charged up, so it will now calibrate to the correct value. With the NC switch, you hold down the button while plugging in, so that the controller calibrates to the value without the capacitor. After calibration has finished (much less than one second), you can safely let go of the NC switch button, and the controller will charge up the capacitor, possibly moving to the left for a frame, and then stay at default levels again.Finally, if you want option 2 or 3 done by me, you can order a controller from me with the mods S1 or S2 respectively from my sales thread