VIRTUAL FAB LAB
How the lab simulations work
Every equation behind the lab tests, what each symbol means, and which parts are textbook physics and which are simplified.
These are teaching models. They give realistic trends and orders of magnitude, so you can learn what changes a device and why. The exact numbers have not been validated against measured devices, so don't use them to design real hardware.
How to read this document
Every lab follows the same chain. You draw mask layers, the lab "fabricates" them with realistic process errors, it measures the geometry of what came out, and then each test turns that geometry and the materials you picked into a measurement. This document follows that chain for every lab and every test. The Sand to Chip foundry is the exception: it follows a batch of sand through the whole supply chain instead (section 8).
Each equation is labelled with one of three tags:
- [Physics]: a textbook law, or a numerical solution of one. These are the parts you could check against a textbook.
- [Fit]: a simplified or empirical formula chosen to give the right trend and the right order of magnitude. It is not derived from first principles.
- [Luck]: seeded random variation, so the devices in a batch scatter the way real ones do. The same batch seed always gives the same devices.
These are teaching models. They give the right trends and realistic orders of magnitude, but the exact numbers have not been validated against measured devices. Material properties are rounded textbook values.
Constants used throughout
| Symbol | Meaning | Value |
|---|---|---|
| F | Faraday constant: charge carried by one mole of electrons | 96,485 C/mol |
| R | Gas constant | 8.314 J/(mol·K) |
| T | Temperature (body temperature unless a test says otherwise) | 310 K (37 °C) |
| kB | Boltzmann constant | 1.381 × 10−23 J/K |
| ε0 | Permittivity of free space | 8.854 × 10−12 F/m |
| ω | Angular frequency, ω = 2πf | rad/s |
| j | The imaginary unit, √−1 (used in impedance) |
1. From your drawing to a device (all labs)
Before any test runs, the lab turns your drawing into a device. This is why two devices from the same drawing never measure exactly the same.
1.1 Lithography bias [Fit + Luck]
Every drawn shape grows or shrinks by half the bias b on each side:
printed edge = drawn edge ± b/2
The bias comes from the process settings. With positive resist, over-exposure widens openings; with negative resist it narrows them. Under-developing leaves residue, over-developing undercuts. In code, the change in opening width is
open = s × 0.12 × tr × (r − 1) − 0.35 × residue × min(feature, 40 µm) + 0.08 × tr × undercut
where s = +1 for positive resist and −1 for negative resist, tr is the resist thickness, and r is the dose divided by the dose the resist needs. With lift-off the material fills the openings, so b = open. With etching the material is what the resist protects, so b = −open. Holes (cut shapes) take the opposite sign, because a hole shrinks when the material around it grows. Each device gets ±10% random variation on the bias.
1.2 Pattern quality [Fit]
Each layer gets a quality score between 0 and 1. It is the product of five factors:
Q = fdose × fdevelop × fresolution × faspect × flift-off × √fbake
- fdose and fdevelop are bell curves in log space that peak at the ideal dose and develop time: f = exp(−(ln(ratio)/w)2).
- fresolution falls to zero as your smallest feature approaches the process limit (the larger of the mask resolution and the resist resolution).
- faspect falls when resist walls are too tall for their width, because they lean and collapse.
- flift-off falls when the resist is less than 1.5 times as thick as the film.
- fbake is a bell curve around the resist's ideal bake temperature, times a factor for bake time.
Quality scales conductivity and capacitance in the tests, and raises the chance of shorts.
1.3 Misalignment [Luck]
Every layer after the first is shifted by a random (dx, dy). The spread is about 3 µm with printed film masks and 0.7 µm with chrome masks.
Pyrolysis: SU-8 to glassy carbon [Fit]
Glassy carbon electrodes are made the carbon-MEMS way: the SU-8 is patterned like any negative resist, then heated in an inert gas (usually 1000 °C in nitrogen) until everything but carbon has left as gas.
- Shrinkage: the carbon keeps only part of the SU-8 thickness: about 35% at 600 °C, falling to about 20% at 1000 °C. The lab spins SU-8 of thickness tcarbon / keep, so 1 µm of carbon needs about 5 µm of SU-8.
- Conductivity: σ = σ1000 °C × f(T), with σ1000 °C ≈ 2 × 104 S/m. f is about 0.003 at 600 °C, 0.2 at 800 °C, 0.55 at 900 °C, 1 at 1000 °C and 1.3 at 1100 °C, because hotter pyrolysis gives a more graphitic carbon. This conductivity feeds the trace and electrode resistance solves.
- Atmosphere: nitrogen, forming gas or vacuum all work. In air the SU-8 burns away and the layer is lost.
- Time: a slow ramp (about 2 °C per minute), a one-hour hold and cooling add roughly 20 hours to the process.
1.4 Geometry and connectivity [Physics, numerical]
- Holes are subtracted exactly with polygon Boolean operations. A hole can be an extruded cut: with an end condition of "Through all" or "Up to" a layer, it removes material from every layer below too. It is treated as one etch through the stack, so the opening has the size and misalignment of the layer it was drawn on in every layer it cuts.
- Each layer is turned into a pixel grid. The pixel size is a fraction of the smallest feature, so small designs are measured finely.
- Areas, perimeters, smallest feature and smallest gap come from the grid and the polygons.
- Connected-component labelling finds which pieces of metal touch each other. Layers connect wherever they overlap with no insulator between them. This is how the lab finds shorts and open circuits.
1.5 Resistance of a drawn conductor [Physics, numerical]
Each pixel of conductor has a sheet conductance g = σ × t (conductivity × thickness). The lab solves the steady current-flow equation on the grid,
∇ · (g ∇V) = 0
with the contact pad held at one voltage and the far end (or the electrode area) at another. The resistance is the voltage divided by the total current. This means bends, narrow necks and wide pads all count correctly, which a simple R = ρL/A would miss.
2. Neural Interface Chip (neural probes)
2.1 Geometry fed into every test
- Recording site area A [geometry]: the exposed metal (metal with no insulation above it) counted from the pixel grid. Its equivalent radius is r = √(A/π).
- Trace resistance Rtrace [Physics]: the sheet-resistance solve of section 1.5, from the site to its pad.
- Parasitic capacitance of the trace [Physics]: the trace and the saline above it form a parallel-plate capacitor through the insulation: Cpar = ε0 εins Atrace / tins, where εins is the insulator's relative permittivity and tins its thickness. This capacitance leaks signal to the saline.
- Pinholes [Physics, Poisson statistics]: the chance that the insulation has at least one pinhole is p = 1 − exp(−D × Atrace), where D is the defect density of that insulator. Thicker insulation lowers D.
- Crosstalk [Fit]: neighbouring traces couple through Cx ≈ 0.35 ε0 εeff × (facing length). The fraction of one channel's signal that appears on its neighbour is Cx / (Cx + Camp + Cpar).
2.2 The electrode–saline interface (used by every test)
When metal meets saline, ions line up at the surface and form a double layer, which behaves like a leaky, imperfect capacitor.
- Capacitance per area [Fit]: q = qmetal × roughness × (1 − coating cover) + Σ (q per µm of coating × coating thickness, up to a saturation thickness). Rough and porous coatings such as PEDOT or iridium oxide add a lot of capacitance.
- Constant-phase exponent α [Fit]: real double layers are not ideal capacitors. α = 1 would be ideal; real surfaces are 0.7 to 0.98. The lab uses an area-weighted average of the materials.
- Each metal also has a charge storage capacity (CSC), peroxide activity, dopamine sensitivity, standard rate constant k0 and roughness, taken from typical published values.
2.3 Impedance spectroscopy (EIS)
The lab builds an equivalent circuit at every frequency from 10 Hz up and computes its complex impedance Z.
Double layer, a constant-phase element (CPE) [Physics]:
YCPE = Q × A × (jω)α
Y is admittance (1/Z). When α = 1 this is an ordinary capacitor, Y = jωC.
Charge-transfer resistance [Physics]: in a solution with a redox couple, electrons can cross the interface. Linearising the Butler–Volmer equation for small signals gives
Rct = RT / (F2 k0 C Atrue)
where k0 is the electrode's rate constant (cm/s), C the redox concentration and Atrue the true (rough) area. With no redox couple, Rct is set very large (about 5 × 106 Ω·cm2 ÷ area), so almost no current crosses [Fit].
Spreading resistance [Physics]: current spreading from a small disk into a large bath meets the resistance Rs = ρ / (4r) (Newman's result), where ρ is the saline resistivity and r the disk radius. Small sites have high spreading resistance.
Whole circuit [Physics]:
Z = Rs + Rtrace + 1 / (YCPE + 1/Rct)
then the trace's parasitic capacitance sits in parallel with all of it: Ztotal = Z / (1 + jωCparZ). Cpar grows 2% for each day the probe has soaked, as water enters the insulation.
Noise [Luck]: each point gets 1% random error (3% below 10 Hz).
What to look for: at high frequency |Z| flattens at Rs + Rtrace. At low frequency the double layer dominates, so |Z| rises as about 1/fα and the phase approaches −90° × α.
2.4 Cyclic voltammetry (CV)
The potential sweeps up and down at scan rate ν (V/s) and the current is recorded.
Charging current [Physics]: the double layer charges and discharges as the voltage ramps:
ic = ± Ceff ν, with Ceff = Q A ωeqα−1 and ωeq = 2πν / (2ΔE)
ωeq is the frequency the triangle sweep most resembles (one up-and-down over the window ΔE). This converts the CPE into an effective capacitance at that scan rate.
Ferri/ferrocyanide redox: a full diffusion simulation [Physics, numerical]
This is the most rigorous test in the lab. Instead of using a formula for the peak current, the lab solves the diffusion problem directly. Both forms of the couple, oxidised (O) and reduced (R), obey Fick's second law in the solution next to the electrode:
∂c/∂t = D ∂2c/∂x2
This is solved on a grid of distances from the electrode, step by step in time (finite differences). At the electrode surface, the reaction rate follows Butler–Volmer kinetics:
kf = k0 exp(−αf(E − E0)), kb = k0 exp((1−α)f(E − E0)), f = F/RT, α = 0.5
flux = kb cR − kf cO, current i = nFA × flux
The applied potential is corrected for iR drop: the electrode actually sees E = Eapplied − i(Rs + Rtrace). Values: D = 7 × 10−6 cm2/s, 5 mM of each form, E0 = 0.22 V. Two cycles are run and the second is shown, so the starting transient is gone.
How this relates to the Randles–Sevcik equation
The Randles–Sevcik equation is the textbook answer to this same diffusion problem for a fast (reversible) reaction at a flat electrode, starting with only one form present:
ip = 0.4463 n F A C √(nFνD / RT)
Because the lab solves the underlying diffusion equation, Randles–Sevcik behaviour emerges on its own rather than being imposed. A check on a 333 µm2 glassy carbon site gave:
| Scan rate (V/s) | Simulated peak (nA) | Randles–Sevcik (nA) | Ratio | Peak separation ΔEp (mV) |
|---|---|---|---|---|
| 0.01 | 2.79 | 1.51 | 1.85 | 58 |
| 0.1 | 8.48 | 4.76 | 1.78 | 70 |
| 1 | 25.2 | 15.1 | 1.67 | 93 |
- The peak grows as ν0.48, close to the √ν that Randles–Sevcik predicts.
- ΔEp starts at the reversible 58 mV and widens at faster scans. That is the quasi-reversible behaviour described by Nicholson's theory for k0 = 0.02 cm/s.
- The simulated peaks are 1.7 to 1.85 times the Randles–Sevcik value. The likely reasons: the simulated solution holds both forms at 5 mM (Randles–Sevcik assumes one), the peak is read from zero current rather than from an extrapolated baseline, and charging current adds to it.
- The model treats diffusion as flat (planar). Very small disks at slow scans would really give more current, because of radial diffusion at the edges.
Other CV features [Fit]: the platinum and gold oxide and hydrogen peaks, and iridium oxide's redox waves, are Gaussian peaks scaled by the material's charge storage capacity. Water splitting is an exponential current beyond about −0.7 V and +1.0 V.
Charge storage capacity from the CV [Physics, analysis]: CSC = ∫ |icathodic| dE / (ν A), the cathodic charge per area, as labs report it.
2.5 Dopamine
Constant-potential amperometry [Physics × Fit]: a small disk held at an oxidising potential reaches a steady-state current set by diffusion from all directions:
i = 4 n F D r C
with n = 2 electrons per dopamine, D = 6 × 10−6 cm2/s, and an effective radius reff = r × √roughness (roughness capped at 40). The result is multiplied by the coating's blocking factor and a material factor, 0.5 + 0.5 × min(da/90, 5), where da is the material's dopamine sensitivity.
Fast-scan cyclic voltammetry (FSCV)
- Sensitivity [Fit]: S = da × A × blocking factor, where da (µA per µM per cm2) is a material or coating constant. This is the most empirical part of the lab; see section 9.
- Background current [Physics]: the fast 400 V/s sweep charges the double layer, ibg = Ceff × 400 V/s, with Ceff from the CPE at the sweep's frequency.
- Noise [Fit]: σ = √((100 pA)2 + (0.0006 × ibg)2). A big background makes background subtraction noisier.
- Calibration [Fit + analysis]: i = S c / (1 + c / 25 µM) plus noise. The saturation term mimics adsorption sites filling up. A straight line is fitted through the low concentrations, and the limit of detection is LOD = 3σ / slope.
- Voltammogram shape [Fit]: a Gaussian oxidation peak near +0.6 V and a reduction peak near −0.2 V, shifted by iR drop.
- Release and uptake [Physics]: after a stimulated release, dopamine is cleared by the transporter following Michaelis–Menten kinetics: dc/dt = −Vmax c / (Km + c), with Vmax = 4 µM/s and Km = 0.2 µM.
- Interferents [Fit]: ascorbate appears at 1% of its concentration in FSCV (80% in amperometry), times the coating's anion pass-through (Nafion repels anions).
2.6 Glutamate (enzyme sensor with a sentinel)
- Sensitivity [Fit]: 3 × A × peroxide activity × enzyme activity (× √roughness / 2 when roughness exceeds 1.8). Glutamate oxidase makes hydrogen peroxide, and the electrode oxidises the peroxide.
- Ascorbate on every site [Physics × Fit]: the disk equation 4nFDrC × roughness × 0.4 × anion pass-through.
- Response time [Fit]: τ = 3 s + 20 s × enzyme thickness (µm), applied to concentration steps as 1 − exp(−t/τ).
- Ageing [Fit]: enzyme activity halves every 14 days.
- Sentinel subtraction [analysis]: a site without enzyme sees only the interferents. Subtracting it from the enzyme site leaves the glutamate signal, as in real labs.
2.7 Recording spikes
- Thermal noise [Physics]: any resistance makes Johnson noise. The lab integrates over the spike band: vn2 = ∫ 4 kB T Re(Z(f)) df from 300 to 6,000 Hz, using the electrode's own impedance. Fixed amplifier (3 µV) and biological background (9 µV) noise are added in quadrature: v = √(vn2 + 32 + 92).
- Signal loss to the amplifier [Physics]: the electrode and the amplifier's input form a voltage divider: gain = |Zin| / |Zin + Zelectrode|, with Zin = Ramp in parallel with (Camp + Cpar). High-impedance sites lose signal.
- Spike size versus distance [Fit]: amplitude = 400 µV / (1 + d / 12 µm) × 1 / (1 + (r / (d + 10 µm))2). The second factor is spatial averaging: a site much larger than the neuron's distance averages the spike away.
- Spike timing [Physics]: a Poisson process with a 2 ms dead time (refractory period).
- Detection [analysis]: threshold at 4.5σ, with the noise estimated robustly as σ = median(|x|) / 0.6745, the standard method in spike sorting.
- Scar tissue [Fit]: thickness = (8 + 45 × stiffness factor × √size) × (1 − e−weeks/2.2) µm, added to the neuron distance. Stiff, large probes scar more.
2.8 A month in saline (soak test)
- Insulation lifting [Fit + Luck]: the time until the insulation lifts is random, with a hazard rate proportional to (1.4 − adhesion × quality) / √thickness × (1 + 4 × pinhole chance). Poor adhesion and thin, pinholed insulation fail sooner.
- After lifting [Fit]: saline creeps under the insulation, so |Z| falls as 1 / (1 + days since lifting). A base metal that corrodes eventually goes open circuit (|Z| × 30).
2.9 Insertion
- Buckling [Physics]: the shank is a column. Euler's critical load is Pcr = π2 E I / L2, with I = w t3 / 12 (the second moment of area of a rectangular shank of width w and thickness t), E the substrate's Young's modulus and L the free length.
- Insertion force [Fit]: 5 × 105 N/m2 × tip cross-section + 30 µN.
- The probe buckles if Pcr is smaller than the insertion force. Because I goes as t3, thin flexible probes buckle easily.
3. Supercapacitor lab
3.1 Materials
Each electrode material has a specific surface area (m2/g), conductivity, density, pseudocapacitance (F/g), micropore fraction and cycle life. Treatments (annealing, chemical reduction, acid, nitrogen doping) multiply these properties. Each electrolyte has a conductivity κ, a voltage window, an areal double-layer capacitance and an ion size.
Specific capacitance [Physics, simplified × Fit]:
cEDL = SSA × utilisation × carea × access, with access = 1 − 0.9 × micropore fraction × ion size
cspec = cEDL + cpseudo (F/g)
SSA is the specific surface area, utilisation the fraction the electrolyte wets, carea the electrolyte's double-layer capacitance per area (about 0.07 to 0.12 F/m2). Big ions cannot enter micropores, which is what the access factor captures.
3.2 Planar interdigitated chip
The two electrodes are side by side on the chip, and the lab measures them from your drawing.
- Mass [Physics]: m = density × exposed electrode area × film thickness, summed over each electrode.
- Cell capacitance [Physics]: the two electrodes are in series, C = C+ C− / (C+ + C−), with each C = cspec × m × quality. For identical electrodes this is cspec × mtotal / 4.
- Electrode resistance [Physics, numerical]: the sheet-resistance solve of section 1.5 from each pad into its electrode, with current drawn evenly over the electrode area.
- Gap resistance [Physics]: every facing edge between the + and − electrodes is a strip of electrolyte in parallel: 1/Rgap = Σ κ × tc × (edge length) / (gap), where tc is the film thickness plus 20 µm of electrolyte above it.
- Pore resistance [Fit]: Rpore = 6ρ × path / accessible area, where the path is the shorter of the film thickness and half the finger width.
- ESR [Physics, porous-electrode convention]: ESR = Rcontact + R+ + R− + Rgap + Rpore/3. The factor 1/3 is the low-frequency limit of a porous electrode (de Levie).
- Shorts [Fit + Luck]: particles bridge gaps following a 1/d3 size law, pinholes in insulation join layers, and resist residue bridges fingers. These combine as p = 1 − (1 − pparticles)(1 − ppinhole)(1 − plitho).
- Cycle life [Fit]: material × electrolyte × exp(−(t − 15 µm) / 30 µm) for thick films (they crack) × adhesion. Exposed non-noble collector metal corrodes and shortens life.
3.3 Coin, pouch and jelly roll cells
Here the drawing is one electrode sheet (the coating on its foil). The cell is built from two identical sheets facing each other across a separator.
- Facing area [geometry]: Af = Asheet × number of faces. Coin cell: 1 face. Pouch with n sheets per electrode: 2n − 1 faces. Jelly roll: 2 faces, because both sides of each strip touch the separator once wound.
- Capacitance [Physics]: C = cspec × melectrode × quality / 2 (two equal electrodes in series).
- Separator resistance [Physics]: Rsep = ρ × NM × tsep / Af. NM is the MacMullin number, tortuosity2 / porosity: how many times more resistive the soaked separator is than the bare electrolyte. About 2 for glass fibre, 4 for cellulose, 8 to 10 for polyolefin membranes. Hydrophobic separators with water-based electrolytes get NM × 2.5 [Fit].
- Pore resistance [Physics + Fit]: Rpore = 2ρ × Nfilm × tfilm / Af, with Nfilm = 3(1 + 2 × micropore fraction × ion size). It enters the ESR as Rpore/3.
- Through the film [Physics]: Rfilm = 2 tfilm / (σfilm Af).
- Foil carrying current to the tab [Physics]: Rcol = 2 × Rsheet × (path / width) / 3. The 1/3 comes from current being collected evenly along the sheet. Pouch: the path runs down the sheet, and n sheets are in parallel. Jelly roll: the path is the whole strip length, with one tab at the end, which is why long strips add resistance. Coin cell: the current passes straight through into the case. With no foil, the film's own sheet resistance carries the current.
- Contacts [Fit]: coin cell 0.4 Ω (spring, spacer and case; +0.6 Ω with no foil); pouch and jelly roll 10 mΩ (welded tabs).
- ESR = contacts + Rcol + Rfilm + Rsep + Rpore/3.
- Size [geometry]: coin cell is a CR2032 case (20 mm × 3.2 mm, 2.6 g). Pouch stack thickness = 2n tfoil + faces × (2 tfilm + tsep), plus 5 mm seals. Jelly roll diameter D = √(Dmandrel2 + 4 L tturn / π), with tturn = 2 tfoil + 4 tfilm + 2 tsep: the cross-section of the roll equals the strip length times one turn's thickness.
- Cell mass [estimate]: active film + aluminium foil + separator + electrolyte (1.2 g/cm3, filling 60% of the film and the separator's pores) + case. Used for Wh/L, Wh/kg and W/kg.
- Shorts [Fit + Luck]: p = 1 − exp(−defects × Af × (1 + tfilm / 100 µm)). Defects per cm2: cellulose 2 × 10−5, polypropylene 5 × 10−5, thin polyethylene 5 × 10−4, glass fibre 0. A coin electrode wider than the 19 mm separator always shorts.
The default templates give about 0.15 F and 1.3 Ω (coin), 33 F and 12 mΩ (pouch, 10 sheets), and 21 F and 21 mΩ (jelly roll, 14 × 48 mm can). A commercial 18650-size cell is 25 to 50 F and about 20 mΩ. Energy density is about half of a commercial cell's, because the activated carbon model gives about 45 F/g per electrode where real material gives 100 to 120 F/g.
3.4 Tests (all formats)
Continuity check: a short reads its short resistance, a lost device reads open, a good device reads open but charges.
Cyclic voltammetry [Physics + Fit for the shape]: the device is a resistor (ESR) in series with a capacitor C(V), plus a leakage resistor Rleak = τsd/C (self-discharge). Driven by a triangle wave, the capacitor voltage follows
dVc/dt = (Vapplied − Vc) / (ESR × C(V)), i = C dVc/dt + Vc/Rleak
C(V) is flat for a pure double layer, so the CV is a rectangle. Pseudocapacitance adds a Gaussian hump in the middle of the window. A large ESR × C time constant rounds the corners and tilts the box.
Capacitance from the CV [Physics, analysis]: C = ∫ |i| dV / (2 ν ΔV), the total charge in the loop over twice the sweep.
Galvanostatic charge–discharge (GCD) [Physics]: a fixed current I flows in and out. dVc/dt = ± I / C(V), and the terminal reads V = Vc ± I × ESR. Reversing the current makes a sudden drop of 2I × ESR (the IR drop). The lab extracts
C = I × tdischarge / (Vmax − IR drop), ESR = IR drop / 2I, coulombic efficiency = tdischarge / tcharge
Impedance (EIS) [Physics]: the de Levie transmission line describes ions moving into a porous electrode:
Z = Rs + (Rp / √(jωRpC)) × coth √(jωRpC) + Rct ∥ Ci
Rs is the series resistance (ESR minus Rp/3), Rp the pore resistance, and Rct ∥ Ci a small charge-transfer arc for pseudocapacitive materials. On a Nyquist plot this gives the left intercept (Rs), a 45° line (ions diffusing into pores) and then a near-vertical rise (an ideal capacitor). The capacitance at 10 mHz is C = 1 / (2πf × |Z″|).
Rate sweep: CV at 1 to 1000 mV/s. Capacitance falls at fast scans when ESR × C is long compared with the sweep time.
Ragone sweep: GCD at many currents. Energy = ∫ V I dt during discharge; average power = energy / discharge time.
Cycling [Fit]: retention = 100% × exp(−n / life), with life shortened when operating above 90% of the voltage window.
Headline metrics [Physics]: energy E = ½ C V2, peak power P = V2 / (4 ESR) (maximum power transfer into a matched load).
4. Glucose sensor (continuous glucose monitor)
The sensor is an electrode under stacked films: an enzyme layer (glucose oxidase), an outer membrane that limits glucose, and often an inner film that rejects interferents. In the body it is wrapped in a fibrous capsule.
- Diffusion through the films [Physics]: each film is a mass-transfer resistance in series, R = Σ (cover × t / D), computed separately for glucose and oxygen (oxygen diffuses much faster). A stagnant boundary layer, the capsule and fouling add more resistance. Permeability P = 1/R.
- Enzyme kinetics [Physics]: glucose oxidase uses glucose and oxygen (ping-pong mechanism):
rate = V × Ge/(Kg + Ge) × Oe/(Ko + Oe)
where Ge and Oe are the concentrations inside the enzyme layer, and V = capacity per µm × thickness × activity. For an osmium-wired (mediated) enzyme, oxygen only competes: rate = V × Ge/(Kg + Ge) × (1 − 0.25 O/(O + 0.05)). - Steady state [Physics, numerical]: supply by diffusion must equal consumption by the enzyme: Ge = G − rate/Pg and Oe = O − rate/Po. The lab finds the rate that satisfies both by bisection. This is why the outer membrane matters: limiting glucose keeps the sensor linear and stops it running out of oxygen (the "oxygen deficit").
- Current [Physics × Fit]: i = 2 F A × roughness × rate × η. Two electrons per hydrogen peroxide molecule. The collection efficiency η is a sigmoid in potential around the metal's peroxide oxidation onset (or the mediator's potential), times how much peroxide the inner films let through.
- Interferents (acetaminophen, ascorbate, urate) [Physics × Fit]: each diffuses through the films with conductance k = 1/(1/ks + R), is reduced by each film's rejection, 1 − rej × (1 − e−t/tref), and only oxidises above its own potential (a sigmoid gate). Current i = 2 F A × roughness × activity × k × c.
- Response time [Physics]: diffusion across a film of thickness t takes about t2/(2D), so τ = Σ t2/(2D) over the films, capsule and boundary layer.
- Counter electrode limit [Fit]: a counter electrode that is too small cannot pass the current, so imeasured = ilim × tanh(i / ilim).
- Noise [Fit]: σ = √((20 pA)2 + (0.3% × i)2).
- Wear over days [Fit]: enzyme half-life, capsule growth, a first-day oxygen dip, insulation lifting and reference electrode drift.
- Accuracy [analysis]: a linear calibration; two-point fingerstick calibration; and MARD (mean absolute relative difference) against a simulated day of blood glucose, the standard accuracy measure for CGMs.
5. Transistors (MOSFET and BioFET)
- Gate capacitance [Physics]: the drawn dielectric layers are capacitors in series: 1/Cg = Σ t / (ε0 ε) per area.
- Gating through a liquid [Physics]: ions screen charge over the Debye length, λD = 0.304 / √I nm, where I is the ionic strength in mol/L (0.7 nm in 1× PBS, about 8 nm in 0.01× PBS). The double layer is a Stern layer (0.2 F/m2) in series with a diffuse layer (ε0 × 78 / λD).
- Threshold voltage [Physics]: set by the work-function difference between gate metal and semiconductor, fixed charge in the dielectric divided by Cg, and interface traps.
- Drain current [Physics, compact model + numerical]:
- Smooth turn-on: Vov = n φT × ln(1 + eVGS/(n φT)) (the softplus), where φT = kT/q and n is the subthreshold factor set by interface traps. This gives exponential current below threshold and linear above.
- Mobility falls with gate field: μeff = μ0 / (1 + 0.1 Vov).
- ID = Gch × (Vsat/2) × tanh(2VDS/Vsat) × (1 + λVDS): linear at small VDS, saturating at large VDS, with channel-length modulation λ.
- Gch is computed over your actual drawn channel on the pixel grid, so odd channel shapes and partly gated regions are handled.
- Source and drain series resistance are included by iterating until the voltages are consistent.
- Contacts [Fit]: a Schottky-like barrier set by the metal's work function against the semiconductor's electron affinity.
- Extraction [analysis]: peak transconductance gm = dID/dVGS, threshold by linear extrapolation, field-effect mobility μ = gm L / (W Cg VDS), and subthreshold swing (mV per decade).
- BioFET sensing:
- pH [Physics]: threshold shift ΔV = 0.0592 V × β × (pH − 7.4). 59.2 mV per pH unit is the Nernst limit at 25 °C, and β is the surface's response (about 0.9 for Al2O3, 0.85 HfO2, 0.8 Si3N4, 0.4 SiO2, 0.1 for polymers).
- Redox ratio [Physics]: ΔV = −0.9 × 0.0592 × log10([ox]/[red]), the Nernst equation.
- Charged targets [Physics]: binding follows a Langmuir isotherm, Γ = Γmax × c/(Kd + c). The shift is ΔV = −q z Γ / Cdl × e−h/λD, where h is the receptor height. The exponential is Debye screening: charges farther than a few Debye lengths are invisible, which is why dilute buffer helps.
- Noise [Fit]: trap noise σ ∝ 1/√(W L), plus a drift floor for unstable channels. Limit of detection = first concentration whose shift exceeds 3σ.
- Stability [Fit]: drift from ion uptake into the dielectric and charge trapping under bias.
6. MEMS (accelerometer, gyroscope, micromirror)
- Structure [Physics, finite elements]: every thin spring beam is an Euler–Bernoulli beam element with a 12 × 12 stiffness matrix (stretching, twisting and bending in two planes). Large blocks such as the proof mass are rigid bodies, comb fingers add mass, and anchors are fixed.
- Resonant modes [Physics]: K φ = ω2 M φ, solved for the eigenvalues with the Jacobi method; f = ω/2π. K is the stiffness matrix, M the mass matrix, φ the mode shape.
- Static response [Physics]: K u = F for an applied acceleration or force. Stress in each beam comes from its end displacements; a beam breaks above its fracture strength.
- Release etch [Physics, simplified + Luck]: HF etches a set distance (rate × time) in from open edges and release holes. Oxide that is not reached holds the part down. Stiction during drying depends on the meniscus forces, the drying method and dimples.
- Sensing capacitance [Physics]: each pair of facing comb fingers is a parallel-plate capacitor, C = ε0 A / g, summed with near and far gaps for differential sensing.
- Electrostatic spring softening [Physics]: a bias voltage pulls the plates and reduces the effective stiffness by ½ V2 ∂2C/∂x2. Large motions stiffen the beams as they stretch.
- Air damping [Physics]:
- Gas slip in micron gaps: the Knudsen number Kn = 0.068 µm / g, and viscosity is reduced by 1 / (1 + 9.638 Kn1.159) (Veijola's correction).
- The proof mass over the substrate: Couette (sliding) damping b = μ A / g.
- Comb fingers: squeeze-film damping for motion across the gap, b ≈ ½ μ l t3 / g3, and Couette damping for motion along it, b = μ l t / g. Squeeze film grows as 1/g3, so it dominates for narrow gaps.
- Quality factor Q = m ω0 / b. Lowering the pressure (vacuum packaging) lowers μ and raises Q.
- Accelerometer [Physics]: displacement x = a / ω02, so softer springs are more sensitive but slower. Bandwidth is the −3 dB point of the second-order response. Brownian noise acceleration: an = √(4 kB T b) / m per √Hz, plus electronic noise.
- Gyroscope [Physics]: the comb drive force F = Vdc Vac dC/dx drives the mass at resonance with velocity v. Rotation at rate Ω produces the Coriolis force F = 2 m Ω v at right angles, which the sense combs pick up. Quadrature error comes from cross-stiffness. Rate noise = √(4 kB T b) / (2 m A ω).
- Micromirror [Physics + Fit]:
- Electrostatic torque τ = ½ V2 dC/dθ, integrated over the electrode area.
- Pull-in: past a critical voltage, the electrostatic torque grows faster than the torsion spring k θ can resist, and the mirror snaps down.
- Dynamics: J θ″ + c θ′ + k θ = τ(V, θ), integrated in time with a hard stop where the mirror lands.
- Damping from the squeeze film under the tilting plate, reduced by holes.
- Curl from film stress (Stoney's equation) and the polysilicon stress gradient.
- Hinge fatigue [Fit]: cycles to failure = 109 × (0.5 / (stress ÷ strength))8, a steep S–N curve.
7. Sand to Chip virtual foundry
8.1 Sand sorting and cleaning [Fit]
The pile is a seeded random arrangement of grain types (quartz, feldspar, iron-stained grains, heavy minerals and so on) for the chosen site. Hand-picking removes grains, and each cleaning stage (magnetic separation, washing, flotation, acid leaching) removes a set share of each grain type or converts it. The result is the pile's mass fractions of silica, iron, aluminium, titanium, calcium, boron and phosphorus, in ppm.
8.2 Arc furnace: making metallurgical silicon
The reaction is SiO2 + 2C → Si + 2CO. The chemistry needs 40 kg of carbon per 100 kg of silica.
- Silicon recovered [Physics + Fit]: mSi = mSiO2 × (28.086 / 60.084) × ρ. The first factor is the mass fraction of silicon in silica. The recovery ρ = 0.9 × ηC × ηT × (1 − SiO loss), where:
- ηC = exp(−((C per 100 kg − 42)/11)2): too little or too much carbon lowers the yield.
- ηT = 1 / (1 + e−(T − 1900 °C)/45): the furnace must be hot enough.
- SiO loss = 0.2 × ((T − 2050)/250)2 above 2050 °C: too hot and silicon escapes as SiO gas.
- Impurities [Fit]: each impurity comes from the sand and from the carbon's ash, and a set fraction ends up in the silicon (iron 85%, aluminium 60%, titanium 80%, calcium 25%, boron 90%, phosphorus 60%). Purity = 100% − total ppm / 104 − 0.35%.
- Energy [Fit]: kWh per kg = (11.5 + 0.012 (T − 1900)) × (0.9/ρ)0.8. CO2 = 0.4 kg per kWh + 3.67 kg per kg of carbon burned (the mass ratio of CO2 to C).
8.3 Siemens process: purifying to polysilicon
- Distillation [Fit]: silicon is turned into trichlorosilane and distilled in n stages. Each stage divides the metals by fmetal = 60 / (1 + load/104) and the dopants by fdopant = 10 / (1 + load/(4 × 104)), so impurity after = impurity before / fn, down to a floor of 0.05 ppb (metals) and 0.02 ppb (boron, phosphorus). A dirty feed overloads each stage. Boron and phosphorus are hard to remove because their chlorides boil close to trichlorosilane.
- Deposition quality [Fit]: q = exp(−((Trod − 1080 °C)/40)2) × exp(−(max(0, rate − 0.9)/0.5)2). Rough "popcorn" deposits from the wrong temperature or a fast rate trap more iron and aluminium (× (1 + 1.5(1 − q))).
- Purity in nines [Physics]: nines = −log10(total impurity fraction). 9 nines means 99.9999999% pure.
- Dopant atoms per cm3 = ppb × 5 × 1013 (silicon has 5 × 1022 atoms per cm3).
8.4 Czochralski crystal growth
- Point defects: Voronkov's rule [Physics]: the ratio of pull speed v to temperature gradient G decides which defect wins. The critical speed is vcrit = 0.13 × G. Pulling faster than this leaves vacancies (voids), slower leaves interstitials (dislocation loops), and near vcrit the crystal is "perfect". The defect density grows as (|ln(v/vcrit)| − 0.08)1.5 outside the perfect window [Fit]. An advanced hot zone raises G by 25%.
- Oxygen [Fit]: the quartz crucible dissolves, so oxygen = 6 + 10√(rotation/10) ppma. A little oxygen helps trap metals (gettering); above 17 ppma it forms precipitates that kill dies.
- Dislocations [Fit]: the chance of a dislocation-free crystal is exp(−(v/vmax)4) × (0.6 + 0.4q), so pulling too fast for the diameter ruins the ingot.
- Mobility and resistivity [Physics, empirical fit to measured silicon]: μn = 90 + 1250 / (1 + (N / 8.5 × 1016)0.72) and μp = 50 + 420 / (1 + (N / 1.6 × 1017)0.7) cm2/V·s (the Caughey–Thomas form). Resistivity ρ = 1 / (q μ N). The dopant density needed for your target resistivity is found by bisection.
- Segregation [Physics]: dopant prefers the melt, with segregation coefficient k = 0.8 for boron and 0.35 for phosphorus. Concentration along the ingot follows the Scheil equation, C = k C0 (1 − g)k−1, where g is the fraction solidified. The usable fraction is where resistivity stays within 25% of target: gusable = 1 − 1.251/(k−1). Phosphorus (small k) gives much shorter usable ingots.
- Background doping [Physics]: leftover boron and phosphorus from purification count against your target. If they amount to more than 30% of it, or push the wrong way, the ingot is unusable.
- Ingot length [Physics]: length = mass / (2.33 g/cm3 × π (d/2)2). Pull time = length / v, plus 12 hours per run for melting and cooling.
8.5 Wafering
- Wafers per ingot [Physics]: each wafer uses a pitch of crystal = thickness + polish allowance + 40 µm lapping + wire kerf. Wafers sliced = floor(usable length × 0.94 / pitch). Kerf loss = kerf / pitch.
- Breakage [Fit]: 2% + the wire's breakage rate + 0.2 × thinness2, where thinness grows as the wafer drops below 85% of the standard thickness for its diameter.
- Flatness [Fit]: 600 nm / (1 + polish/10). Surface defect density 0.01 + 0.04 e−polish/25 per cm2.
8.6 The transistor process
- Gate oxide: Deal–Grove model [Physics]: dry oxidation grows thickness x from x2 + A x = B t, so x = (−A + √(A2 + 4Bt)) / 2, with the parabolic rate B = 772 e−1.23 eV/kT µm2/h and the linear rate B/A = 6.23 × 106 e−2.0 eV/kT µm/h. For a high-k HfO2 gate, the equivalent oxide thickness EOT = 0.5 nm + tHfO2 × 3.9/25.
- Gate capacitance [Physics]: Cox = 3.9 ε0 / EOT.
- Ion implant [Physics]: the implanted profile is a Gaussian with range Rp = 0.75 nm per keV of energy and straggle ΔRp = 0.35 Rp + 2 nm. Peak concentration = dose / (√(2π) ΔRp).
- Anneal and diffusion [Physics]: the dopant diffuses with D = 22.9 e−4.1 eV/kT cm2/s (arsenic in silicon), so the Gaussian spreads to σ2 = ΔRp2 + 2Dt. The junction depth is where the profile falls to the 5 × 1017 cm−3 background: xj = Rp + σ √(2 ln(Cpeak/NB)).
- Activation [Fit]: only part of the dopant becomes electrically active: f = 1 − e−t/τ, with τ = 3000 e−(T − 800)/30 s, capped by solid solubility. Sheet resistance Rsh = 1 / (q × 70 cm2/V·s × Cactive × xj).
- Threshold voltage [Physics]: the channel implant shifts it by ΔVT = q × dose / Cox.
- Short-channel effects [Physics, simplified]: the characteristic length λ = √(EOT × xj). Drain-induced barrier lowering DIBL = 0.8 VDD e−Lg/(2λ) lowers the threshold. Subthreshold swing = 70 + 400 × DIBL mV/decade. Thick oxides and deep junctions spoil gate control.
- Drive current [Physics, velocity-saturation model]: Ion = Cox vsat Vov2 / (Vov + Ec Lg) per width, with vsat = 107 cm/s, Ec = 2vsat/μ and μ = 200 cm2/V·s (× 0.85 with HfO2). Source/drain resistance Rsd = 0.15 Rsh + 100 Ω·µm reduces it: I = I0 / (1 + I0 Rsd / Vov).
- Leakage [Physics]: off current Ioff = 0.1 µA/µm × 10−VT/S, where S is the subthreshold swing. Gate tunnelling Jg = 106 e−t/0.16 nm A/cm2 for SiO2; HfO2 is about 104 times lower at the same EOT because it is physically thicker.
- Gate delay [Physics]: τ = Cload VDD / Ion, with each gate driving three more.
8.7 The chip, its yield and its cost
- Die area: transistors / density × 1.25, larger if there are too few metal layers to route (congestion). Metal layers needed = 2 + 1.1 log10(N / 105).
- Dies per wafer [Physics, standard formula]: π d2 / (4A) − π d / √(2A), with d the wafer diameter minus 6 mm of unusable edge. The second term counts partial dies lost around the edge.
- Defect density [Fit]: D0 = cleanroom + crystal defects + metal contamination (iron-equivalent ppb, reduced by oxygen gettering) + polishing defects, each scaled up for smaller nodes.
- Defect yield: negative binomial model [Physics, industry standard]: Y = (1 + A D / α)−α with clustering α = 2, computed for every die. Dies near the edge see D × (1 + 1.6 (r/R)4), because wafer edges are dirtier.
- Focus [Fit]: if the wafer is less flat than the scanner's depth of focus, yield falls by 0.5 × (flatness/DOF − 1).
- Clock speed [Physics]: f = 1 / (25 gates deep × τgate / (1 − wire share) × 1.6). Wires take a larger share with higher-k insulation or aluminium wiring.
- Power [Physics]: dynamic P = α N C VDD2 f (switching activity α), plus leakage N × (Ioff W VDD/2 + Igate VDD).
- Binning [Physics + Luck]: the threshold voltage varies from die to die with σVT ∝ √(1/Lg) × √EOT (Pelgrom's law: small transistors vary more). For each sampled die, speed scales as (VDD − VT)1.3 (the alpha-power law) and leakage as 10−ΔVT/S. Dies are sorted into fast, pass, slow and fail. Dies whose oxide or junction depth miss the node's process window fail regardless.
- Packaging and temperature [Physics]: junction temperature Tj = 25 °C + P × θJA, where θJA is the package's thermal resistance. Above 105 °C the chip is throttled to stay within its limit.
- Final yield and cost: good chips = dies × wafers × defect yield × parametric yield × package yield × 0.98 final test. Cost = sand-to-wafer + fab (scaled by wafer area as (d/300)1.5, cleanroom class, masks and options) + probing + packaging + test, divided by good chips. Energy and CO2 are tracked the same way.
8. Quantum Foundry (transmon qubit chips)
- Nets [Physics]: the ground-plane layer is a film with the drawn openings etched away; circuit metal sits inside the openings. Metal that touches is one net. Airbridges join the metal under their two feet; junctions are handled separately, not as wires.
- Capacitance [Physics, simplified]: from every edge of every piece of metal the simulator looks straight out to the first metal it faces. Each facing edge adds the coplanar-waveguide capacitance per length, C′ = 2 ε0 εeff K(k)/K(k′), with k = w/(w + 2g), the gap g and the narrower conductor width w, and εeff = (εr + 1)/2. This gives the capacitance between every pair of nets: the qubit's total capacitance CΣ, its coupling to the resonator, the resonator's coupling to the feedline, and qubit–qubit couplings. A floating double-pad qubit uses the series combination of its two pads.
- Junctions [Physics + Fit]: area = lead width × overlap. Dolan overlap = 2h tan θ − b (resist height h, evaporation angle θ, bridge width b); a Manhattan junction is a square as wide as its lines. Barrier resistance × area = 10 × (pressure × time)0.4 Ω·µm² [Fit, illustrative]. Rn = (R·A)/area, with random edge roughness of a few nanometres. The resistance rises about 12% on cooling.
- Josephson energy [Physics]: Ambegaokar–Baratoff, Ic = πΔ / (2e Rn) with Δ = 0.18 meV for aluminium, and EJ = ħ Ic / 2e. Junctions in parallel (a SQUID) add.
- Transmon [Physics]: EC = e2/2CΣ, f01 ≈ √(8EJEC) − EC, anharmonicity α ≈ −EC. Charge dispersion of the 0–1 line from Koch et al. (2007), which splits the spectroscopy line and makes the Ramsey fringes beat when EJ/EC is small.
- Resonators [Physics]: half-wave lines, f = c / (2ℓ√εeff), with ℓ from the exact union area of the line ÷ its width, pulled down slightly by the capacitors loading it. Coupling quality factor Qc = 2π / (ω Cκ Z0)2 with Z0 = 50 Ω. Feedline transmission |S21| = |1 − (Q/Qc) / (1 + 2iQ δf/f)|.
- Qubit–resonator coupling [Physics]: g = Cg / (2√(CΣ Cr/2)) × √(fq fr). Dispersive shift χ = g2 α / (Δ(Δ + α)), Δ = fq − fr. Qubit–qubit coupling J = C12 / (2√(C1C2)) × √(f1f2).
- T1 [Physics + Fit]: the decay rates add. Surface loss: participation p = 5 × 10−4 × (20 µm / mean gap) times the film's surface loss tangent [Fit: Al 6 × 10−4, Nb 1 × 10−3, Ta 1.5 × 10−4, TiN 2 × 10−4], lowered 30% by an HF dip and raised by resist residue. Substrate: 0.9 × tan δ (silicon 1.5 × 10−7, sapphire 5 × 10−8). Each gives T1 = Q / (2πf). Purcell: T1 = 1 / (2π κ (g/Δ)2). Direct leakage into the feedline: T1 = CΣ / (ω2 Cqf2 Z0/2). Quasiparticles [Fit]: 3 ms with infrared shielding, 200 µs without.
- T2 [Physics + Fit]: 1/T2 = 1/(2T1) + 1/Tφ. Thermal photons in the resonator: Γφ = nth κ (2χ)2 / (κ2 + (2χ)2), with nth = 0.002 (standard) or 0.0003 (extra filtering). Flux noise for SQUID qubits [Fit]: 200 µs. Slow noise that an echo removes [Fit]: 250 µs.
- Collisions [Rule]: coupled qubits collide if they are within 17 MHz, if one's 0→1 is within 20 MHz of the other's 1→2, or if their detuning is less than three times their coupling.
- Box modes [Physics]: f = c / (2√εeff) × √(1/a2 + 1/b2) for an a × b chip.
9. Organ chip lab (brain, gut, lung and kidney barriers)
- Wall shear stress [Physics]: for flow between parallel plates (a channel much wider than it is tall), τ = 6 μ Q / (w h2), where μ is the medium viscosity, Q the flow rate, w the width and h the height. Shallow channels give much more shear for the same flow.
- Pressure and flow regime [Physics]: ΔP = Rhyd × Q, and the Reynolds number Re = ρ v Dh / μ with hydraulic diameter Dh = 2wh / (w + h). Microchannels give Re far below 1, so flow is laminar.
- Tissues [Fit]: each tissue (blood-brain barrier, gut, lung, kidney proximal tubule) offers its own cell types, support cells, coatings and challenges. Each cell type has a best TEER, a time to cover the membrane, a time for its junctions to mature and the shear stress it likes best: about 10 dyn/cm2 for brain endothelium, 0.02 for gut lining, 0.05 for lung lining and 0.5 for kidney tubule cells.
- Cell response to shear [Fit]: barrier tightness rises around the cell type's ideal shear stress τopt (a log-normal bump in ln(τ/τopt)) and falls above 40 dyn/cm2, where cells are damaged.
- TEER over the days [Fit + Physics + Luck]: cell coverage follows a logistic curve centred on the confluence day. Tight junctions mature as 1 − e−t/τtj. Covered and bare membrane conduct in parallel: 1/TEER = cover/Tcells + (1 − cover)/Ropen. Contamination and bubbles happen at random.
- Impedance (EIS) [Physics]: Z = Rs + ZCPE,A + ZCPE,B + (Rb ∥ Cb). Rs includes the medium and the membrane's pores, ρ tm / (porosity × A). The two CPEs are the electrodes, and Rb ∥ Cb is the cell barrier. The lab then fits Rs, Rb, Cb and Q to the noisy spectrum with a simplex (Nelder–Mead) search, as a lab would, and reports TEER = Rb × area.
- Permeability [Physics + Fit]: three barriers in series, 1/P = 1/Pwater + 1/Pmembrane + 1/Pcells.
- Unstirred water layer: P = D / δ.
- Membrane pores, with Renkin hindrance for molecules that nearly fill the pore: φ = (1 − λ)2 (1 − 2.104λ + 2.09λ3 − 0.95λ5), where λ = solute radius / pore radius.
- Cell layer: the paracellular route scales with 1/TEER; lipophilic drugs also cross the cells; P-gp efflux pumps some drugs back out.
- Solute radius from Stokes–Einstein: r = kBT / (6πμD).
- Pressure-driven flow through the pores (Poiseuille): Lp = porosity × r2 / (8 μ t).
10. Where the physics could be tightened
- FSCV dopamine is the most empirical test. At carbon electrodes dopamine adsorbs to the surface, so the FSCV peak follows the surface-confined (Laviron) relation ip = n2 F2 ν A Γ / (4RT), where Γ is the adsorbed amount from an isotherm. The current grows with ν, not √ν, so Randles–Sevcik does not apply. Replacing the constant "da" with Γ from a Langmuir isotherm would make FSCV come from physics like the ferri/ferrocyanide CV does.
- A Randles–Sevcik and Nicholson readout on the CV test: show the measured peak next to the Randles–Sevcik prediction, a baseline-corrected peak, and k0 estimated from the peak separation.
- Radial diffusion at small disks: adding the steady-state disk term 4nFDrC to the planar diffusion simulation would make microelectrodes behave correctly at slow scans.
- Calibrate against real data: one measured impedance at 1 kHz and one CV per material and site size would let the material tables be fitted rather than estimated.
Spotted an error in an equation? Send feedback and choose "Course content issue". Corrections are read and fixed.