Parent page: Advanced Technologies
How many of us got into electronics because we were drawn by the myriad of cool switches, knobs, lights and other suitably gadget-centric controls? Fast forward a good few years and that allure is still there, only it is now replaced with the "Snazzy GUI" factor - electronic products that have a sleek, sexy interface. Central to these ever-advancing (and shrinking) product interfaces is touch control. Subtle yet powerful, touch control makes a product more efficient to use, typically lowers the manufacturing cost and, by virtue of replacing mechanical switches and dials – that are at the mercy of inevitable wear and tear – increases the life-span of that product. Pick up your favorite piece of smart technology and you will soon realize that without touch control, it would simply be, well, not so smart - and certainly far less engaging and fun.
Altium NEXUS provides support for creating planar capacitive sensor patterns on your PCB. The following vendors are supported:
- Atmel Touch Controls – various self-capacitance and mutual-capacitance sensor patterns (buttons, wheels, sliders) are available, for use with Atmel® QTouch® and QMatrix® sensor controllers.
- Cypress Touch Controls – various self-capacitance sensor patterns (buttons, sliders) are available, for use with Cypress® CapSense® controllers.
- Microchip Touch Controls – various self-capacitance sensor patterns (ring, sliders) are available, for use with Microchip® mTouch® controllers.
Installing Touch Sensor Support
Touch Sensor support can be included as part of initial installation of Altium NEXUS. Simply ensure that the Touch Sensor Support option (for the required vendor(s)) is enabled, on the Select Design Functionality page of the Altium NEXUS Installer.
Add Touch Sensor support as part of initial installation of Altium NEXUS.
If support has not already been added during initial installation of the software, it can be added from the Configure Platform page, when managing the extensions and updates for your installation (click the button, at the top-right of the main application window, then choose the Extensions and Updates entry from the associated menu).
-
From the Installed page of the view, simply click the Configure button at the top-right - to access the Configure Platform page.
First access the Configure Platform page of the Extensions & Updates view.
-
Scroll to the bottom of the page and enable the entry for Atmel QTouch, in the Touch Sensor Support region of the page.
Then enable the Atmel QTouch option, under Touch Sensor Support.
-
Click the Apply button, back at the top-right of the page. Altium NEXUS must be restarted for the changes to take effect, so click Yes at the dialog prompt. The required files will be downloaded and installed, and Altium NEXUS restarted. Verify through Windows Explorer that the IntLib
library file is now available – in the associated folder in \Users\Public\Documents\Altium\<PlatformAndVersionNumber>\Library
(for a default installation).
After the installation is updated, the integrated libraries will be available.
Installing touch sensor support for a particular vendor installs the relevant library of components needed for the different touch sensor technologies supported for that vendor, including touch wheels, sliders, and buttons. All components are configurable, allowing you to specify the size and orientations of the touch sensor geometries, in accordance with your design requirements.
Sensor Implementation
A touch sensor is implemented in a design by placing and configuring the required sensor type from a dedicated integrated library.
When configured as required, simply update the target PCB – an ECO is used to effect the required changes, resulting in the creation of the sensor pattern for placement on the PCB. Then it's just a case of placing the sensors on the board at the locations they are required to facilitate your product's user interface, then wiring them up to the applicable touch sensor controllers. Each sensor component on the PCB isn't a footprint in the normal sense, but rather the actual copper electrode pattern. An overlaying panel would be placed over a sensor when the board is assembled.
Although self-capacitance type sensor patterns can be used with or without an overlying panel, electrostatic discharge (ESD) implications - for the associated controller device - is a major influence for such a panel being used. For mutual-capacitance slider- and wheel-based sensors, multiple channels have unique X-electrode connections to the sensor controller, with a commoned Y-electrode connection. Such sensors should be used with an overlying panel, bonded with no air gaps. It is the panel that provides a suitable conduit for the electric fields between the X and Y electrodes.
Implementing a touch control is a snap – just place the required sensor type component on the schematic, configure it as applicable to your design needs, then push the changes over to the PCB to obtain the sensor pattern.
A sensor pattern can also be modified on the PCB side, and the changes pushed back to the relevant schematic sheet through an ECO.
The following sections take a closer look at the configurable sensor components available for placement in a design, their configuration options, and the resulting sensor pattern obtained on the PCB side. In each case, the default configurations are presented.
Atmel Touch Controls
Atmel Touch Controls – Supported Self-Capacitance Type Sensors
The following self-capacitance type sensors are supported for use in your PCB designs.
QTouchButton – Button (or Key) Sensor (Single Channel)
Use the QTouchButton
component to implement a button (key) sensor. This is a self-capacitance, zero-dimensional sensor, with a single channel for connection directly to an Atmel QTouch sensor controller. The resulting sensor pattern on the PCB is a simple rectangular-shaped electrode.
Default configuration and resulting sensor pattern for the QTouchButton
component
SmallQTouchSlider – Small Spatially-interpolated Slider Sensor (3 Channels)
Use the SmallQTouchSlider
component to implement a small-size slider sensor. This is a self-capacitance, 1-dimensional, spatially-interpolated sensor, with three channels for connection directly to an Atmel QTouch sensor controller. The resulting sensor pattern on the PCB is comprised of simple rectangular-shaped electrodes. The pattern consists of two full sized electrodes for channels 1 and 2, with channel 3 divided into two half-sized electrodes at either end.
Default configuration and resulting sensor pattern for the SmallQTouchSlider
component
SmallQTouchWheel – Small Spatially-interpolated Wheel Sensor (3 Channels)
Use the SmallQTouchWheel
component to implement a small-size wheel sensor. This is a self-capacitance, 1-dimensional, spatially-interpolated sensor, with three channels for connection directly to an Atmel QTouch sensor controller. The resulting sensor pattern on the PCB is comprised of simple wedge-shaped electrodes.
Default configuration and resulting sensor pattern for the SmallQTouchWheel
component
MediumQTouchSlider – Medium Spatially-interpolated Slider Sensor (3 Channels)
Use the MediumQTouchSlider
component to implement a medium-size slider sensor. This is a self-capacitance, 1-dimensional, spatially-interpolated sensor, with three channels for connection directly to an Atmel QTouch sensor controller. The resulting sensor pattern on the PCB is comprised of toothed electrodes. The pattern consists of two full sized electrodes for channels 1 and 2, with channel 3 divided into two half-sized electrodes at either end.
Default configuration and resulting sensor pattern for the MediumQTouchSlider
component
MediumQTouchWheel – Medium Spatially-interpolated Wheel Sensor (3 Channels)
Use the MediumQTouchWheel
component to implement a medium-size wheel sensor. This is a self-capacitance, 1-dimensional, spatially-interpolated sensor, with three channels for connection directly to an Atmel QTouch sensor controller. The resulting sensor pattern on the PCB is comprised of toothed electrodes.
Default configuration and resulting sensor pattern for the MediumQTouchWheel
component
MediumResQTouchWheel – Medium Resistively-interpolated Wheel Sensor (12 Channels, only 3 Connected to the Sensor Controller)
Use the MediumResQTouchWheel
component to implement a medium-size wheel sensor. This is a self-capacitance, 1-dimensional, resistively-interpolated sensor, with three channels for connection directly to an Atmel QTouch sensor controller. The resulting sensor pattern on the PCB is comprised of wedge-shaped electrodes.
Default configuration and resulting sensor pattern for the MediumResQTouchWheel
component
When configuring the sensor, you can choose how many electrode 'spacer segments' are used, equally, between channels. The default configuration uses 3 segments, resulting in 12 wedge-shaped X electrodes in the pattern. Remember that only 3 of these electrodes are connected back to the sensor controller. For this default configuration, the 3 channels connected to the sensor controller are associated with pins 1
, 5
and 9
of the component.
To provide the electrically-driven interpolation of the sensors' electric fields, additional resistors must be used in the design, typically connecting a total of 100kOhms between successive channels that are connected to the controller (or 25kOhms between electrode segments). The following image shows an example of resistors wired to the sensor component to provide the required resistance levels, for the default component configuration.
Example of resistors connected to the sensor component to provide the electrical interpolation for the sensor.
A button (or key) sensor is a zero-dimensional sensor. It has a single point of contact. Slider and wheel sensors are one-dimensional sensors – they detect movement of your finger along a single axis. A spatially-interpolated sensor uses the geometry of its electrodes to interpolate the electric fields. A resistively-interpolated sensor uses physical resistors to provide the interpolation.
Each channel (electrode) of these sensors has a single, direct connection to the sensor controller. Such sensors are non-directional, in terms of their emitted electric fields. Although they can be used with or without an overlying panel, electrostatic discharge (ESD) implications – for the associated controller device – is a major influence for such a panel being used.
All of these sensors are suited for use with Atmel QTouch sensor controllers.
Atmel Touch Controls – Supported Mutual-Capacitance Type Sensors
The following mutual-capacitance type sensors are supported for use in your PCB designs.
QMatrixButton – Button (or Key) sensor (Single Channel)
Use the QMatrixButton
component to implement a button (key) sensor. This is a mutual-capacitance, zero-dimensional sensor, with a single channel (one X and one Y electrode) for connection directly to an Atmel QMatrix sensor controller. The resulting sensor pattern on the PCB consists of interlocking fingers of the X and Y electrodes, in an overall rectangular shape. The Pattern for the X electrode completely surrounds that for the Y electrode.
Default configuration and resulting sensor pattern for the QMatrixButton
component
SmallQMatrixSlider – 1-layer, Small Spatially-interpolated Slider Sensor (n-channels)
Use the SmallQMatrixSlider
component to implement a small-size slider sensor. This is a mutual-capacitance, 1-dimensional, spatially-interpolated sensor, with multiple channels for connection directly to an Atmel QMatrix sensor controller. The resulting sensor pattern on the PCB resembles a 1xn
array of buttons, where n
is the number of channels defined. X and Y electrodes again are implemented as interlocking fingers. There is a gap between each successive X electrode. The Y electrode is continuous (it is common to all channels), with an additional finger in this gap. Isolated regions of the same X electrode are connected using vias and a track placed on the opposite layer of the board.
Default configuration and resulting sensor pattern for the SmallQMatrixSlider
component
SmallQMatrixWheel – 1-layer, Small Spatially-interpolated Wheel Sensor (n-channels)
Use the SmallQMatrixWheel
component to implement a small-size wheel sensor. This is a mutual-capacitance, 1-dimensional, spatially-interpolated sensor, with multiple channels for connection directly to an Atmel QMatrix sensor controller. The resulting sensor pattern on the PCB resembles a 1xn
circular array of buttons, where n
is the number of channels defined. X and Y electrodes again are implemented as interlocking fingers, with tapering of the X-electrode fingers. There is a gap between each successive X electrode. The Y electrode is continuous (it is common to all channels), with an additional finger in this gap. Isolated regions of the same X electrode are connected using vias and a track placed on the opposite layer of the board.
Default configuration and resulting sensor pattern for the SmallQMatrixWheel
component
MediumQMatrixSlider – 2-layer, Medium Spatially-interpolated Slider Sensor (n-channels)
Use the MediumQMatrixSlider
component to implement a 2-layer medium-size slider sensor. This is a mutual-capacitance, 1-dimensional, spatially-interpolated sensor, with multiple channels for connection directly to an Atmel QMatrix sensor controller. The resulting sensor pattern on the PCB is composed of n
slanting X electrodes, where n
is the number of channels defined. There is a gap between each successive X electrode. The Y electrode is continuous (it is common to all channels) and consists of a number of horizontal 'fingers'. The Y electrode is located on the Top Layer, with the X electrodes located behind, on the Bottom Layer.
Each X electrode segment is 4mm in height. For a slider that is greater in height, additional segments are essentially stacked, in an alternating zig-zag fashion. An additional Y electrode finger is added for each level of segments in this stack. For the default configuration, where the height of the slider is 12mm, the stack incorporates three segments for each X electrode. The common Y electrode has three fingers.
Default configuration and resulting sensor pattern for the MediumQMatrixSlider
component
MediumLargeQMatrixWheel – 2-layer, Medium/Large Spatially-interpolated Wheel Sensor (n-channels)
Use the MediumLargeQMatrixWheel
component to implement a 2-layer medium-size wheel sensor. This is a mutual-capacitance, 1-dimensional, spatially-interpolated sensor, with multiple channels for connection directly to an Atmel QMatrix sensor controller. The resulting sensor pattern on the PCB is composed of n
curved-tooth X electrodes, where n
is the number of channels defined. There is a gap between each successive X electrode. The Y electrode is continuous (it is common to all channels) and consists of a number of 'rings'. The Y electrode is located on the Top Layer, with the X electrodes located behind, on the Bottom Layer.
Each X electrode segment is radially 4mm in height. For a wheel that is greater in diameter, additional segments are essentially stacked, radially outward, in an alternating curved-tooth fashion. An additional Y electrode 'ring' is added for each level of segments in this stack. For the default configuration, where the inner diameter is 16mm and outer diameter is 40mm, the stack incorporates three segments for each X electrode. The common Y electrode has three rings accordingly.
Default configuration and resulting sensor pattern for the MediumLargeQMatrixWheel
component
MediumResQMatrixWheel – 2-layer, Medium Resistively-interpolated Wheel Sensor (n-channels)
Use the MediumResQMatrixWheel
component to implement a 2-layer medium-size wheel sensor. This is a mutual-capacitance, 1-dimensional, resistively-interpolated sensor, with multiple channels for connection directly to an Atmel QMatrix sensor controller. The resulting sensor pattern on the PCB is composed of n
curved-tooth X electrodes, where n
is the number of channels defined. There is a gap between each successive X electrode. The Y electrode is continuous (it is common to all channels) and consists of a number of 'rings'. The Y electrode is located on the Top Layer, with the X electrodes located behind, on the Bottom Layer.
Each X electrode segment is radially 4mm in height. For a wheel that is greater in diameter, additional segments are essentially stacked, radially outward, in an alternating curved-tooth fashion. An additional Y electrode 'ring' is added for each level of segments in this stack. For the default configuration, where the inner diameter is 7.5mm and outer diameter is 30mm, the stack incorporates three segments for each X electrode. The common Y electrode has three rings accordingly.
Default configuration and resulting sensor pattern for the MediumResQMatrixWheel
component
When configuring the sensor, you can choose how many electrode 'spacer segments' are used, equally, between channels. The default configuration 4 channels and uses 3 spacer segments, resulting in 16 curved-tooth X electrodes in the pattern. For this default configuration, the 4 channels connected to the sensor controller are associated with pins 1
, 5
, 9
and 13
of the component.
To provide the electrically-driven interpolation of the sensors' electric fields, additional resistors must be used in the design, typically connecting a total of between 2kOhms and 100kOhms between the n
channels that are connected to the controller. The following image shows an example of resistors wired to the sensor component to provide the required resistance levels, for the default component configuration.
Example of resistors connected to the sensor component to provide the electrical interpolation for the sensor.
A button (or key) sensor is a zero-dimensional sensor. It has a single point of contact. Slider and wheel sensors are one-dimensional sensors – they detect movement of your finger along a single axis. A spatially-interpolated sensor uses the geometry of its electrodes to interpolate the electric fields. A resistively-interpolated sensor uses physical resistors to provide the interpolation.
Each of these sensors has X (transmit) and Y (receive) electrodes, with the mutual capacitance between X and Y measured by the sensor controller. For slider- and wheel-based sensors, multiple channels have unique X-electrode connections to the sensor controller, with a commoned Y-electrode connection. Such sensors should be used with an overlying panel, bonded with no air gaps. It is the panel that provides a suitable conduit for the electric fields between the X and Y electrodes.
All of these sensors are suited for use with Atmel QMatrix sensor controllers.
Atmel Sensor Controllers
Atmel QTouch and QMatrix sensor controllers - to which the corresponding electrodes from the sensor patterns connect - can be found on the Atmel Touch Solutions page within the Unified Components section of the Design Content area of the Altium Website.
Browse QTouch and QMatrix Controller components on the Altium Website.
Components can be browsed directly on these pages. In addition, each page offers the following two options:
- Go To Vault - click this button to view the components through the browser-based interface.
- Download Library - click this button to download the components in a zipped integrated library file.
Atmel Touch Controls – Further Information
For detailed information regarding touch sensor design, refer to Atmel's Touch Sensor Design Guide, available at www.atmel.com.
Cypress Touch Controls
Cypress Touch Controls – Supported Sensors
The following self-capacitance sensor types are available for use in your PCB designs.
CircularButton – Circular Button
Use the CircularButton
component to implement a button sensor. This is a self-capacitance, zero-dimensional sensor, with a single channel for connection directly to a Cypress PSoC controller. The resulting sensor pattern on the PCB is a simple circular-shaped electrode.
Default configuration and resulting sensor pattern for the CircularButton
component
RectangularCurvedEdgeButton – Rectangular Curved Edge Button
Use the RectangularCurvedEdgeButton
component to implement a button sensor. This is a self-capacitance, zero-dimensional sensor, with a single channel for connection directly to a Cypress PSoC controller. The resulting sensor pattern on the PCB is a simple rounded-rectangular-shaped electrode.
Default configuration and resulting sensor pattern for the RectangularCurvedEdgeButton
component
LinearSlider – Linear Slider
Use the LinearSlider
component to implement an n-segment linear slider sensor. This is a self-capacitance, one-dimensional sensor for connection directly to a Cypress PSoC controller (each segment in the pattern connects to a separate pin of the Controller). The resulting sensor pattern on the PCB is comprised of a 1xn array of double-chevron-shaped electrodes, where n is the number of segments specified. In essence, you are specifying n separate sensors placed physically adjacent to each other. You have global control over the height and width of the constituent sensors. You can also control the gap between neighboring sensors.
Default configuration and resulting sensor pattern for the LinearSlider
component
RadialSlider – Radial Slider
Use the RadialSlider
component to implement an n-segment radial slider sensor. This is a self-capacitance, one-dimensional sensor for connection directly to a Cypress PSoC controller (each segment in the pattern connects to a separate pin of the Controller). The resulting sensor pattern on the PCB is comprised of n wedge-shaped electrodes, where n is the number of segments specified. In essence, you are specifying n separate sensors placed physically adjacent to each other in radial fashion. You have global control over the inner and outer diameter of the slider, and the clearance between neighboring segments.
Default configuration and resulting sensor pattern for the RadialSlider
component
A button sensor is a zero-dimensional sensor. It has a single point of contact. Slider sensors are one-dimensional sensors – they detect movement of your finger along a single axis.
Each channel (electrode) of these sensors has a single, direct connection to the sensor controller. Such sensors are non-directional, in terms of their emitted electric fields. Although they can be used with or without an overlying panel, electrostatic discharge (ESD) implications – for the associated controller device – is a major influence for such a panel being used.
All of these sensors are suited for use with Cypress CapSense and PSoC controllers.
Cypress Sensor Controllers
Cypress's CapSense Controllers – to which the corresponding electrodes from the sensor patterns connect – are based on the Programmable System-on-Chip (PSoC®) platform. CapSense Controller categories include:
- CapSense®
- CapSense® Plus
- CapSense® Express
- The families of PSoC® Controllers - PSoC® 1, PSoc® 3, PSoC® 4, and PSoC® 5LP (which replaced the PSoC® 5 family).
These controllers can be found on the Cypress CapSense Controllers, and relevant PSoC pages (PSoC 1, PSoC 3, PSoC 4, PSoC 5, PSoC 5LP) within the Unified Components section of the Design Content area of the Altium Website.
Browse CapSense Controller components on the Altium Website.
Components can be browsed directly on these pages. In addition, each page offers the following two options:
- Go To Vault - click this button to view the components through the browser-based interface.
- Download Library - click this button to download the components in a zipped integrated library file.
Cypress Touch Controls – Further Information
For detailed information regarding Cypress's capacitive touch sensor design, see www.cypress.com/products/capsense-controllers.
Microchip Touch Controls
Microchip Touch Controls – Supported Sensors
The following self-capacitance sensor types are available for use in your PCB designs.
mTouchChevronSlider – Chevron Slider
Use the mTouchChevronSlider
component to implement an n-channel chevron slider, for connection directly to a Microchip mTouch sensor controller. The resulting sensor pattern on the PCB is comprised of a 1xn array of chevron-shaped electrodes, where n is the number of devices specified. In essence, you are specifying n separate sensors placed physically adjacent to each other. You have global control over the height and width of the constituent sensors, as well as control over the chevron angle. You can also control the gap between neighboring sensors.
Default configuration and resulting sensor pattern for the mTouchChevronSlider
component
mTouchLinearSlider – Linear Slider
Use the mTouchLinearSlider
component to implement a simple 2-channel linear slider, for connection directly to a Microchip mTouch sensor controller. The resulting sensor pattern on the PCB is comprised of two electrodes. In essence, these are two separate sensors placed physically adjacent to each other. Electrode shape is formed by a defined square and triangle. The electrodes are arrange such that their triangular parts almost interlock, separated by a defined gap. This design of slider gives the most linear output as a user's finger passes from one sensor across to the other.
Default configuration and resulting sensor pattern for the mTouchLinearSlider
component
mTouchMutualRingSensor – Mutual Ring
Use the mTouchMutualRingSensor
component to implement a simple 2-channel mutual ring sensor, for connection directly to a Microchip mTouch sensor controller. The resulting sensor pattern on the PCB is comprised of two electrodes, in concentric fashion, with a definable gap between the two. Simply define the radius for the inner pad, and a 'thickness' for the outer pad.
Default configuration and resulting sensor pattern for the mTouchMutualRingSensor
component
Slider sensors are one-dimensional sensors – they detect movement of your finger along a single axis.
Each channel (electrode) of these sensors has a single, direct connection to the sensor controller. Such sensors are non-directional, in terms of their emitted electric fields. Although they can be used with or without an overlying panel, electrostatic discharge (ESD) implications – for the associated controller device – is a major influence for such a panel being used.
All of these sensors are suited for use with Microchip mTouch controllers.
Microchip Sensor Controllers
Microchip's mTouch Controllers – to which the corresponding electrodes from the sensor patterns connect – are typically PIC devices. These controllers can be found on the relevant Microchip pages within the Unified Components section of the Design Content area of the Altium Website.
Browse mTouch Controller components on the Altium Website.
Components can be browsed directly on these pages. In addition, each page offers the following two options:
- Go To Vault - click this button to view the components through the browser-based interface.
- Download Library - click this button to download the components in a zipped integrated library file.
Microchip Touch Controls – Further Information
PIC devices offering mTouch sensing solutions can be found on the Microchip website here.