PCB Impedance Tables

How the tables were checked

Each check below covers a stated set of cases. Differences are published, including the ones that don't flatter the tables.

Built by AI agents; confirm with your fab. None of this was measured on a physical board, and no fab's tool or data was used.

What produced each number

The solver against published closed forms

These compare the solver with published formulas that don't depend on it. They cover the bare line only: no published reference here checks the solder mask model, and none covers two different Dk values. The formulas were coded from the literature by the agents that built this site and weren't re-checked line by line against the original papers, so a formula slip would show up as a difference here.

ReferenceInputs, mmReference, ΩSolver, ΩSolver vs referenceKind
Cohn 1954, centred stripline, t = 0w 0.25, b 1.0, Dk 470.0169.96-0.1%exact
Cohn 1954, centred stripline, t = 0w 0.5, b 1.0, Dk 450.2550.18-0.1%exact
Cohn 1954, centred stripline, t = 0w 1.0, b 1.0, Dk 432.7032.66-0.1%exact
Cohn 1955, coupled stripline, t = 0, Zdiffw 0.3, gap 0.2, b 1.0, Dk 498.8098.53-0.3%exact
Cohn 1955, coupled stripline, t = 0, Zdiffw 0.15, gap 0.15, b 1.0, Dk 4116.91116.38-0.5%exact
Wheeler 1978, centred stripline with thicknessw 0.3, b 1.0, t 0.035, Dk 458.8359.29+0.8%about 0.5%
Wheeler 1978, centred stripline with thicknessw 0.5, b 1.0, t 0.07, Dk 443.5943.94+0.8%about 0.5%
Hammerstad and Jensen 1980, microstrip, t = 0, no maskw 3.06, h 1.6, Dk 4.450.0650.09+0.1%fit
Hammerstad and Jensen 1980, microstrip, t = 0, no maskw 0.35, h 0.2, Dk 4.055.0555.01-0.1%fit
Hammerstad and Jensen 1980, microstrip, t = 0, no maskw 1.0, h 1.0, Dk 2.295.0395.07+0.0%fit
Hammerstad and Jensen 1980, microstrip with thickness, no maskw 0.35, h 0.2, t 0.035, Dk 4.053.5252.60-1.7%fit with a thickness correction
Hammerstad and Jensen 1980, microstrip with thickness, no maskw 3.06, h 1.6, t 0.035, Dk 4.449.8349.76-0.1%fit with a thickness correction
Garg and Bahl 1979, coupled microstrip, t = 0, no mask, Zdiffw 0.2, gap 0.2, h 0.2, Dk 4.0124.33125.97+1.3%about 3%
Garg and Bahl 1979, coupled microstrip, t = 0, no mask, Zdiffw 0.4, gap 0.3, h 0.4, Dk 4.0118.48120.07+1.3%about 3%

Against a 3D solver (openEMS)

Each row below was solved at 1 GHz with openEMS, an independent time-domain 3D method, on a straight line at least 16 mm long. Ports read three voltage probes and two current loops around the whole trace. A differential row uses the odd mode with a conducting wall on the plane of symmetry. Solder mask on bare laminate is rounded up to copper height to keep the time step usable, so the 3D model has a little more mask than the 2D one. The two columns show the same row on two meshes, which tells you roughly how far the mesh is from converged: treat a difference of a few percent as the limit of this check, not as a correction to the tables.

Cross-sectionTargetW / gap, mm2D solver, ΩFormula, ΩFDTD, normal mesh, ΩFDTD, finer mesh, ΩFDTD vs 2D
microstrip, 0.20 mm dielectric, Dk 4.0, 35 µm copper50 Ω single-ended0.36249.9848.8 (-2.4%)51.750.6+1.3%

The same 3D setup on a reference line

The 1.6 mm FR-4 line from the published table above, with 35 µm copper and no mask.

2D solver 49.76 Ω. Hammerstad and Jensen with thickness 49.83 Ω.

Line length, mmMesh multiplierFDTD at 1 GHz, ΩFDTD at 2 GHz, Ωεeff at 1 GHzFDTD vs 2D
16153.7254.653.79+7.9%
64150.6550.823.37+1.8%
641.550.4550.653.37+1.4%

The 16 mm run came first and read high with an εeff well above the 2D value. On a line this tall the probes sit too close to the feed, so the setup now uses a line 40 times the plane height where that exceeds 16 mm. The grid rows above all use the setup as it stands now, chosen on this reference line and not adjusted to match them.

Separately, a different openEMS setup on the same line, with a 100 mm line and a thin strip, read 50.36 Ω against 50.06 Ω from Hammerstad and Jensen. That is the only other 3D reference case, not a general validation.

Automated tests

The build's tests repeat the comparisons above with fixed limits, and add hand-worked values for the current and via formulas and agreement between the browser solver and the one that made the tables. A build also fails if a published row's impedance is more than 0.5% from its target.

References