Designing with Touch Controls

Now reading version 1.0. For the latest, read: Designing with Touch Controls for version 5

This documentation page references Altium NEXUS/NEXUS Client (part of the deployed NEXUS solution), which has been discontinued. All your PCB design, data management and collaboration needs can now be delivered by Altium Designer and a connected Altium 365 Workspace. Check out the FAQs page for more information.

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  button, at the top-right of the main application window, then choose the Extensions and Updates entry from the associated menu). Information on how to do this is included on each of the vendor-specific Touch Controls pages.

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.

Transferring the design to the PCB domain generates the geometries for the touch sensors. 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.

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.


If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.