Author Topic: Progressive springs or spring combinations in keyboard switches? DIY-plan included...  (Read 4324 times)

0 Members and 1 Guest are viewing this topic.

Offline dec.net

  • Thread Starter
  • Posts: 65
Why progressive/combined springs?

On sporty car suspensions, these springs do the following:
When the car goes over a slight bump in the road, the wheel goes up easily since the spring is light at first, leaving a bit of comfort for the occupants; when the car starts to lean in a corner, the light part of a the spring collapses completely pretty soon, thus becoming solid (i.e. no springyness at all) and the strong part takes over, generating a lot of force to prevent unwanted body roll.

If you think about it more abstractly, that is pretty much what you want in a keyboard as well: Using progressive or combined springs (both use pretty much the same principle, difference being that they require either one or two parts) one could produce a keyboard that is a) light to activate b) rather hard to bottom out, and c) has a good amount of force bringing the key back up, right to the activation point - so it would be good for double-tapping as well.

There are other ways to do this, like using rubber membranes at the end etc, sure, but I'm pretty certain the actual reason why this isn't done by switch manufacturers is because it's more expensive and more complex, meaning more parts to go wrong in each switch. But such petty considerations have never bothered any real Geekhacker, so let's get to it then...

DIYing a combined spring

What you'd need to DIY this: Two springs of differing spring rates, one of them light (think Cherry blue/brown), the other medium strength (think Cherry black); some smallish wire cutting pliers/side cutters, and something that connects the two springs so that they are held together on top of each other and can be inserted into where the springs usually go. I'd suggest soldering or two-component adhesives, unless you happen to have some plastic parts ready that could do the job.

Now, for the perfect spring combination as described above, you'd have to experiment with different lengths of those springs, but before, we should have a look at the three primary points of consideration (less positively inclined people might call them "problems"):
- One phenomenon to keep in mind is that cutting coil springs means to take away some of their "springyness" (let's put it into more technical terms: Some of its soul gets eaten) as obviously, the spring uses these coils to give way to the forces applied. Cut springs take more force to compress.
- Also, just about every switch imaginable uses an amount of pre-tension - when you put together the switch housing, you compress the springs a bit, and therefore the springs won't make too much noise when the key is depressed, as the spring is always held in compression even when you fully let go of the key, and it is therefore not hitting the spring housing when you do that. Thus you do want to keep some pre-tension, unless your goal is to have a keyboard louder than anybody elses.
- And third, your typical coils spring consists of three parts: the springy part in the middle, and a few coils on each end that are sitting on top of each other. These parts are there to provide a good seat for the coil itself and also to generate preload, but they are completely inactive in terms of springyness. This provides a good wayto compensate for the first phenomenon - as we inevitable will have to cut away some of the spring to keep a similar level of pre-tension, we should be cutting away mainly those inactive parts of the spring.

These points must be taken into consideration when stepping into action as your own spring designer. I'd say you should start with the light spring. Cut off as much of the end part as you can, while still having a flat section left to seat it. this is probably not very important, but it could prevent some problems over extended periods of use, such as the sharp edge of the spring working its way into the switch or the keystem. Do that on both sides of the spring. Then replace the length you cut off with a corresponding length out of the middle of "medium" flavored spring, by glueing the two springs together. Try to keep the resulting spring the same length as the one it replaces at first, but experiment with that - you should be able to vary the overall force and also the take-over-point quite a lot by changing the length of the medium strength spring. If you do start to experiment with the length of the weaker spring, just keep in mind that in general the weaker spring collapses completely way before the stronger spring even starts to noticeably compress, so don't make it too short - otherwise you'll just have the benefit of the softer touch for a tiny bit of key-travel.

Happy spring-hacking!

Chris
« Last Edit: Sun, 09 January 2011, 08:52:36 by dec.net »
Daily drivers at home: \'93 IBM Model M; Currently: Model F XT (hebrew layout), adapted via Teensy.
Daily driver at University: Marquardt HEROS miliary board.
Take-with-me-board: G80-1800 (blue/black).
Boards I don\'t use: DS 102W (cherry 1800 lookalike, waterproof industrial case with ultra-mushy membrane switches). Dell AT102W (don\'t like it too much, very uneven feeling - last chance is to teflon-coat the sliders)

Offline nanu

  • Posts: 290
    • http://T-T.be/portal
Praise the effort but most mods per switch get tedious without some sort of mass-manufactured solution. I've only really experimented with Cherry MX switches myself, but modding springs this small in this manner doesn't seem practical. The travel distance for a keystroke is already fairly short, so having to compress a lighter spring fully so that the heavier spring compresses doesn't leave much space for either spring.

Offline nanu

  • Posts: 290
    • http://T-T.be/portal
There's no surface area to make gluing work. I imagine fabricating the spring out of a solid piece of varying diameter wire would be best, rather than joining two parts. At least for Cherry switches, friction and the springiness of one of the contact leaves simulates increasing resistance, but that's only done for the tactile bumps.

If the purpose is ultimately to dampen bottom outs, we have several alternatives already.

Offline Findecanor

  • Posts: 5081
  • Location: Koriko
How much does the outer diameter of the spring (not the diameter of the wire) influence the stiffness of the spring? How about a spring where the top half is wider than the lower half?
Or how about a switch with two springs of different diameter -- one inner and one outer?

There is a weird-looking spring in some Oki keyboards on this page that looks interesting, but I don't understand Japanese and Google Translate does not translate the page into something that I can use.
Edit: Webwit's thread about the clicky Oki keyboard.
The mechanism is the inverse of what we are used to. Instead of compressing the spring, the top half of the  spring is attached to the top of the shaft and stretched until actuation. The bottom half of the spring presses against a membrane, so that after actuation, the stretch and the compression add up.
The "click" is achieved by a loop of the lower half being extra wide - and rubbing against a ledge inside the shaft.
According to webwit, the mechanism is very sensitive to dirt.
« Last Edit: Sun, 09 January 2011, 10:53:05 by Findecanor »
🍉

Offline dec.net

  • Thread Starter
  • Posts: 65
Well, here's some proof of concept I did using a biro pen's spring and some solder. I just cut it in half, aligned a coil or so (half that would probably be plenty) and soldered on that. I think it works pretty well.


Of course, then there's the small matter of producing 100 (or at least ~50 for the most used keys in the alphanumeric block) identical springs in a smaller size...


Chris
Daily drivers at home: \'93 IBM Model M; Currently: Model F XT (hebrew layout), adapted via Teensy.
Daily driver at University: Marquardt HEROS miliary board.
Take-with-me-board: G80-1800 (blue/black).
Boards I don\'t use: DS 102W (cherry 1800 lookalike, waterproof industrial case with ultra-mushy membrane switches). Dell AT102W (don\'t like it too much, very uneven feeling - last chance is to teflon-coat the sliders)

Offline nanu

  • Posts: 290
    • http://T-T.be/portal
How does it feel in a key switch? What switch are you trying it in?

What would make for good feel? 42g for 60% of travel, 70g for the remaining 40%--it'd be like a rubberdome but actuated much earlier?

Offline dec.net

  • Thread Starter
  • Posts: 65
Quote from: Findecanor;275687
How much does the outer diameter of the spring (not the diameter of the wire) influence the stiffness of the spring? How about a spring where the top half is wider than the lower half?
Or how about a switch with two springs of different diameter -- one inner and one outer?

There is a weird-looking spring in some Oki keyboards on this page that looks interesting, but I don't understand Japanese and Google Translate does not translate the page into something that I can use.
Edit: Webwit's thread about it.


The outer diameter of coil springs influences the stiffness in a linear fashion, meaning that it's pretty much equivalent to having a thinner or thicker wire - however, it's a lot easier to vary the diameter during the production of a single spring than it is to change the wire diameter. A larger diameter coil spring (with the same number of coils at the same overall length) has more wire on it to deflect; it therefore takes less force per cm to do so (same principle as pushing on the end of a long rod).
This principle of varying the coil diameter is what's used for the most part in progressive springs - these coils (again, not the wire) are mostly small diameter on one or both ends, then a larger diameter part in the middle. The large diameter part in the middle compresses completely under medium force, and then it's only the small diameter end parts, which do provide more force per distance. A conical spring (top of spring smaller than bottom) does that as well. It also has the additional advantage of taking up less space then completely collapsed, as the coils don't bottom out on each other like they would in a normal coil spring, but onto whatever supports the spring. Also, they provide better protection against sideways movement - the spring doesn't buckle/bend so easily.

A switch with two different diameter springs as you described could be used mostly for two purposes: a) they want a softer spring to provide the pretension, and when it bottoms out, the stiffer spring takes over, b) they want to reuse the normal spring they are using for a key that takes more spring power because it's heavier, such as the space bar, so they put in another (soft) spring to help.

Chris
Daily drivers at home: \'93 IBM Model M; Currently: Model F XT (hebrew layout), adapted via Teensy.
Daily driver at University: Marquardt HEROS miliary board.
Take-with-me-board: G80-1800 (blue/black).
Boards I don\'t use: DS 102W (cherry 1800 lookalike, waterproof industrial case with ultra-mushy membrane switches). Dell AT102W (don\'t like it too much, very uneven feeling - last chance is to teflon-coat the sliders)

Offline dec.net

  • Thread Starter
  • Posts: 65
Quote from: nanu;275703
How does it feel in a key switch? What switch are you trying it in?

What would make for good feel? 42g for 60% of travel, 70g for the remaining 40%--it'd be like a rubberdome but actuated much earlier?

I have no idea what it feels like in an actual key yet (my proof-of-concept example was just a biro pen spring, as I figured they were easier to cut and not important to me if it didn't work out). In the biro pen, it feels good though :).

To be honest, I'd perhaps try to go for even more of an effect on my prototype than 42 (activation)/ 70 (bottoming out). I guess something like 35 / 100 would provide a rather good incentive to never actually bottom out such a switch... Especially since a good amount of the force seems to be generated by the switch contacts/clicking leaves, at least in Cherry MXs.
Daily drivers at home: \'93 IBM Model M; Currently: Model F XT (hebrew layout), adapted via Teensy.
Daily driver at University: Marquardt HEROS miliary board.
Take-with-me-board: G80-1800 (blue/black).
Boards I don\'t use: DS 102W (cherry 1800 lookalike, waterproof industrial case with ultra-mushy membrane switches). Dell AT102W (don\'t like it too much, very uneven feeling - last chance is to teflon-coat the sliders)

Offline nanu

  • Posts: 290
    • http://T-T.be/portal
See this is where it's not practical to DIY. Who owns a variety of known-characteristic tiny springs? Unless there actually exists a system for sampling springs (I'm looking at you sixty).

Offline dec.net

  • Thread Starter
  • Posts: 65
It's actually pretty easy to find the characteristics of linear coil springs - load it (either compress or extend, doesn't make a difference for the spring rate) with a known force, i.e. the weight of a coin, and measure how much it deflects. Divide force by distance travelled and you have your spring rate, maybe measure length unloaded and length fully compressed, there you go.
There is no magic to linear springs. The magic (the curves and bends in the force-distance diagram) comes into play when you combine them:

You can have pretty much everything you want from a cherry blue and cherry black switch, it all just depends on the proportions of a) blue spring, active part; b) black spring, active part, c) end inactive parts of either springs to influence the pre-tension and the point where the spring bottoms out (by influencing unloaded and compressed length). The question is just, how much of each do you want...

Also, after finding a way that you like, I imagine the hard part to be the actual cutting and assembling - you'd need to find a way to do that consistently. I imagine some sort of rack that aligns them by the position of the wire's end for the assembling, however I've not quite decided on how to cut them consistently yet.

And also, when I think about it, a rather good place to start would be to just cut a black and a blue cherry spring exactly in half to see what happens. That way, you have double the springs to play with, and maybe you'll even end up with enough springs for both donor boards...

Chris
« Last Edit: Sun, 09 January 2011, 11:35:37 by dec.net »
Daily drivers at home: \'93 IBM Model M; Currently: Model F XT (hebrew layout), adapted via Teensy.
Daily driver at University: Marquardt HEROS miliary board.
Take-with-me-board: G80-1800 (blue/black).
Boards I don\'t use: DS 102W (cherry 1800 lookalike, waterproof industrial case with ultra-mushy membrane switches). Dell AT102W (don\'t like it too much, very uneven feeling - last chance is to teflon-coat the sliders)

Offline dec.net

  • Thread Starter
  • Posts: 65
Well, conical springs like these have progressive characteristics, which is pretty much what I'd want (a bit more than 5g/activation though)... did you measure by any chance how much they take to be fully compressed?

Chris
« Last Edit: Sun, 09 January 2011, 11:47:09 by dec.net »
Daily drivers at home: \'93 IBM Model M; Currently: Model F XT (hebrew layout), adapted via Teensy.
Daily driver at University: Marquardt HEROS miliary board.
Take-with-me-board: G80-1800 (blue/black).
Boards I don\'t use: DS 102W (cherry 1800 lookalike, waterproof industrial case with ultra-mushy membrane switches). Dell AT102W (don\'t like it too much, very uneven feeling - last chance is to teflon-coat the sliders)

Offline dec.net

  • Thread Starter
  • Posts: 65
Really, just 10g? That seems a bit low actually... could be that it gets really stiff on the last millimeters, though. You can see on the compressed picture that the inner/upper coils aren't that compressed at all yet, only the biggest lower ones have bottomed out at that stage.
I would have guessed from looking at those pictures and from my schemy recollection of physics class that it provides at least like 20g of force at that point: Since the diameter reduces linearly, the amount of spring wire per length decreases linearly (l= 2π *r, radius falling as we move along the spring), meaning the spring's ability to push back, and thus the spring rate, increase linearly. The force to push is given by F=d*s (d being the spring rate of a linear spring, s the distance to push on the spring), in our case d=x*s (x being the general spring rate of the wire) this goes to F=x*sē - we have a square function!

So if we assume that activation point is around the middle and it takes 5g to reach that, then to do twice the distance takes four times the force, thus 20g for the bottoming out (theoretically).
If you leave that spring out completely (can you? never seen a Topre actually, nor do I know wether that's involved in the switching mechanism itself), does it make any difference to the bottoming-out feeling?

Chris
« Last Edit: Sun, 09 January 2011, 12:16:04 by dec.net »
Daily drivers at home: \'93 IBM Model M; Currently: Model F XT (hebrew layout), adapted via Teensy.
Daily driver at University: Marquardt HEROS miliary board.
Take-with-me-board: G80-1800 (blue/black).
Boards I don\'t use: DS 102W (cherry 1800 lookalike, waterproof industrial case with ultra-mushy membrane switches). Dell AT102W (don\'t like it too much, very uneven feeling - last chance is to teflon-coat the sliders)

Offline symphonic1985

  • Posts: 80
The springs in Sanwa/Seimitsu buttons have that conical shape but are, I suppose, stronger than the Topre ones. I couldn't resist looking inside one of my switches.

Offline quadibloc

  • Posts: 770
  • Location: Edmonton, Alberta, Canada
  • Layout Fanatic
    • John Savard's Home Page
Quote from: dec.net;275663
If you think about it more abstractly, that is pretty much what you want in a keyboard as well:
Yes and no.

Some existing keyboard designs, I think, do use progressive springs for just that purpose - so that the key has a light touch, but resists bottoming out.

But the problem is that the characteristic that is most desired of a keyboard switch can't be achieved by means of a progressive spring. You can control how quickly the force on the spring increases as you compress it. But you can't make that force suddenly decrease.

For that, you need a fancy mechanism - like a beam spring, a buckling spring, and so on. So looking for a relatively inexpensive way to achieve tactile feedback is what challenges keyswitch designers. Adding a hard spring to avoid bottoming out is just something that you can specify.

But then, rubber domes can give you tactile feedback. So, if a spring, instead of being helical or conical, allowed part of itself to tip over and be pulled backwards, maybe you could make a tactile feedback spring that way...

Offline urlwolf

  • Posts: 107
Agreement here seems to be that blacks go on forever, ie they are really hard to bottom-out (that's my experience too). Looking at the curves, clears have a pretty similar spring where the end of the curve is 100g. I've never tried clears, but I wonder if the clears are indeed doing what you want: sort of soft before the activation point, 'infinitely hard' after it (ie black feeling after it).
keyboards: Cherry G80-3494- cherry reds | filco majestytouch - cherry browns | kinesis contour - cherry browns | cherry G80 - 1800 cherry blacks.
mice: filco touchpad | logitech G9x | wowpen joy | kensington orbit trackball | zalman fpsgun | intellimouse v1 | logitech rx1500

Offline dec.net

  • Thread Starter
  • Posts: 65
Quote from: quadibloc;275816
Yes and no.

Some existing keyboard designs, I think, do use progressive springs for just that purpose - so that the key has a light touch, but resists bottoming out.

But the problem is that the characteristic that is most desired of a keyboard switch can't be achieved by means of a progressive spring. You can control how quickly the force on the spring increases as you compress it. But you can't make that force suddenly decrease.

For that, you need a fancy mechanism - like a beam spring, a buckling spring, and so on. So looking for a relatively inexpensive way to achieve tactile feedback is what challenges keyswitch designers. Adding a hard spring to avoid bottoming out is just something that you can specify.

But then, rubber domes can give you tactile feedback. So, if a spring, instead of being helical or conical, allowed part of itself to tip over and be pulled backwards, maybe you could make a tactile feedback spring that way...

Well, what I have in mind for my spring-hacking project is the Cherry MX switch... it has the tactile mechanism built in, but it could also benefit from more progressive spring characteristics, I believe, since I feel it could deliver some more force after the activation point.
Daily drivers at home: \'93 IBM Model M; Currently: Model F XT (hebrew layout), adapted via Teensy.
Daily driver at University: Marquardt HEROS miliary board.
Take-with-me-board: G80-1800 (blue/black).
Boards I don\'t use: DS 102W (cherry 1800 lookalike, waterproof industrial case with ultra-mushy membrane switches). Dell AT102W (don\'t like it too much, very uneven feeling - last chance is to teflon-coat the sliders)

Offline laden3

  • Posts: 594
Not sure if this is possible or not... just add another spring after the point of contact in the switch, no need to mess with the original spring
I rrrove brrracks.

Offline taswyn

  • Posts: 89
I was really hoping to see something of this nature (progressive or multi weighted spring) materialize out of the manufactured cherry brown a-like group buy, as a followup order opportunity. It seems like something not readily available any other way that could be very neat to try.

Offline symphonic1985

  • Posts: 80
Quote from: laden3;275866
Not sure if this is possible or not... just add another spring after the point of contact in the switch, no need to mess with the original spring



What if you put the short and narrow MY switches inside the larger one? You could fix them to a common base.

I could experiment with that a little bit since I have both kinds at home.

Offline Findecanor

  • Posts: 5081
  • Location: Koriko
I took another look inside the Cherry MX switch ...

It appears that the plastic prong in the centre of the bottom switch casing that goes through the PCB is quite deep and hollow. The bottom of the slider slides down into it.

Normally, when you bottom out on a Cherry MX key, it is the key cap that hits the top of the key casing. You can almost eliminate noise on bottoming out by putting dampeners inside the key cap.
However, the switch still has to be able to bottom out without a properly attached key, and without damaging the prongs that provide the tactility.
On most Chery MX switch types, I think that the slider's rails hits the bottom of rails inside the case. On blue and green switches where the slider is divided into two parts the coloured part is longer, hitting the bottom of the hollow prong that goes through the PCB.

See here in the picture below that was borrowed from Cherry MX springs.

(My own camera can not take pictures at that close range)

I wonder.. would it be possible to find a coiled spring that is small enough to put inside the bottom shaft inside the bottom switch case? The bottom of the slider might have to be cut to do this.
🍉