0

Capacitive Touch contact not working any more
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Capacitive Touch contact not working any more

by dparke on Mon Mar 12, 2018 3:38 pm

Hello!

I've recently had a capacitive touch contact stop working on my CPX. I did a number of sample programs and even my own, both in CPython, and it worked. At some point (when I was demo'ing to a mostly rapt 4 year old) it seemed to stop working. A few things changed from when I tested it and demo'd it:
  • I switched from usb power to battery (3xAA).
  • I applied the included magnet sticker to the back of the CPX (like I saw in the combo safe example).
  • I tried to alligator clip through a cardboard box to pieces of aluminum foil on the other end.

After I noticed odd behavior, I tried taking all the extra alligator clips off and even the magnet off and I could no longer get a response from the ... A2 (IIRC) contact. Others (A7, A4) still worked.

Any ideas what's happened? Is this contact dead for good? Did I do something foolhardy that might have damaged that contact?

Thanks for your help!

dparke
 
Posts: 9
Joined: Tue Feb 20, 2018 10:14 am

Re: Capacitive Touch contact not working any more

by dparke on Mon Mar 12, 2018 5:56 pm

A quick update: I tested without all the extra wires and plugged into USB and it is the A2 contact. Switching the code to use A3 works. I'm still mystified how I managed to kill the A2 contact... especially if its something that could happen again if I am not careful!

dparke
 
Posts: 9
Joined: Tue Feb 20, 2018 10:14 am

Re: Capacitive Touch contact not working any more

by adafruit_support_mike on Mon Mar 12, 2018 10:54 pm

The most likely reason would be a spark of static electricity.

Most ICs today are designed to resist damage from static, but the protection has limits. The average spark you get from a doorknob is around 15kV, and sometimes will go higher. If you happened to be working near carpet or synthetic fabrics, general moving around would create an accumulation of charge.

The best way to guard against that is to use a static-dissipative mat on your workbench, but those are kind of pricey. Occasionally touching the Circuit Playground's GND pad will work too. That sends any static charge straight to the battery or power supply, which can handle small blips of current safely.

adafruit_support_mike
 
Posts: 51988
Joined: Thu Feb 11, 2010 2:51 pm

Re: Capacitive Touch contact not working any more

by dparke on Mon Mar 12, 2018 11:17 pm

A few follow-up questions:
  • Does this mean that the A2 contact is dead for good?
  • Is it definitively not the magnetic/metal strip adhesive attached to back? (can I use that without fear of shorts or inadvertent destruction?)
  • Is it definitely not contact between the alligator clip and the power cable to the battery pack? (that seemed to read as "touch", and maybe a damaging touch?)
If it is not too remedial or lengthy to describe, I'm curious how a static spark broke one contact but left the rest of the CPX functional (or, apparently functional!).

I guess that, at a high-level, I did not realize that there was a way to permanently disable one of the contacts and now that I know there is, I'd like to be aware of what other things I should avoid to reduce the risk of doing this again through some other mishap.

Thanks!

dparke
 
Posts: 9
Joined: Tue Feb 20, 2018 10:14 am

Re: Capacitive Touch contact not working any more

by adafruit_support_mike on Thu Mar 15, 2018 7:43 pm

dparke wrote:Does this mean that the A2 contact is dead for good?

There’s no way to say without decapping the chip (melting off the plastic enclosure with nitric acid), which is a destructive operation. Do any of the pin’s other functions work when you try to use those?


dparke wrote:Is it definitively not the magnetic/metal strip adhesive attached to back? (can I use that without fear of shorts or inadvertent destruction?)

Very few things are definitive in electronics, and the ones that are only exist under strictly controlled conditions. We do almost everything empirically, leaning heavily on probability. Does removing the strip change the behavior?

dparke wrote:Is it definitely not contact between the alligator clip and the power cable to the battery pack? (that seemed to read as "touch", and maybe a damaging touch?)

Again, electronics doesn’t provide tools to give a definitive answer. If the voltage from the battery pack was less than 0.3V higher than the microcontroller’s supply voltage, it’s highly unlikely that such contact would do any damage. If the battery pack voltage was more than 0.6V higher than the microcontroller voltage, the probability of damage increases exponentially with the amount of overvoltage and the amount of time the contact was made.

dparke wrote:If it is not too remedial or lengthy to describe, I'm curious how a static spark broke one contact but left the rest of the CPX functional (or, apparently functional!).

It’s only remedial if you’ve already taken a couple semesters of IC design classes.

The metal pin coming out of the chip is connected to a moderately complex circuit on the silicon die. There are sub-circuits for digital high and low output signals, resistors that connect the pin to the positive or negative supply rails, the input terminal of a mosfet that reads digital input, circuits that provide connections to any other specific pin functions like a connection to the microcontroller’s ADC, and a pair of reverse-biased diodes between the pin and the positive/negative supply rails that protect the chip from over- or under-voltage.

There are easily a dozen components connected to the pin, any one of which can fail.

In the case of damage from static shock, the devices most likely to fail would be the reverse-biased diodes to the supply rails.

The amount of current that flows through a diode increases by a factor of 10 every time the voltage across the diode rises by 60mV (at room temperature of about 25C). The layers of doped silicon that make the diode also act like small capacitors, and it’s impossible to increase the voltage across the diode without first charging that parasitic capacitance.

The average static spark starts off at about 15kV, but contains less than 1 nanoCoulomb of charge. 1nC of charge is the amount carried by 1 milliamp of current over a period of 1 microsecond. Between the diode’s ability to conduct much more current as the voltage rises and the limits on voltage imposed by the diode’s parasitic capacitance, a few nanoCoulombs of charge usually pass through without hurting anything.

Static charge can get much more intense though. Every few years there’s a news story of someone who accumulated enough stored charge that the eventual spark set part of their clothes on fire. That much energy can overheat the conductive path through the diode, and can physically push the copper atoms that form conductive paths through the chip in the direction the current is flowing. It’s basically the same process as electroplating, the copper atoms are just being pushed through a solid instead of a liquid. It’s called ‘electromigration’.

In most cases, electromigration will open a gap in the conductive path, and you get another spark inside the chip. That spark vaporizes enough material to destroy the diode or the connection to it.


There’s a second, lower-voltage path for damage though: through the input terminal of the transistor that reads digital input.

A mosfet is basically a capacitor running sideways: when you apply a positive charge to one side of an insulator, it attracts electrons to the other side of the insulator. Under the right circumstances, those electrons can form a conductive surface from one side of the insulator to the other. With a little more control, the conductivity through that path can be controlled by the voltage on the positive side of the insulator.

For digital mosfets like those in a microcontroller, the insulating layer is a film of glass (silicon dioxide) about 4 molecules thick. The process that forms the glass creates a monolayer (a layer one molecule thick) so they counting the number of times they apply the process tells you the molecular thickness of the glass.

All insulators have a voltage at which an electric arc can pass through them called the ‘withstand voltage’. For glass, that’s around 20 megavolts per meter. A four-molecule layer of glass is a lot less than a meter though, so the withstand voltage of the mosfet’s insulation is usually about twice the device’s maximum supply voltage.. or more accurately, they set the maximum supply voltage at about half the withstand voltage of the insulating layer. For the SAMD21 used in the Circuit Playground Express, that’s about 7V.

Applying more than 7V across the mosfet creates the possibility that an arc will form through the glass. Again, that arc vaporizes the material around it and does the physical damage.

For a mosfet, the surrounding materials are the glass insulating layer and the two conductive layers on either side of it. In most cases, blowing the insulation welds part of the conductive path on the positive side to the conductive layer on the negative side. Even if only a small region of glass is damaged, that connection makes it impossible for the mosfet to act like a capacitor any more. The transistor turns into a poorly-made resistor between the physical pin coming out of the package and parts of the silicon that shouldn’t be connected to that pin.

Blowing the gate of a single mosfet would make the pin stop working as a digital input, and definitely stop working as a capacitive touch sensor (which exploits the capacitive properties of a mosfet), but wouldn’t hurt any of the other circuits connected to that physical pin.

Depending on the resistance of the arced connection through the mosfet’s insulation, the unwanted connections to the physical pin might be weak enough for the other 30k to 50k transistors in the chip to continue operating normally.

adafruit_support_mike
 
Posts: 51988
Joined: Thu Feb 11, 2010 2:51 pm

Please be positive and constructive with your questions and comments.