AT42QT1010 Capacitive Touch Breakout Hookup Guide

This Tutorial is Retired!

This tutorial covers concepts or technologies that are no longer current. It's still here for you to read and enjoy, but may not be as useful as our newest tutorials.

View the updated tutorial: AT42QT101X Capacitive Touch Breakout Hookup Guide

Pages
Contributors: Shawn Hymel
Favorited Favorite 3

Introduction

If you need to add user input without using a button, then a capacitive touch interface might be the answer. The AT42QT1010 Capacitive Touch Breakout offers a single capacitive touch button with easy-to-use digital I/O pins.

SparkFun Capacitive Touch Breakout - AT42QT1010

SparkFun Capacitive Touch Breakout - AT42QT1010

SEN-12041
$3.95
10

The AT42QT1010 is a dedicated, single-button capacitive sense chip. The chip handles monitoring a conductive area for touch. As long as a touch (e.g. from a finger) is detected, the AT42QT1010 keeps the output line high. Otherwise, the line is kept low. You just need to provide a power source (1.8V - 5V) and ground for the AT42QT1010 to work. SparkFun's breakout board contains an on-board electrode capable of detecting touches. Additionally, a PAD pin is available if you would like to create your own external electrode.

Covered In This Tutorial

This tutorial will show you how to connect the AT42QT1010 Breakout Board to an Arduino along with some example code to read the board's output. Additionally, alternative ways to use the board will be shown, such as mounting it to an acrylic panel and creating your own capacitive sensing pad.

Required Materials

Suggested Reading

How to Solder: Through-Hole Soldering

This tutorial covers everything you need to know about through-hole soldering.

Working with Wire

How to strip, crimp, and work with wire.

What is an Arduino?

What is this 'Arduino' thing anyway? This tutorials dives into what an Arduino is and along with Arduino projects and widgets.

Button and Switch Basics

A tutorial on electronics' most overlooked and underappreciated component: the switch! Here we explain the difference between momentary and maintained switches and what all those acronyms (NO, NC, SPDT, SPST, ...) stand for.

Light-Emitting Diodes (LEDs)

Learn the basics about LEDs as well as some more advanced topics to help you calculate requirements for projects containing many LEDs.

Capacitors

Learn about all things capacitors. How they're made. How they work. How they look. Types of capacitors. Series/parallel capacitors. Capacitor applications.

Hardware Overview

If we look at the front of the board, we see a large, circular pad (the "electrode") and several pins. The on-board electrode will detect touches when pressed with a finger as long as the board is powered.

Front of PCB

AT42QT1010 Breakout front

GND should be connected to the ground of the host circuit.

OUT is the output of the AT42QT1010. HIGH on touch, LOW otherwise.

VDD is the power supply for the AT42QT1010 and needs to be connected to a voltage between 1.8V - 5V.

LED controls the operation of the on-board LED. By default, it is connected to the OUT pin. If you de-solder the "LED Enable" jumper on the back side, you can independently control the LED.

PAD is located in the upper-left corner and allows you to connect to an external electrode. Note that there is a small surface mount pad on the back side by the PAD pin hole. If you want to mount the board flush, you can solder a wire directly to the surface mount pad.

How It Works

Take a look at the back side of the board.

Back of PCB

AT42QT1010 Breakout back

The AT42QT1010 chip is located on the right side of the board. It uses a resistor and a capacitor network to adjust the sensitivity of the electrode. High frequency pulses are sent to the pad. When a fleshy object (such as a finger) approaches the pad, it acts like a very small capacitor and changes the shape of the pulses. When the AT42QT1010 detects these slight changes, it raises the OUT line to HIGH, indicating a touch is present. Once the pulses return to normal (i.e. the fleshy object is moved away from the pad), the AT42QT1010 drives the OUT line LOW.

LED Enable

The output from the AT42QT1010 goes directly to the OUT pin on the board as well as to the transistor (left side), which operates the LED (center of board). By default, the OUT line and LED lines are connected, which means that on a touch, the on-board LED lights up. You can disconnect the LED by de-soldering the jumper labeled "LED Enable." This will cause the LED to no longer light up on a touch, but you can still drive the LED using the LED pin on the board.

Mode

On the right side of the board, you will also notice a jumper labeled "Mode" with "L" and "F" markers. By default, the center pad and the "F" pad are connected, which puts the AT42QT1010 in "Fast" mode. In Fast mode, the chip is more responsive to touch events but draws 200µA - 750µA in normal operation. If you de-solder this jumper and connect the center pad to the "L" pad, the AT42QT1010 will be in "Low Power" mode. In this mode, the chip is slightly less responsive to events but only uses 15µA - 75µA.

Hardware Hookup

Assembly

If you are not planning to mount the board flush to a panel, you can solder either wires or break away headers to the 4 header holes on the board.

PTH headers on AT42QT1010 breakout

PTH headers are recommended if you are using a breadboard.

On the other hand, if you wish to mount the AT42QT1010 to a panel, you can solder a 4-pin male header to the SMD pads.

SMD headers on AT42QT1010 breakout

SMD headers work better if you plan to mount the board to a panel

Connecting the AT42QT1010 Breakout Board

Hookup of AT42QT1010 breakout

Basic hookup using an Arduino and a breadboard

For an Arduino, make the following connections with jumper wires:

(AT42QT1010 → Arduino)

  • VDD → 5V
  • OUT → 2
  • GND → GND

Mounting the AT42QT1010 Breakout Board

One advantage of capacitive touch boards is their ability to be mounted to panels and detect touch through thin plastic, cardboard, etc. Using a drill or laser cutter, cut four 0.125 inch holes in the same pattern as the mounting holes on the breakout board.

Attach the board to the panel using #4-40 screws and #4-40 nuts.

Capacitive touch through acrylic!

The AT42QT1010 will detect touch through 0.125 inch acrylic

External Electrode

You can create your own electrode by using foil, copper tape, or any other conductive material. Cut or shape the electrode and attach a wire between the electrode and the PAD pin on the AT42QT1010 breakout board. The electrode can be almost any shape and size.

External electrode attached to the AT42QT1010

Touch can be detected on external electrodes

Example Code

Open the Arduino program and paste the following code into the sketch:

language:c
/*
 12-23-2013
 SparkFun Electronics 2013
 Shawn Hymel

 This code is public domain but you buy me a beer if you use this 
 and we meet someday (Beerware license).

 Description:

 This sketch shows how to use the SparkFun AT42QT1010 Breakout
 Board. If you touch the Capacitive Touch area on the breakout
 board, the LED attached to the Arduino will light up (in addition
 to the LED on the AT42QT1010 breakout board).

 Simply connect power and ground to the breakout board,
 and the AT42QT1010 handles all the capacitive touch functions.
 By default, the board will light up the green LED when the pad
 is touched. A wire may also be connected from OUT on the
 breakout board to a digital input pin on an Arduino. This signal
 is normally LOW but goes HIGH on a touch detection. 

 The "LED Enable" solder jumper may be de-soldered in order to
 control the LED directly from the LED pin. This is useful if you
 want to light up a button that the user needs to push.

 Hardware connections:

 Uno Pin    AT42QT1010 Board  Function

 +5V        VDD               Power supply
 GND        GND               Ground
 2          OUT               Capacitive touch state output
 */

// Constants
const int TOUCH_BUTTON_PIN = 2;  // Input pin for touch state
const int LED_PIN = 13;          // Pin number for LED

// Global Variables
int buttonState = 0;             // Variable for reading button

void setup() {

  // Configure button pin as input 
  pinMode(TOUCH_BUTTON_PIN, INPUT);

  // Configure LED pin as output
  pinMode(LED_PIN, OUTPUT);

}

void loop() {

  // Read the state of the capacitive touch board
  buttonState = digitalRead(TOUCH_BUTTON_PIN);

  // If a touch is detected, turn on the LED
  if (buttonState == HIGH) {
    digitalWrite(LED_PIN, HIGH);
  } else {
    digitalWrite(LED_PIN, LOW);
  }
}

Plug in the Arduino and upload the code. You should see the LED on the AT42QT1010 board and the LED on the Arduino light up when you touch the electrode.

Testing the AT42QT1010

The AT42QT1010 detects touches, and the Arduino monitors pin 2 for the output of the AT42QT1010.

Resources and Going Further

The AT42QT1010 is a great way to add a single capacitive touch button to a project. For example:

  • Create a hidden button for the Illuminated Boxes.
  • Replace the Wake-On-Shake module with a capacitive touch button for the Uncertain 7-Cube
  • Add a hidden, capacitive touch button to almost anything!

If you need more than one capacitive touch button in your project, you might want to look at some other products:

Resources