User Guide

Contents

Getting Started

Installing CapExt

To install or upgrade CapExt, download and run CapExt_(version_number)_setup.exe. CapExt will automatically notify you when an update is available.

Install license file

If CapExt could not detect a license file, or the previous license has expired, the license manager will be displayed on start-up. If you have a valid license or trial license, select "browse" and choose the file.

If you are already running CapExt under a valid license, but want to change the license file, for example to change user or to go from a trial license to a full license, with CapExt open, go to About->Open License Manager to open the license manager again.

Graphical overview of CapExt

File support

CapExt can import Gerbers, Excellon drill files and DXF-files.

If you want support for other formats, please contact us at info@capext.com

Quickstart examples

CapExt comes with pre-built example projects with matching Gerber files which you can use to quickly familiarize you with how CapExt works, and how to extract the capacitances from your stackup in CapExt. The examples are located in the folder where you installed CapExt, typically C:\Program Files\CapExt\example project\

Back to contents




CapExt projects

Create a new project

To start a new project, go to File->New Stackup. You will then be presented with the New Stackup Wizard.

Click to magnify.

It is also possible to create a project without going through the New Stackup Wizard, see PCB Stackup Pane.

The last column for each layer is the detected layer dimensions, in either inches or mm depending on the current unit setting. See Change units to metric(mm) or imperial(inches).

All settings in the New Stackup Wizard can be modified later in the PCB Stackup Pane.

Saving a project

To save a project go to File->Save or File->Save As.

Loading a project

To load a project go to File->Open.

DXF import wizard

DXF files can contain many layers, and the dimension used in the CAD software used to generate the DXF file is not always saved correctly in the DXF file.

When CapExt detects that you are importing a DXF file, it will present you with the DXF import wizard

DXF import wizard

CapExt will try to deduce the units used and the scale factor from the DXF file, but if you notice that the values are incorrect, you will need to enter scale factor and units manually.

Select the layers you want to import. If you select Combine selected layers, all selected layers will be combined into a single layer. When importing from the PCB stackup pane this option will always be active. If you are importing the DXF file through the New Stackup Wizard and you uncheck this box, each layer selected will be imported as a separate layer.

Back to contents




3D/2D view

CapExt can display the stackup as either a 3D view or a 2D view. The 3D view is useful for checking that you have the correct ordering of layers or to check the thickness of the layers. Due to the perspective effect, when viewing the stackup head-on in the 3D view, traces directly below each other will not always appear so, in these cases we recommend using the 2D view.

The color of the individual layers are used as an indication of the relative permittivity for that layer, with the color going from clear and transparent for air, to dark blue for relative permittivity higher than 10.0. Electrically conductive traces and vias are yellow.

Navigating in the 3D/2D view

To navigate through the 3D/2D view, simply drag with the left mouse button to drag the board around, scroll with the mouse-wheel to zoom in or out, and drag with the right button to rotate the view.

Navigating with the keyboard

You can zoom in and out with the W/S keys, and you can use the arrow keys to move the view.

Change from the 3D to 2D view

You can freely choose between the 3D view, which is good to verify that the stackup is correct, and the 2D view which is more similar to the familiar view in most PCB CAD software.

To switch between 3D and 2D, go to View->Toggle 3D/2D

Reset view

To reset the 3D/2D view to the standard zoom and position, press View->Reset 3D view.

Back to contents




PCB Stackup Pane

Overview

Click to magnify.

Modifying a stackup

All modifications to the current stackup is done in the PCB Stackup Pane.

After modifying the stackup, press Apply Changes. This will update the 3D view of the stackup, and extract all the electrodes from the stackup.

Electrodes which are connected to electrodes on different layers through vias are treated as a single electrode.

Since pressing Apply Changes will change the configuration of electrodes and dielectrics on the board, all electrode names and any simulation results will be lost.

Changing board dimensions or DPI

The dimensions of the layout can be changed in 3 ways:

Adding or removing a layer

Pressing Add Layer will add a new layer. A layer is built up of a dielectric layer between two electric layers. The dielectric layer has a permittivity and a thickness, while the electric layers have not thickness or permittivity. The files set for the electric layers will act as the normal metallic print on a PCB, while the files for the dielectric layers are treated as drill files. If a hole connects to a metallic part on either electric layer, the hole will be treated as a 3D plated through via.

Pressing Delete Layer+Above will remove the currently selected layer and the layer above. Delete Layer+Below will remove the currently selected layer and the layer below. The reason for this is that a single dielectric layer must always be surrounded by two electric layers, and two electric layers must always have a dielectric inbetween. The electric and dielectric layers does not need to have associated files, and can be empty.

Moving a layer

Selecting any layer and pressing the up or down buttons will move the layer either up or down. When moving a layer, it will switch places with the next layer in the chosen direction so that every dielectric layer is always surrounded by two electric layers.

Changing layer properties

For dielectric layers, the thickness and permittivity can easily be changed by simply selecting the thickness or permittivity for the layer, and typing in a new value.

Electric layers usually default to 0 thickness, if you type in a thickness higher than 0, you will also get an option to enter the permittivity of the material surrounding the conductive nets in the same plane.

Adding or removing a layer file

To add or change a Gerber-, DXF- or drill file for either an electric or dielectric layer, press the name of the layer, for example "layer 1, dielectric", press the browse button which appears to the far right when the name is selected, and select the new file.

To remove a file, right click on the layer, and select Clear layer contents.

Saving a layer

To save the contents of a layer, right click on the layer, and select Save layer contents. This will save the file associated with the layer to the specified location. Any changes done to the layer through Shrink/Grow electrode area is not kept when the layer is saved.

Mirroring a layer

If a layer is mirrored, right click the layer and choose either Mirror layer around x-axis or Mirror layer around y-axis.

Back to contents




Simulation Options Pane

Overview

Click to magnify.

Selecting electrodes for simulation

All electrodes detected are given a number and are shown as a list in the Simulation Options Pane. All the electrodes will be a part of the simulation, irregardless if they are selected or not, but only electrodes selected for simulation will have its self capacitance and mutual capacitance to all other electrodes on the board calculated. Therefore, if you want to know the self capacitance of a conductor, or find potential mutual capacitance coupling which might inject noise to a conductor, it is important to select that conductor for simulation.

Any electrodes selected for simulation will be highlighted in green in the 3D view.

Simulation iterations/Simulation accuracy

The more simulation iterations run for each electrode, the more accurate the result will be. The simulation will continue until either the number of iterations has been met or until the calculated self capacitance uncertainty is below the set value.

The total number of simulations is an accumulated number, each electrode remembers how many iterations it has gone through, so if you run a million iterations for an electrode, then select a second electrode, and set the number of iterations to 1000, no iterations will be run for the first electrode, and it will not loose its accuracy, only the second electrode will run for 1000 iterations. If you later set the number of iterations to 2 000 000, the first electrode will be simulated for 1 000 000 iterations, while the second electrode will be simulated for 1 999 000 iterations.

Starting a simulation

To start a simulation, press Run Simulation.

Each electrode selected for simulation will be simulated in sequence. A progress-bar will be shown while the simulation is in progress. You can abort the simulation at any time while still keeping the results obtained so far. If you abort the simulation for an electrode, the next electrode in the queue will be simulated.

Renaming electrodes

To rename an electrode, for example to mark VCC/VDD/GND or specific pins or touch electrodes, either right click the electrode in either the list or the 3D/2D view and select Rename or left click the electrode name and type in a new name.

Shrink/Grow electrode area

To shrink or grow an electrode, right click the electrode in either the 3D/2D view or in the electrode list and select Shrink/Grow electrode area.

This functionality has been added to ease development of capacitive touch sensors, where you can quickly test the effect of making a sensor smaller or larger, or increasing/decreasing ground hatch % for example.

CapExt will attempt to remove/add material along the edge of the electrode, while ensuring that the electrode does not touch other neighbouring electrodes.

 

When growing a touch sensor for example, it can be useful to use the do not resize traces of width less than-feature, which ensures that you can grow the sensor while the traces leading up to the sensors are unaffected.

 

Back to contents




Simulation Results Pane

Overview

Click to magnify.

For each electrode selected for simulation, there are two results:

If a result is displayed as 0, then the capacitive coupling is too small compared to the calculated uncertainty, and more simulation iterations must be performed to get a more accurate result.

Hovering over an electrode in the list will color the corresponding electrode in the 3D view dark blue. Hovering over a mutual capacitance result will color the electrode selected for simulation dark blue and the electrode to which the mutual capacitance results belongs will be colored light blue.

By selecting any capacitance on the list and expanding the list, you can press any electrode in the 3D view to find the corresponding result in the mutual capacitance list.

Sorting results

To sort results either by name or by capacitance, press Sort by name or Sort by capacitance. Both the list of self-capacitance and the mutual capacitances for each electrode will be sorted.

Uncertainty

Due to the algorithm used by CapExt, it is possible to get a very accurate estimate of how far the current result is from the accurate physical result. In the results pane, this is represented as an uncertainty value. If the current estimated result is smaller than the uncertainty estimate, the uncertainty estimate is colored red to signify that more simulation iterations should be run if a more accurate result is needed.

The uncertainty displayed is displayed as a standard deviation, meaning that there is a 68% probability that the real result is within [result] ± [uncertainty], and there is a 95% probability that the result is within [result] ± 2x[uncertainty].

Export as CSV

To export the results as a csv file that can be imported into for example Microsoft® Excel, press the Export as csv button. All results available in the simulation results view with the corresponding uncertainty estimates will be exported.

What is coupling w/ infinity?

Even for a single conductor alone in an infinite empty space, there is some capacitance, see for example "Does an isolated charged sphere have capacitance?" at HyperPhysics. To model this coupling, a ground box surrounds the stackup in CapExt. The ground-box is extremely large compared to the stackup dimensions to model a ground at infinity. The coupling to this ground box is called "Coupling w/ infinity" in the simulations results.

Back to contents




Touch Simulations

Methodology

Capacitive touch is simulated with a floating (not connected to any other potentials) metallic tube as a model for the human finger. While conducting the simulation, CapExt calculates the capacitances with and without the finger probe present, and returns both capacitance matrices.

Configuring the touch probe

Activating and modifying the parameters of the touch probe is done through the PCB Stackup tab:

Click to magnify.

Remember to press Apply Changes after reconfiguring the touch probe.

Interpreting the results

Click to magnify.

In the results above, we can see that the mutual capacitive coupling between X2 and Y3 is ~2.2pF before the touch event, and ~1.9pF after, with an uncertainty of ~0.046pF.

When simulating capacitive touch, you are usually interested in the change in capacitance rather than the absolute value of capacitance. In order to ensure high quality of your results, you should check that the reported uncertainty is much less than the difference in capacitance due to the touch. If that is not the case, increasing the number of iterations in steps of 10x until the uncertainty is within acceptable limits is recommended.

Back to contents




Area Touch

The area touch functionality is similar to the touch functionality, but instead of simulating a single touch by a finger or stylus, you can simulate many independent touches across an area of your board.

This can be used to find the area around a touch button which will report as a touch, or to check the linearity of a slider, wheel or touch screen.

Configuring area touch

To enable area touch, in the PCB stackup pane first click Enable touch probe and then click Enable area touch.

Click to magnify.

The settings for area touch mirrors the settings for a normal single touch simulation, the X and Y positions sets the center of the area over which the touch probes will be spread, and distance from top layer, length, diameter top and bottom is common to each touch probe in the area touch simulation.

To move the area, either change the X Y positions manually, or click and drag the touch probe at the center of the touch area in the 2D/3D view.

Once area touch is configured, press Apply Changes to finalize the setup.

You can now run the simulation as you normally would.

Viewing the results of an area touch simulation

After the simulation is done, you can click on any electrode in the Simulation results pane to see the results of the area touch simulation.

Click to magnify.

In the 2D/3D view you will see a heatmap indicating the change in capacitance when the touch probe touches the center of each point in the heatmap. The scale on the right-hand side shows what capacitance value each color corresponds to.

At the bottom of the screen you can view the exact capacitance for each square in the area touch simulation. the element A1 corresponds to the upper left corner, with letters running from left to right, and numbers running from top to bottom.

The capacitance next to the name of the electrode is the self-capacitance when not touched

To view mutual capacitances, press the small + next to the electrode name, and click on the electrode which you want to see the mutual coupling to.

Area touch and mutual capacitance

You can also view the sum of the area touch results from either multiple self-capacitance simulations or multiple mutual capacitance simulations. This can be very useful to ensure that you have good linearity on touch screens, sliders or wheels. To sum results, CTRL-click the results in the left pane that you want to sum.

Adding up several mutual capacitances to see linearity

Configuring the area touch scale

Pressing the Settings button at the top of the scale will show configuration options for the scale.

Configuring the scale

Opacity: How transparent the heatmap should be, setting it to 0 will hide the heatmap.

Opacity = 0.5

Invert mutual: Since changes in mutual capacitance due to touch are normally negative, CapExt will by default invert the color scale when viewing mutual capacitances, if this is unwanted, uncheck this box.

Color blind mode: This changes the color scale to one that is easier to read for color blind people.

Diamond heatmap: Change the heatmap to a version where there are gaps between each square so that you can simultaneously view the layout and the heatmap without reducing the opacity.

Diamond heatmap

Use custom scale: Normally the min and max values in the scale are the min and max values of all the grid points in the results of the area touch simulation, checking this box will allow you to change the minimum and maximum values.

Device profiles and area touch

You can combine the area touch functionality with a device profile to either check the effect of a driven shield on the touch sensitivity, or to see how large an area will report as touch for a chosen sensitivity.

Minimum detectable delta tuned to give the optimal touch response

Simulation time and area touch

The area touch functionality has been designed to be fast and easy to use, and the simulation time does not scale linearily to the simulation time of a single touch. You can simulate up to thousands of touches in just a few minutes.

In the following benchmark, a self-capacitance button on a somewhat complicated board (~250 electrodes) is simulated with a default configuration for the area touch probes, the area over which the touch probes are distributed is 100x100mm centered above the button. The simulations are performed on a desktop computer with an Intel(R) i7-4790K CPU with 16 GB RAM.

Simulation time vs # touch probes

Simulation time will vary depending on the required uncertainty, distance between each individual touch probe in the area touch simulation, how complicated the layout is and the machine used to perform the simulation.

Back to contents




Device profile

Overview

Device profiles contains the parameters you are interested in when using a touch controller.

Click to magnify.

CapExt comes with a number of touch controllers from some select vendors, but if your chosen touch controller is not in this list, you can easily create a new device profile for your controller.

Enabling or disabling device profiles

Device profiles can be enabled or disabled by selecting Device->Enable/disable device profile.

Saving a device profile

If you want to reuse a device profile for multiple projects, you can save the device profile by selecting Device->Store.

Loading a device profile

To load a custom device profile, select Device->Load->Load from file.

If you want to load a preconfigured device profile, select Device->Load->Vendor. and navigate to the device you are using. These device profiles are stored in [CapExt installation folder]\Vendor, if you want your own devices to appear in this list, store the device profile in this folder.

Driven shield

CapExt supports simulation of driven shields. The driven shield functionality is accessed through the device profile pane.

To configure a net (or multiple nets) as a driven shield:

 

No driven shield

 

Bottom layer configured as a driven shield

 

You do not need to re-run the simulation after enabling or disabling the driven shield, CapExt will automatically perform the calculations and display the results as if the driven shield is active.

Unless you are interested in knowing the shield capacitance, there is no need to select the shield electrodes for simulation.

Some touch controllers are able to configure the sensors in a way where all sensors not currently being scanned acts as a driven shield. This is supported by CapExt, just select the touch electrodes to also be driven shields, and CapExt will treat them correctly.

Back to contents




Water droplet simulation

Overview

CapExt can simulate conditions where the design is subjected to water. This is very useful when doing touch simulations where you want to know how your design performs under different wet conditions.

The water droplet simulation simulates a covering of the top layer with water droplets. You can configure the droplet parameters, and choose between directly positioning the droplets yourself, or using the Randomize droplet positions functionality where CapExt will simulate thousands to millions of different droplet positions and return the average of all the simulations.

Enabling the water droplet simulation

In the PCB Stackup-pane select Enable water droplet simulation. A new item called Water simulation will be added to the stackup pane:

Water simulation

Configuring the water droplet simulation

The default setting corresponds to a light coverage of rain. You can control the water droplet simulation with the following parameters:

To perform a simulation with water droplets present, either place the droplets manually or select randomize droplet positions and press Apply changes, and run the simulation as you normally would.

Edit droplet positions

Pressing Edit droplet positions will enable an editor that allows you to click anywhere on the board to add a new droplet, drag existing droplets to move them and right click to remove droplets

Droplet editor

Either click OK or anywhere on the PCB stackup pane to exit the droplet editor.

Randomize droplet positions

If you activate randomized droplet positions, Edit droplet positions will be replaced with Droplet coverage (%) which lets you specify the area of the top layer which is covered by droplets. If neccessary, droplets will overlap and combine into larger droplets to fulfill the area criteria.

CapExt will create an animated overlay over the top layer to represent the water droplets. The heigth and width of the droplets corresponds to the size used in the simulations, and the coverage of the droplets will be approximately what is used by the simulation, but the exact position of the droplets will be randomized many times over during the simulation.

Water droplets with driven shield

To hide the water droplet overlay, select View->Show/Hide water droplets

Simulation results with water droplets

When the water droplet simulation is active, CapExt will perform two simulations simultaneously, one with water, and one without water. This lets you easily see which effect the droplets have on your layout, and compare this with the capacitances when no water is present.

In the simulation results pane, you can toggle between viewing the results without droplets, with droplets or droplets - no droplets

The droplet pattern used

Without droplets: Display the capacitances when no droplets are present:

Without droplets

With droplets: Display the capacitances when droplets are present, we can see from the following picture that the self capacitance has increased due to the droplets placed nearly directly over the capacitive button:

With droplets

Droplets - no droplets: This setting will display the difference between the results with water and the results without water, can be very useful if you are interested in detecting false touches due to moisture:

Droplets - no droplets

Combining area touch and water droplet simulations

The area touch functionality can easily be combined with the water droplet simulation to get an intuitive graphical overview of how touch sensitivity across different x-y positions are affected by water droplets.

The screenshots below use the same droplet pattern as in the preceeding section.

Area touch without droplets Area touch with droplets

From the screenshot above, we can conclude that the droplets would probably trigger a false touch, and the sensitivity of the button when the droplets are present on the right side of the button will change the sensitivity pattern significantly.

Back to contents




Pattern generator

CapExt comes with a tool to generate new touch screen and touch surface patterns. The patterns are based on a standard diamond pattern, if you would like to see other patterns in the pattern generator, please contact us.

To generate a new pattern, go to File->New Pattern->Diamond Pattern (Touch Screen/Surface).

Using the pattern generator

Pattern generator

The largest image shows the complete pattern, while the frame in the top right corner shows a close up on how each sensor element will look. Both images will update as you change the pattern parameters.

Once you are done configuring your pattern, click OK and the new stackup wizard will open with your pattern pre-loaded, configure your stackup and press OK again.

You can now use the pattern as if you loaded it from an external file. The X- and Y-lines will be automatically named as such.

If you want to save your pattern to edit in another program, or if you want to use it to manufacture a touch screen or surface, right click one of the layers containing the pattern in the PCB Stackup Pane and select save layer. The pattern will be saved as a DXF-file with one layer for the X-lines and one layer for the Y-lines.

Back to contents




Miscellaneous

Change units to metric(mm) or imperial(inches)

The current unit setting can always be seen in the info-bar in the lower left corner of the application. To switch between Units in [mm] and Units in [inches], go to View->Units.

Show/Hide layers

Individual layers can be hidden by going to View->Show/Hide Layers. This will open a dialog where you can individually turn layers on or off. This is useful if an electrode is below another electrode, making it both hard to see and hard to select.

To show all layers again, select View->Show All Layers.

Batch simulations and scripting

CapExt has extensive batching and scripting functionality. Common use cases are:

The scripting interface is invoked by calling CapExt with a script as a parameter. For information on the different commands available, pass the parameter "--h" to capext from the command line. Please contact us if you would like to have access to additional features of CapExt througth the scripting interface.

Back to contents