I'm looking for the simplest way to implement a binary on|off touch switch using a single pole. The touch surface is copper. The position or pressure of the touch is not needed, just simply:
On = finger touching the copper
Off = finger not touching the copper

The goal is to light up an LED while the copper is being touched. Also, bonus points for small, low-cost, and low-power components.

I found this video which appears to use only a transistor and a resistor, but it's hard to tell what's going on. Is his other hand touching another wire? http://www.youtube.com/watch?v=StshNHY_3E8

  • \$\begingroup\$ Have you tried searching for "touch sensor schematic"? \$\endgroup\$ – HikeOnPast Apr 2 '13 at 0:44
  • \$\begingroup\$ I've tried many different combinations of search terms. Thanks for the suggestion! \$\endgroup\$ – paulwal222 Apr 2 '13 at 3:36
  • 1
    \$\begingroup\$ There are many ways to implement a solution, and you'll surely get some great ideas here on this site, but nothing beats comparing solutions on your own as far as gaining an understanding of the technical tradeoffs of each approach. \$\endgroup\$ – HikeOnPast Apr 2 '13 at 5:07

Split the touch area...

Split your copper touch area into two parts that are interdigitated. Then it's very easy. If the user touches the pads there will be a current path between the halves. Otherwise not. The resistance can be quite high for a "dry" finger (~10k Ohm), so use an amplifier to ensure reliable operation. A simple single-transistor type is sufficient.

...like one of these!

enter image description here

  • \$\begingroup\$ Hmmm... interesting solution (in its utter simplicity). So you wouldn't build a capacitive touch sensor (not like on tablets, but much simpler one)? \$\endgroup\$ – angelatlarge Apr 2 '13 at 0:04
  • \$\begingroup\$ In your case, you don't need it, so why bother with all the extra power consumption, cost, and complexity? Cap-sense is good when the touch area is tiny (as in needs to be transparent) or not directly touchable (sealed = high reliability). \$\endgroup\$ – DrFriedParts Apr 2 '13 at 0:13
  • \$\begingroup\$ Dr. Parts, that is one option. However, the final implementation would be much more slick with just one single copper surface, if possible. \$\endgroup\$ – paulwal222 Apr 2 '13 at 0:33
  • \$\begingroup\$ @paul -- of course, but you could make the gaps really small and use interesting-looking patterns (don't have to be straight lines) ...and he asked for the "simplest" solution FWIW. \$\endgroup\$ – DrFriedParts Apr 2 '13 at 1:33
  • \$\begingroup\$ Is there an Eagle library with any of these? \$\endgroup\$ – feklee Apr 18 '17 at 19:42

There are problems with letting the user touch the PCB contacts directly. A: ESD from the touch and environment is directly coupled into the circuit, so you'd need a couple of good TVS suppressors for high and low energy surges across the touch pad. You'd also want to add some series resistance in the lines going to the active devices from the pads to absorb some of the remaining surge energy. Adding shunt capacitance across the touch pads will also help dampen the surge voltage spike.

B: Moisture, dirt, skin oils, et. al. will contaminate the surface of the PCB and result in either intermittent "short circuit" events that look like touches when there are none, or open circuit events when there are touches because of oxidation and other surface contamination that is non conductive.

Although a reistive touch sensor as shown is cheap and simple, it isn't really greatly advantageous over using a domed / elastomeric switch which is the same sort of contact pad but with a conductive plate that is indirectly pressed down to bridge the contacts. The conductive top layer is handy in that it provides ESD isolation and also a place to put a legend to label the button, and it protects the PCB from contaminants making the repeatability and reliability of the touch contact better.

There are several "purpose built" capacitive touch sense detection ICs from Analog Devices, MICROCHIP, ATMEL, MAXIM, and others, and most inexpensive MCU lines such as the MSP430Gxxx, ATTiny, and others have a capacitive touch sense solution that is pretty much plug and play. Although using a MCU isn't necessarily the "simplest" solution, it may be the capacitive sensing solution that is the simplest one that is relatively predictable, reliable, configurable (how sensitive should it be? what to do when touch is detected?).

Another simple way to detect touch is to use a JFET with a floating gate to sense the electric charge and electrostatic field changes present when a finger is in proximity to the sensor or not. The sensitivity can be tuned by changing the pad size, the proximity and voltage level of the guard/bootstrap ring surrounding the pad, and by using some high impedance biasing. Search for JFET touch switch and JFET electrometer for circuit and part choices. A JFET input or CMOS op-amp can be made to perform similarly due to its high sensitivity and high impedance.

One way that is simple and relaible but not the lowest cost is simply to use a reflective or beam interruption type proximity switch device to sense when a finger is near or on the plane where the device is monitoring. If this is positioned behind a through hole on the PCB facing upward it can detect touch to the top copper surface.

So in short I think I agree that a resistive conductivity sensor may be one of the simpler approaches, you should also consider the aspects of senitivity tuning, reliability, and robustness. When those are considered you may want to add a cover layer to the PCB and ESD protection whether the resulting switch technology is resistive or capacitive at that point is your choice.

I like using the "PINOSC" feature of the MSP430Gxxx value line parts and their capacitive touch sense library, and there are similar solutions from ATMEL for some of their ATTiny parts since one has easy control of debouncing, sensitivity, adaptive threshold usage, et. al. Easier and more repeatable / dynamically auto-adjustable than tweaking things in analog.

http://www.ti.com/tool/capsenselibrary http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=SLAA363&track=no http://processors.wiki.ti.com/index.php/MSP430_Low_Cost_PinOsc_Capacitive_Touch_Overview http://www.ti.com/430touch http://www.eecs.berkeley.edu/~boser/courses/40/labs/docs/MSP430%20touch%20pad%20experiments.pdf http://www.eecs.berkeley.edu/~boser/courses/40/labs/docs/MSP430%20touch%20pad%20slap105.pdf


Specific to the question: There are several digital, fully integrated capacitive touch sense ICs designed to work with minimal external components, and etched PCB copper sense pads. From personal familiarity:

Simplicity: Atmel's QTouch AT42QT1011 is perhaps one of the simplest to implement capacitive touch sensors, designed to work with etched copper on substrates such as PCBs, plastic or glass. It needs just one additional component for the basic configuration, an external capacitor Cs, value >> electrode capacitance.

AT42QT1011 basic schematic

The AT42QT1011 is available in a 6-pin SOT23-6 package, so it can be manually soldered if needed. If a smaller size is needed, there is a 2 x 2 mm UDFN package as well.

Cost: The retail price for single units is under $0.90 at Digikey, and it sometimes appears on eBay.com for less than half that price.

Operation: The sense output will remain high as long as a touch is detected. The part self-calibrates when idle, to the ambient capacitive signal surrounding the "sense pad"; No calibration is required for the lifetime of the device.

The self-calibration permits flexibility in sense electrode size and shape.

Although not mentioned in the datasheet, this IC directly may be directly usable as a touch sensor, without any sense pad. This was an accidental discovery (left out the sense pad in error), but it seemingly works well, with the sense pins themselves apparently working as the touch sensor.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.