Altium NEXUS Documentation

Designing with Touch Controls in Altium NEXUS

Created: May 13, 2022 | Updated: May 13, 2022

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.
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 Bobblehead icon button, at the top-right of the main application window, then choose the Extensions and Updates entry from the associated menu).

  1. 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.
    First access the Configure Platform page of the Extensions & Updates view.

  2. 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.
    Then enable the Atmel QTouch option, under Touch Sensor Support.

  3. 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.
    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.
Javascript

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.

As with all configurable schematic components in Altium NEXUS, access to the associated configuration dialog (QTouch Component dialog, CapSense Component dialog, or mTouch Component dialog) for a sensor component is made by right-clicking over the component and choosing Configure from the context menu.

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.

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
Default configuration and resulting sensor pattern for the QTouchButton component

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
Default configuration and resulting sensor pattern for the SmallQTouchSlider component

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
Default configuration and resulting sensor pattern for the SmallQTouchWheel component

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
Default configuration and resulting sensor pattern for the MediumQTouchSlider component

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
Default configuration and resulting sensor pattern for the MediumQTouchWheel component

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
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.
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.

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
Default configuration and resulting sensor pattern for the QMatrixButton component

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
Default configuration and resulting sensor pattern for the SmallQMatrixSlider component

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
Default configuration and resulting sensor pattern for the SmallQMatrixWheel component

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
Default configuration and resulting sensor pattern for the MediumQMatrixSlider component

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
Default configuration and resulting sensor pattern for the MediumLargeQMatrixWheel component

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
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.
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.
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.

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
Default configuration and resulting sensor pattern for the CircularButton component

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
Default configuration and resulting sensor pattern for the RectangularCurvedEdgeButton component

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
Default configuration and resulting sensor pattern for the LinearSlider component

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
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.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.

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
Default configuration and resulting sensor pattern for the mTouchChevronSlider component

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
Default configuration and resulting sensor pattern for the mTouchLinearSlider component

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
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.
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.

Found an issue with this document? Highlight the area, then use Ctrl+Enter to report it.

Contact Us

Contact our corporate or local offices directly.

We're sorry to hear the article wasn't helpful to you.
Could you take a moment to tell us why?
200 characters remaining
You are reporting an issue with the following selected text
and/or image within the active document: