Rather than using an out-of-the-box capacitive touch solution for my projects, I thought I’d attempt making my own little breakout board. The idea is to use a sensor capable of triggering normal digital input pins using touch.
This post covers the selected touch sensor IC, the circuit used, getting a custom PCB made and how to use it in a project. At the end of this post, you’ll find a video covering the soldering and a brief demo of the custom board.
Touch Sensor IC
While searching for capacitive touch solutions, I quickly came across two different ICs: the Freescale MPR121 (as used in the Touch Board) and the Atmel AT42QT10XX. The MPR121 comes in a QFN package, immediately making it more difficult to use. It has up to 12 inputs and an I2C interface. It can operate from 1.7 to 3.6V making it slightly more difficult to work with when using a 5V host.
Comparing the specs of the MPR121 with the AT42QT10XX IC, I decided to pick the latter.
Some of the features worth mentioning are:
- SOIC14 package
- up to seven inputs
- fully debounced outputs
- suppresses effects of external noise
- touch sensing using single pin
- different operation modes (see next paragraph)
According to the datasheet, the keys can also be operated behing panels of glass (up to 10mm thick) or plastic (5mm).
And finally, because it can operate at voltages from 1.8V to 5.5V, it can be used in combination with a wide variety of boards, such as Arduino (5V logic level) or Raspberry Pi (3.3V logic).
There are two modes the touch sensor IC can operate in:
- comms mode
- standalone mode
In comms mode, the sensor can have up to seven input keys and interfaces with a master microcontroller or SBC via I2C. The I2C interface can for example also be used to configure sensitivity of the different input keys.
The other mode, standalone mode, does not make use of the I2C interface but rather converts up to five capacitive touch inputs into digital outputs. This is useful to convert digital inputs on a microcontroller board or SBC into capacitive touch inputs. Because the I2C interface is not used, sensitivity of the touch inputs cannot be configured and is static.
Depending on the application’s required number of inputs, different ICs of the same family can be used.
Just to name a few:
- AT42QT1010: single channel
- AT42QT1040: four channels
- AT42QT1111: eleven channels
A full list can be found here: Dedicated Touch Devices
Schematic and Board
I chose to make a breakout board for the standalone mode. The circuit is simple as it only involves the touch IC, a couple of resistors and a capacitor. It was a bit trickier to fit everything in the smallest form factor possible, but that worked out well as you can see below.
For more detail: Capacitive Touch with Atmel’s AT42QT1070 Touch Sensor IC