Foam & Foil Mini Monster - Phase 2: Ideation

User avatar
snacksthecat
✶✶✶✶

01 Dec 2019, 06:53

I came into this foam and foil keyboard maybe about two years back. I can't remember who I bought it off of, but I wish I could thank them! Today I was cleaning/organizing and rediscovered my half finished project. Most of the cleaning work has been done, which is my least favorite part. So now what's left is mostly the fun stuff. Like I've done in the past, I'd like to see first if I'm able to get it working stock. If that fails, then I can explore what it would take to get it working with CommonSense.

I also just got a new camera so I decided to have some fun and take pictures. Here's a breakdown of everything I found in the box.

Top Case
This piece is solid, thick metal. It weighs 936 grams! Definitely something contributing to the overall coolness of the board. I like the big blue band at the top as well.
Image

Back Plate
This is also metal, though this time thinner bent sheet metal. As you can see in the photo, it has a small spot of superficial rust.
Image

Black Thing
I forget exactly where this fits into the equation but we'll figure that out later.
Image

PCB
I've always found the foam and foil PCBs to look really cool. There's some printed text at the bottom that might give hints as to what machine this keyboard went to, but nothing jumping out at me. The guy I bought it from said it came from a military facility or something.
Image

Switches
Already disassembled and thoroughly cleaned (thank you past Snacks). I will need new foam for the board. I'm not exactly sure what to use if I DIY it. For past projects I bought pre-cut foam disks off ebay, but they were very pricey. This time I'd rather just cut my own. I presume I can use leather punches for this.
Image

Keycaps
I actually had two sets of caps in the box. I forget which ones came with the board, but a few had broken stems. I was passively seeking out some replacements for a long time and eventually came into a second set of caps. I haven't checked for compatibility between the two layouts yet but it's good to know I have some options.
Image

More Keycaps
Here's the second set. Oh I guess I forgot to take photos of the spacebars. Please use your imagination.
Image

Cable
Serial connector on the business end and pinchy thing on the side that connects to the PCB.
Image

Thanks for reading :P
Last edited by snacksthecat on 14 Dec 2019, 01:18, edited 1 time in total.

User avatar
OldIsNew

01 Dec 2019, 22:45

snacksthecat wrote:
01 Dec 2019, 06:53

I will need new foam for the board. I'm not exactly sure what to use if I DIY it. For past projects I bought pre-cut foam disks off ebay, but they were very pricey. This time I'd rather just cut my own. I presume I can use leather punches for this.
I really love the old tall stem KeyTronic F&F boards. There's a pretty good discussion about DIY F&F choice preferences in this thread: Best replacement foam for keytronic foam and foil switches .

I've found that a 7/16" leather punch makes disks that fit very well.

User avatar
snacksthecat
✶✶✶✶

14 Dec 2019, 01:55

OldIsNew wrote:
01 Dec 2019, 22:45
snacksthecat wrote:
01 Dec 2019, 06:53

I will need new foam for the board. I'm not exactly sure what to use if I DIY it. For past projects I bought pre-cut foam disks off ebay, but they were very pricey. This time I'd rather just cut my own. I presume I can use leather punches for this.
I really love the old tall stem KeyTronic F&F boards. There's a pretty good discussion about DIY F&F choice preferences in this thread: Best replacement foam for keytronic foam and foil switches .

I've found that a 7/16" leather punch makes disks that fit very well.
Thanks for the recommendation. Actually after reading your thread, I really liked the suggestion about replacing the foil parts with topre springs, so that's what I've been focusing on.

Today I pulled the springs from a donor board and I'm just about ready to rock and roll.

Image

I've got one main question before I get going any further:

The springs are roughly the right size for the pads, but they're a little bit smaller. So they naturally sit inside the circle. Sangdrax
mentioned that you'd have to coat the pads with something so that the conductive springs don't make direct contact. XMIT suggested polyimide tape for this so I bought some of that. But would I need to mask the pads around the edges so that the outer ring of the spring doesn't touch them?

Image

Or is the idea that they could live within the grips of the slider like so? I'm guessing this was the original idea since we don't have domes that could contain them.

Image

They seem to fit, but they're very delicate and kind of want to do their own thing. Not sure if they would stay clipped in or not. Also couldn't get them to fit in there with any amount of foam. I'd like to eliminate the foam all together if possible, but of course that adds another factor into the equation.

Hit me up if you've got ideas!

Finally, I was playing around taking pictures with different lighting and thought this one turned out neat-o. Bummer that I hadn't noticed that the spring moved off the pad. Could have been a really cool shot IMO.

Image

User avatar
snacksthecat
✶✶✶✶

14 Dec 2019, 06:16

Dang, just typed this up, clicked to post, and I wasn't logged in so it wiped everything out.

Anyways, I've arrived at the conclusion that you most likely can't get away from the foam like I had hoped. Well maybe you can, but it's probably not a good idea. The reason being because you need something to soften the bottom-out and also to provide even pressure across the whole diameter of the spring. Foam does both of these things nicely.

Image

I tried a whole bunch of crazy things. Here's one of the more hilarious attempts that I made...

Image

It's a 40g Alps spring, foam, and conical spring sandwich. Where the Alps spring would go inside the slider (there's a bar inside the slider that catches the spring). The thought was that I could maybe provide some pressure to the conical spring to get good contact with the PCB pads. But in practice, the force of the Alps spring (even though it's a very light spring) was too much.

The most successful attempt I've had was a piece of foam underneath/inside the conical spring (which has been flipped over). I think some variation on this is going to yield the best result. That being said, it's probably not going to be as pleasant to type on as the traditional foam + foil configuration. I imagine the bottom out on this is going to be pretty abrupt and hard.

Image

Tomorrow I'll put a piece of the tape on one of the PCB pads and see if it actually works. I imagine it will but, like I said, typing on it might suck.

Not sure how far I'll take this but if anyone has any ideas, I'm happy to guinea pig them in the meantime.

User avatar
snacksthecat
✶✶✶✶

14 Dec 2019, 06:59

This looks pretty cool and promising

Image

User avatar
snacksthecat
✶✶✶✶

15 Dec 2019, 01:22

Well today I pulled the trigger and removed all the components off the board. I know I'd said I wanted to poke around with a logic analyzer a bit first, but I lost interest in that pretty quickly.

Just finished the wiring/soldering for the commonsense controller. I scrubbed it down with some 91% iso but for whatever reason, alcohol doesn't seem to do much in the way of removing flux left behind from the solder I use. Instead it just leaves behind a white dusty residue. If you let it soak, sure it will eventually come off, but you really gotta let it sit there for a long time. Anyone have insight into this? I enjoy working with this solder other than that aspect.

Image

So now I've got to plug it in and make sure the keypresses register. Once I have that, it'll serve as a test subject for these little switch experiments.

User avatar
ZedTheMan

15 Dec 2019, 01:29

Ooh, I missed the experimentation yesterday, that last hybrid looks promising! In a way, a hard bottom out may be desirable, since one of the major complaints about F&F is the mushiness.

User avatar
snacksthecat
✶✶✶✶

15 Dec 2019, 03:08

I got up and running with a basic config in flight controller. Enough to where I can test the keys to see if they register.

I used one normal switch as a "control".

After I identified a few of the PCB pads and where they registered in the matrix, I tried out various configurations of the topre spring (i.e. spring inside a switch with and without foam, just the spring, spring & finger etc) with the polyimide tape. Unfortunately, nothing was registering with the topre spring + tape.

User avatar
Polecat

15 Dec 2019, 03:41

To get a change in capacitance the metal (foil...) needs to move in relation to the pads. If the base of the spring is already against the pads (through the tape) you're probably not getting a capacitance change big enough to register as a keypress. Just thinking out loud...

User avatar
PlacaFromHell

15 Dec 2019, 05:56

Polecat wrote:
15 Dec 2019, 03:41
To get a change in capacitance the metal (foil...) needs to move in relation to the pads. If the base of the spring is already against the pads (through the tape) you're probably not getting a capacitance change big enough to register as a keypress. Just thinking out loud...
Well, Topre already works that way, right?

User avatar
snacksthecat
✶✶✶✶

15 Dec 2019, 06:02

PlacaFromHell wrote:
15 Dec 2019, 05:56
Polecat wrote:
15 Dec 2019, 03:41
To get a change in capacitance the metal (foil...) needs to move in relation to the pads. If the base of the spring is already against the pads (through the tape) you're probably not getting a capacitance change big enough to register as a keypress. Just thinking out loud...
Well, Topre already works that way, right?
I guess that's still creating a change in capacitance. Going from a little bit of contact to full contact. Anyways that's what I'd assume, not that I know what I'm talking about :lol:

User avatar
Polecat

15 Dec 2019, 06:07

snacksthecat wrote:
15 Dec 2019, 06:02
PlacaFromHell wrote:
15 Dec 2019, 05:56

Well, Topre already works that way, right?
I guess that's still creating a change in capacitance. Going from a little bit of contact to full contact. Anyways that's what I'd assume, not that I know what I'm talking about :lol:
I know nothing about Topre, but if the controller is expecting a change from x to y picofarads and it's only seeing a percentage of that it's not going to recognize a keypress. Moving one of the original foil discs on and off one of the pad positions will tell you if the controller is working correctly.

User avatar
Muirium
µ

15 Dec 2019, 11:28

Topre PCBs have an insulating layer on top of the pads (called a solder mask?) which is vital for making a capacitor. Conductors straight up touching one another are no capacitor! You need an insulating layer. Preferably thin. Air will do, but you really can’t have contact. Especially when the key is in its resting, released state.

Are those pads naked conductors? Check ‘em with your multimeter if in doubt. If they are, maybe just put the insulating tape on them. That will approximate Topre’s arrangement, electrically speaking.

User avatar
snacksthecat
✶✶✶✶

15 Dec 2019, 18:43

Muirium wrote:
15 Dec 2019, 11:28
Are those pads naked conductors?
Yep, the pads are naked. I put the tape on two of them to run tests on.

I guess the question now is what type of material will work for creating the insulating layer?

The polyimide tape I bought is 2 mil. Maybe I need something thinner that that even. I see 1 mil tape listings on amazon so I might try some of that out next.

Or applying (liquid) solder mask could potentially work as well. Though, that's a less attractive option to me because it will be much harder to remove if it doesn't work out (or at least that's my assumption). Tape you can just peal off but I'm not sure if there's a quick and easy way to remove the solder mask if it doesn't chooch.

User avatar
snacksthecat
✶✶✶✶

15 Dec 2019, 19:27

Scratch what I said in my last few posts; it actually does work fine through the tape. The problem is my switch design and how I was testing.

I looked at it again today with fresh eyes and tried pushing the spring down with a sharpie marker. When I did this, I get a perfect keypress registering in flightcontroller. Whereas my finger-push test didn't produce anything.

Image

Image

Back to the drawing board on how to integrate the springs into the switches.

User avatar
Muirium
µ

15 Dec 2019, 20:32

Your finger could have been the problem. Don't necessarily throw out your previous ideas! Test them with the tape layer in place, instead. Or the good ones at least. I liked the look of the Topre spring inside the Keytronic switch housing concept.

User avatar
snacksthecat
✶✶✶✶

15 Dec 2019, 20:48

Muirium wrote:
15 Dec 2019, 20:32
Your finger could have been the problem. Don't necessarily throw out your previous ideas! Test them with the tape layer in place, instead. Or the good ones at least. I liked the look of the Topre spring inside the Keytronic switch housing concept.
Yeah, I'm probably being overly hasty in deciding what works vs what doesn't. The iteration with the foam and spring kind of worked but the levels were all over the place. In essence, there wasn't any threshold I could set where the key didn't trigger when idle but triggered when pressed.

I remembered that I'm doing all these tests on the PCB alone without a plate. If I remember correctly, it's important to connect ground to the plate. Maybe that would stabilize things more. At least that's my hope.

User avatar
Polecat

15 Dec 2019, 21:41

It might help to understand what a capacitor is, physically speaking. A capacitor is a device that stores electrical charge. Typically it consists of a dielectric material (insulator) with conductive plates on both sides. Air can be the dielectric, but air has a much lower dielectric constant than most solid materials. The capacitance produced is directly proportional to the area of the material and plates, and inversely proportional to the square of the thickness of the dielectric. So capacitance goes up as the area becomes bigger, but goes down in a hurry as the thickness of the dielectric is increased. Actually in this case we have *two* capacitors in series. One from the first pad on the board to the foil disc and the other from the disc to the other pad on the board. And two (equal) capacitors in series have half the total capacitance of each one individually. Presumably there's an AC signal applied to one of the pads, which passes through to the foil disc, and from there to the other pad, where its presence or absence is detected by the controller electronics.

In this design we're dealing with a very low capacitance to begin with, because of the physical dimensions and materials. Changing one of the plates from a solid disc to a spiral drops it even more. And using a tape with an unknown dielectic constant is probably dropping it even further. A random finger in the works and ungrounded metal in the vicinity would definitely have an effect. And remember we're trying to detect a *change* in capacitance here, which means the electronics has to be very sensitive. Honestly, it's amazing to me that foam and foil works at all.

User avatar
snacksthecat
✶✶✶✶

15 Dec 2019, 23:17

Polecat wrote:
15 Dec 2019, 21:41
In this design we're dealing with a very low capacitance to begin with, because of the physical dimensions and materials. Changing one of the plates from a solid disc to a spiral drops it even more. And using a tape with an unknown dielectic constant is probably dropping it even further. A random finger in the works and ungrounded metal in the vicinity would definitely have an effect. And remember we're trying to detect a *change* in capacitance here, which means the electronics has to be very sensitive. Honestly, it's amazing to me that foam and foil works at all.
Super interesting insight. I noted while testing that the foil disc gives a much cleaner and higher readout than the conical spring. This matches exactly as you explained it.

Nevertheless, I'm marching forward with the conical spring meme!

I've got a bare-bones keyboard built so I can do these tests. I have:
  • One normal foam and foil switch (K)
  • One topre spring + foam switch (;)
  • One accessible pad that has been masked with the 2 mil tape
  • A whole bunch of accessible unprotected pads
  • Metal plate connected to ground
Image

I had to bump the ADC resolution up to to 12 to see any changes when the topre spring key is pressed. As a result the baseline readings across the board are pretty high and flicker a lot.

Image

For my test topre key, I set the threshold to 20, here's what it looks like when I hold that key.

Image

It kind of works, but it's not stable. And sometimes when at rest that key will go above 20 anyways. Or if other keys are pressed. This is all probably indicative of a problem that I'm not realizing right now.

User avatar
Polecat

15 Dec 2019, 23:45

snacksthecat wrote:
15 Dec 2019, 23:17
Polecat wrote:
15 Dec 2019, 21:41
In this design we're dealing with a very low capacitance to begin with, because of the physical dimensions and materials. Changing one of the plates from a solid disc to a spiral drops it even more. And using a tape with an unknown dielectic constant is probably dropping it even further. A random finger in the works and ungrounded metal in the vicinity would definitely have an effect. And remember we're trying to detect a *change* in capacitance here, which means the electronics has to be very sensitive. Honestly, it's amazing to me that foam and foil works at all.
Super interesting insight. I noted while testing that the foil disc gives a much cleaner and higher readout than the conical spring. This matches exactly as you explained it.

Nevertheless, I'm marching forward with the conical spring meme!

I've got a bare-bones keyboard built so I can do these tests. I have:
  • One normal foam and foil switch (K)
  • One topre spring + foam switch (;)
  • One accessible pad that has been masked with the 2 mil tape
  • A whole bunch of accessible unprotected pads
  • Metal plate connected to ground


I had to bump the ADC resolution up to to 12 to see any changes when the topre spring key is pressed. As a result the baseline readings across the board are pretty high and flicker a lot.



For my test topre key, I set the threshold to 20, here's what it looks like when I hold that key.


It kind of works, but it's not stable. And sometimes when at rest that key will go above 20 anyways. Or if other keys are pressed. This is all probably indicative of a problem that I'm not realizing right now.
Sounds like you've got the perfect test bed, and as with all of your projects I'm enjoying watching and learning.

Electronics sensitive enough to detect small changes in capacitance are by necessity also sensitive to other external effects. The thin traces through the middle of each pair of pads are probably grounded to stabilize things by reducing signal bleed from pad to pad and key to key, so be sure those really are grounded (if they indeed were to start with). There's probably a ground plane on the bottom of the board also, for the same reason, and that should also be grounded. And be aware that at higher frequencies a ground isn't necessarily a ground. Length and physical shape create an antenna, and strange things can and will happen when physical lengths coincide with wavelengths.

User avatar
zrrion

16 Dec 2019, 03:41

If you need to get additional capacitance, you might be able to put a layer of foil between the thin foam and the spring, that way as the spring flattens, it not only makes more contact with the sensor but also more contact with the foil, allowing for a higher change in capacitance.

User avatar
snacksthecat
✶✶✶✶

16 Dec 2019, 04:08

zrrion wrote:
16 Dec 2019, 03:41
If you need to get additional capacitance, you might be able to put a layer of foil between the thin foam and the spring, that way as the spring flattens, it not only makes more contact with the sensor but also more contact with the foil, allowing for a higher change in capacitance.
Hmmm, I'll try this. It's a tight squeeze to get the spring in there as is, so not sure if I'll be able to pull it off.

Oh and at least some (if not all) of the weirdness I was seeing in matrix monitor can be attributed to the fact that my pin assignments were wrong. Somehow 0[3] and 0[2] got randomly assigned. Maybe I misclicked at some point and didn't notice the error. 0[3], 0[2], and 0[1] are used by commonsense as reference pins so that would explain why the numbers in the matrix monitor were so unstable.

I also tried one more experiment, this time using saran wrap as the insulator. I got slightly higher numbers using this, but no where near what you get when using the foil. When testing these three things at 12 ADC resolution I got:
  • Foam + topre spring + tape = 8
  • Foam + topre spring + saran wrap = 12
  • Foam + foil = 125

User avatar
snacksthecat
✶✶✶✶

21 Dec 2019, 21:46

Finally after much testing, I've arrived at what I believe to be the optimal "sandwich" to make this idea work.


First of all, I've taped off all the pads on the PCB with the 1mil kapton tape.

Image

The topre spring will sit on top of the pad, insulated by the tape. The switch housing creates a boundary so that it doesn't move off the pad.

Image

Finally, I'm using the pre-cut foam disks + astronaut blanket foil with the conductive side down, so that it makes contact with the spring. The reason for this is to maximize capacitance, as suggested by zrrion.

Image

So the final sandwich from top to bottom is:
  1. Switch housing
  2. Switch slider
  3. Foam disk
  4. Foil (conductive side down)
  5. Kapton tape (1 mil)
  6. PCB pad
It's maybe not as elegant as the idea of the slider gripping the spring (since the fit is so perfect) but each piece plays an important part. And with this combination, I can reduce the ADC resolution back down to 8 (so far it seems). I may need to put it in the middle at 10 if some of the other keys necessitate a bit more resolution, but I've been fine with 8 so far in my testing.

Post Reply

Return to “Workshop”