To install or upgrade CapExt, download and run CapExt_(version_number)_setup.exe. CapExt will automatically notify you when an update is available.
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.
In the top left corner, you can choose between the PCB stackup, Simulation options and Simulation results panes.
To the right is the 3D/2D view.
Note that the currently used unit is displayed in the bottom left (Units in [inches]).
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
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.
Each layer can be either a normal flat layer, or a drill/via layer. The checkbox next to each Gerber file can be toggled to switch between drill/via and normal layer. Drill/via layers are layers representing the vias between layers. If there is a via from a conductor on one layer to a conductor on another layer, the software will detect this and treat both conductors + any connected vias as a single large conductor.
Add Layer(s): Pressing this button will let you select one or more Gerber files to import.
Remove Layer: Selecting a layer from the list and pressing this button will remove the layer.
up/down: You can also reorder the layers by selecting a layer, and pressing the up/down buttons to move the layer up or down in the stackup.
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).
Calculate size automatically: The dimensions of the board is automatically detected from the largest dimensions of the imported Gerber files. If you want to override the dimension settings, uncheck the Calculate size automatically box and enter the dimensions manually.
DPI: The DPI setting decides which resolution the Gerbers should be sampled at. A too large DPI setting combined with a large board dimension might force the software to spend a very long time importing the Gerbers, while providing little to no improvement in the simulation accuracy. For most boards, a DPI in the range 500-1000 is usually sufficient.
Layer thickness is the thickness of each layer. For evenly spaced layouts, for example for multilayer PCBS, this is an easy way to ensure that all layers are equally thick. For more complex layouts, you will need to modify each layer thickness after the Create new stackup wizard, in the PCB Stackup Pane.
Layer permittivity is the relative permittivity of each layer. Each layer will be given this permittivity. For stackups with different permittivity for each layer, for example for a touch PCB with an acrylic overlay, you must modify the permittivity later in the PCB Stackup Pane.
All settings in the New Stackup Wizard can be modified later in the PCB Stackup Pane.
To load a project go to File->Open.Back to contents
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.
You can zoom in and out with the W/S keys, and you can use the arrow keys to move the 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
To reset the 3D/2D view to the standard zoom and position, press View->Reset 3D view.Back to contents
1: Apply changes.
2: PCB dimensions, resolution and activate touch functionality
3: Add/remove/move layers.
4: Select a new Gerber file.
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.
The dimensions of the layout can be changed in 3 ways:
By dragging the board edges in the 3D/2D view: Dragging any edge will mark it red, and will allow you to easily for example crop a PCB in case the Gerber files are larger than the area intended for simulation.
By manually modifying the dimensions: X min, Y min, X max and Y max is the coordinates of the board edges, either in mm or inches depending on the units used. Unchecking Calculate size automatically will allow you to enter the dimensions manually.
Automatically: If Calculate size automatically is unchecked, checking it again will initiate a scan over all the Gerbers to find the maximal board dimensions, the dimension is then set to this maximum.
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 Gerber files set for the electric layers will act as the normal metallic print on a PCB, while the Gerber 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 Gerber files, and can be empty.
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.
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.
To add or change a Gerber 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 Gerber file.
To remove a Gerber file, right click on the layer, and select Clear layer contents.
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
1: Run simulation button
2: Electrode selected for simulation.
3: Maximum number of simulation iterations and minimum self cap error, in this case set to 0 so the simulation will run for the maximum number of iterations.
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.
Hovering over an electrode in the 3D view will highlight the whole electrode and display a tooltip with the electrode name next to the mouse.
Pressing an electrode in the 3D view will select the electrode for simulation, while at the same time highlighting the electrode in the electrode list.
Hovering over an electrode in the electrode list will highlight the electrode in the 3D view.
Selecting the checkmark next to an electrode name will select the electrode for simulation.
Any electrodes selected for simulation will be highlighted in green in the 3D view.
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 error 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.
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.
To rename an electrode, for example to mark VCC/VDD/GND or specific pins or touch electrodes, either right click the electrode and select Rename or left click the electrode name and type in a new name.Back to contents
1: Self capacitance.
2: Mutual capacitances.
3: Export as CSV button.
4: Capacitances column.
5: Errors column, note the red numbers in the cases where the calculated errors are larger than the extracted capacitances.
For each electrode selected for simulation, there are two results:
Self capacitance: The self capacitance is the total self capacitance seen by an electrode. This is the sum of all the capacitive couplings to all other electrodes in the simulation, also to electrodes not selected for simulaton, and also to the ground placed at infinity.
The self capacitance and corresponding error will always be displayed next to the electrode name
Mutual capacitance: Pressing the pluss sign next to the electrode name will expand the results into a list of mutual capacitances. Here you can see the capacitive coupling from the simulated electrode to every other electrode in the simulation, not just electrodes selected for simulation.
If a result is displayed as 0, then the capacitive coupling is too small compared to the calculated error, 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.
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.
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 error value. If the current estimated result is smaller than the error estimate, the error estimate is colored red to signify that more simulation iterations should be run if a more accurate result is needed.
The error displayed is displayed as a standard deviation, meaning that there is a 68% probability that the real result is within [result] ± [error], and there is a 95% probability that the result is within [result] ± 2x[error].
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 error estimates will be exported.
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
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.
Activating and modifying the parameters of the touch probe is done through the PCB Stackup tab:Click to magnify.
1: Enable touch probe. Check this box to add a touch probe to your stackup.
2: Physical dimensions and position of the touch probe.
3: Visual representation of the touch probe. Click and drag to move the touch probe.
Remember to press Apply Changes after reconfiguring the touch probe.
1: Capacitance without the finger probe present.
2: Capacitance with the finger probe present.
3: Uncertainty of the measured capacitance with the touch probe present.
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
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.
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.
CapExt has extensive batching and scripting functionality. Common use cases are:
Running multiple simulations overnight.
Automated testing of different parameters, such as the thickness of the substrate or overlay.
Complex touch simulations. For example, you can set up a stackup with a touch probe on one end of the board, and using the scripting interface you can move the finger across the board, performing simulations and storing the results as the finger moves, simulating a swipe event.
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.Back to contents