Skill Tracer
Skills › Scientific Agent Skills › lab-hardware-cad › microfluidics.md

microfluidics.md

167 lines · skills/lab-hardware-cad/references/microfluidics.md at 5f2bc03

Open on GitHub

Most marks come from matching words in the file, so treat them as pointers.

1# Microfluidic chips, molds, and flow cells
2
3Channel networks, soft-lithography molds, printed chips, gaskets, and manifolds.
4

Microfluidic chips, molds, and flow cells

Channel networks, soft-lithography molds, printed chips, gaskets, and manifolds.

Raw lines 1 to 4
5## First: decide what you are actually modelling
6
7This is the error that wastes the most time in microfluidic CAD. Three different objects get
8called "the chip":
9
10| Object | Channels are | Made by |
11| --- | --- | --- |
12| **Mold / master** | **Raised ridges** (positive relief) | Photolithography on a wafer, SLA print, or micromilling |
13| **Cast chip** | **Recessed grooves** (negative of the mold) | PDMS cast against the mold, then bonded to a substrate |
14| **Directly-fabricated chip** | **Recessed grooves or enclosed lumens** | Printed, milled, or laser-cut directly |
16A model that is correct as a chip is exactly wrong as a mold. Put the polarity in the module
17docstring and in a named parameter, and **verify it numerically, not by eye**: inverted polarity
18is invisible in the bounding box, the volume, and the validity check — and at typical channel
19scale (a 0.3 mm ridge on a 40+ mm part) it is invisible in an outline render too, because raised
20and recessed features draw the same edges. Declare it as geometry checks instead
21(`references/build123d-patterns.md`): a `material` region where the ridge must stand above the
22casting surface, and a `clear` region over the rest of that layer — a groove fails the first,
23an inverted full-area layer fails the second. For a one-off question,
24`check.py probe <step> --box ... --expect material` answers it without editing the model. State
25the measured relief height in the report. Use the snapshot for visible layout; verify hidden channel connectivity with
26sections and a connected void/gauge model, then a physical flow/leak test.
28```python
29polarity = "mold" # "mold" = raised ridges; "chip" = recessed grooves
30```
32If casting PDMS, the mold also needs a **surrounding wall or a casting frame** to contain the
33uncured polymer, and enough flat land around the features for the cast part to release.

First: decide what you are actually modelling

This is the error that wastes the most time in microfluidic CAD. Three different objects get called "the chip":

ObjectChannels areMade by
Mold / masterRaised ridges (positive relief)Photolithography on a wafer, SLA print, or micromilling
Cast chipRecessed grooves (negative of the mold)PDMS cast against the mold, then bonded to a substrate
Directly-fabricated chipRecessed grooves or enclosed lumensPrinted, milled, or laser-cut directly

A model that is correct as a chip is exactly wrong as a mold. Put the polarity in the module docstring and in a named parameter, and verify it numerically, not by eye: inverted polarity is invisible in the bounding box, the volume, and the validity check — and at typical channel scale (a 0.3 mm ridge on a 40+ mm part) it is invisible in an outline render too, because raised and recessed features draw the same edges. Declare it as geometry checks instead (references/build123d-patterns.md): a material region where the ridge must stand above the casting surface, and a clear region over the rest of that layer — a groove fails the first, an inverted full-area layer fails the second. For a one-off question, check.py probe <step> --box ... --expect material answers it without editing the model. State the measured relief height in the report. Use the snapshot for visible layout; verify hidden channel connectivity with sections and a connected void/gauge model, then a physical flow/leak test.

polarity = "mold"   # "mold" = raised ridges; "chip" = recessed grooves

If casting PDMS, the mold also needs a surrounding wall or a casting frame to contain the uncured polymer, and enough flat land around the features for the cast part to release.

Raw lines 5 to 34
35## Channel cross-section and aspect ratio
37Channels are usually rectangular because that is what planar fabrication produces. Two failure
38modes bound the aspect ratio, and both depend on mechanics as well as geometry:
40- **Roof sag / collapse** — a channel much wider than it is tall has an unsupported ceiling. In
41 PDMS the roof bows down and can stick to the floor. Commonly cited guidance keeps
42 **width : height below roughly 10 : 1**; wide channels need support pillars.
43- **Sidewall collapse** — a mold ridge much taller than it is wide falls over or fails to release.
44 Keep **height : width below roughly 10 : 1** on the mold.
46Treat both as rules of thumb, not guarantees: the real limits depend on PDMS mixing ratio, cure
47schedule, and applied pressure. For anything load-bearing or high-pressure, prototype.
49Also keep **channel-to-channel spacing at least the channel height**, so the wall between two
50channels does not deflect or leak, and leave a flat **bonding land** — typically 1 mm or more of
51uninterrupted flat surface around the network perimeter — for plasma or adhesive bonding.

Channel cross-section and aspect ratio

Channels are usually rectangular because that is what planar fabrication produces. Two failure modes bound the aspect ratio, and both depend on mechanics as well as geometry:

  • Roof sag / collapse — a channel much wider than it is tall has an unsupported ceiling. In PDMS the roof bows down and can stick to the floor. Commonly cited guidance keeps width : height below roughly 10 : 1; wide channels need support pillars.
  • Sidewall collapse — a mold ridge much taller than it is wide falls over or fails to release. Keep height : width below roughly 10 : 1 on the mold.

Treat both as rules of thumb, not guarantees: the real limits depend on PDMS mixing ratio, cure schedule, and applied pressure. For anything load-bearing or high-pressure, prototype.

Also keep channel-to-channel spacing at least the channel height, so the wall between two channels does not deflect or leak, and leave a flat bonding land — typically 1 mm or more of uninterrupted flat surface around the network perimeter — for plasma or adhesive bonding.

Raw lines 35 to 52
53## Minimum features by process
55Achievable feature size drives the entire design, and the range across processes is three orders
56of magnitude. Confirm against your specific tool before committing.
58| Process | Practical minimum channel | Notes |
59| --- | --- | --- |
60| SU-8 photolithography | ~1-10 µm wide, 1-200+ µm tall | The reference process for soft lithography. Feature height is set by spin speed and resist grade. |
61| Two-photon / µSLA | ~10-50 µm | Small build volume, slow, expensive. |
62| Desktop SLA / DLP | ~200-500 µm | Uncured resin is very hard to clear from smaller lumens. Enclosed channels below ~0.5 mm frequently print blocked. |
63| Micromilling | ~100 µm | Set by end-mill diameter; depth limited by tool aspect ratio. Leaves tool marks that scatter light. |
64| FDM | No general sealed-channel minimum | Leakage and roughness depend on process; use validated leak/flow coupons before wetted use. Holders are less demanding. |
65| Laser-cut film / gasket | ~200 µm | Excellent for stacked-layer devices and gaskets. |
67**Design enclosed printed channels for drainage.** Every lumen needs a path for uncured resin to
68escape, and orientation on the build plate determines whether it drains. If the user is printing,
69say which way up.

Minimum features by process

Achievable feature size drives the entire design, and the range across processes is three orders of magnitude. Confirm against your specific tool before committing.

ProcessPractical minimum channelNotes
SU-8 photolithography~1-10 µm wide, 1-200+ µm tallThe reference process for soft lithography. Feature height is set by spin speed and resist grade.
Two-photon / µSLA~10-50 µmSmall build volume, slow, expensive.
Desktop SLA / DLP~200-500 µmUncured resin is very hard to clear from smaller lumens. Enclosed channels below ~0.5 mm frequently print blocked.
Micromilling~100 µmSet by end-mill diameter; depth limited by tool aspect ratio. Leaves tool marks that scatter light.
FDMNo general sealed-channel minimumLeakage and roughness depend on process; use validated leak/flow coupons before wetted use. Holders are less demanding.
Laser-cut film / gasket~200 µmExcellent for stacked-layer devices and gaskets.

Design enclosed printed channels for drainage. Every lumen needs a path for uncured resin to escape, and orientation on the build plate determines whether it drains. If the user is printing, say which way up.

Raw lines 53 to 70
71## Ports and tubing
73The port is where most chips leak. Options, roughly in order of how common they are in a research
74lab:
76- **Direct tubing insertion** — a bore slightly *under* the tubing OD so the tubing seals by
77 interference. For 1/16 inch OD tubing (1.5875 mm), a bore around 1.5 mm in PDMS is typical. This
78 works in elastomer and fails in rigid printed parts, which crack instead of gripping.
79- **Luer taper** — the standard syringe interface, a **6% taper** (ISO 80369-7:2021 supersedes the
80 legacy ISO 594 series for medical use). Use the selected connector's pressure rating. If you model a Luer taper,
81 get the profile from the standard, not from memory.
82- **Threaded fittings** — flat-bottom **1/4-28 UNF** is the common lab standard for low-pressure
83 fluidics; **10-32 coned** is used at higher pressures. Obtain the fitting's port drawing: thread, seat angle/depth and ferrule are a
84 matched system. A generic heat-set screw insert is not a fluid seal.
85- **Barbs** — reliable with soft tubing and a clamp, bulky.
87Flat-bottom fittings need the specified flat seat; coned fittings and Luer connectors
88seal on different geometries. Model the actual sealing surface and its finish, not
89just a thread or a flat external face. Pressure-test the assembly.

Ports and tubing

The port is where most chips leak. Options, roughly in order of how common they are in a research lab:

  • Direct tubing insertion — a bore slightly under the tubing OD so the tubing seals by interference. For 1/16 inch OD tubing (1.5875 mm), a bore around 1.5 mm in PDMS is typical. This works in elastomer and fails in rigid printed parts, which crack instead of gripping.
  • Luer taper — the standard syringe interface, a 6% taper (ISO 80369-7:2021 supersedes the legacy ISO 594 series for medical use). Use the selected connector's pressure rating. If you model a Luer taper, get the profile from the standard, not from memory.
  • Threaded fittings — flat-bottom 1/4-28 UNF is the common lab standard for low-pressure fluidics; 10-32 coned is used at higher pressures. Obtain the fitting's port drawing: thread, seat angle/depth and ferrule are a matched system. A generic heat-set screw insert is not a fluid seal.
  • Barbs — reliable with soft tubing and a clamp, bulky.

Flat-bottom fittings need the specified flat seat; coned fittings and Luer connectors seal on different geometries. Model the actual sealing surface and its finish, not just a thread or a flat external face. Pressure-test the assembly.

Raw lines 71 to 90
91## Dead volume
93Dead volume dominates the response time of any perfusion or gradient device, and it is trivially
94computable, so compute it rather than estimating:
96```
97V = pi * r^2 * L # round tubing / bore
98V = w * h * L # rectangular channel
99```
101With lengths in mm, these formulas give mm³ = µL. Use **diameter/2** for r.
102Report the volume of every connecting bore alongside the channel network volume. A 20 mm long
1031 mm diameter bore holds ~15.7 µL, which is often larger than the entire channel network it feeds.

Dead volume

Dead volume dominates the response time of any perfusion or gradient device, and it is trivially computable, so compute it rather than estimating:

V = pi * r^2 * L                # round tubing / bore
V = w * h * L                   # rectangular channel

With lengths in mm, these formulas give mm³ = µL. Use diameter/2 for r. Report the volume of every connecting bore alongside the channel network volume. A 20 mm long 1 mm diameter bore holds ~15.7 µL, which is often larger than the entire channel network it feeds.

Raw lines 91 to 104
105## Flow regime sanity check
107Calculate Reynolds number using consistent SI units (kg/m³, m/s, m and Pa·s):
109```
110Re = rho * v * D_h / mu
111D_h = 2 * w * h / (w + h) # hydraulic diameter, rectangular channel
112```
114For water in a 100 µm channel at 1 mm/s, Re is of order 0.1 — laminar. Transverse transport in a straight channel is mainly diffusive;
115chaotic advection can enhance laminar mixing. If the design depends on mixing, it needs a mixer geometry (serpentine,
116herringbone, or split-and-recombine); relying on turbulence will not work at these scales.
118For a long, shallow rectangular channel (h << w), steady incompressible Newtonian
119flow with no-slip walls gives Δp ≈ 12 μ L Q / (w h³). At **fixed volumetric flow Q**,
120halving h raises pressure drop about eightfold; at fixed mean velocity the scaling
121is about fourfold. This approximation does not cover entrance losses, compliant
122PDMS walls or non-Newtonian fluids. Compare predicted pressure with the pump and
123weakest connection rating before finalising the cross-section.

Flow regime sanity check

Calculate Reynolds number using consistent SI units (kg/m³, m/s, m and Pa·s):

Re = rho * v * D_h / mu
D_h = 2 * w * h / (w + h)       # hydraulic diameter, rectangular channel

For water in a 100 µm channel at 1 mm/s, Re is of order 0.1 — laminar. Transverse transport in a straight channel is mainly diffusive; chaotic advection can enhance laminar mixing. If the design depends on mixing, it needs a mixer geometry (serpentine, herringbone, or split-and-recombine); relying on turbulence will not work at these scales.

For a long, shallow rectangular channel (h << w), steady incompressible Newtonian flow with no-slip walls gives Δp ≈ 12 μ L Q / (w h³). At fixed volumetric flow Q, halving h raises pressure drop about eightfold; at fixed mean velocity the scaling is about fourfold. This approximation does not cover entrance losses, compliant PDMS walls or non-Newtonian fluids. Compare predicted pressure with the pump and weakest connection rating before finalising the cross-section.

Raw lines 105 to 124
125## Material and optical constraints
127- **PDMS** absorbs small hydrophobic molecules and is gas-permeable. Both are sometimes features
128 (oxygenation in organ-on-chip) and sometimes fatal to an assay (drug studies).
129- **SLA resins** are frequently cytotoxic uncured and often still after a nominal cure. For cell
130 work, require post-cure plus a documented biocompatibility check, or use a different process.
131 See `references/fabrication-limits.md`.
132- **Autofluorescence** matters for any fluorescence readout. Most printed resins autofluoresce
133 strongly. Image through glass or a thin COC/COP film, not through printed material.
134- **Optical path**: printed and milled surfaces scatter. Any imaging window should be a bonded
135 coverslip or film, and the model must specify its thickness so the objective working distance
136 works out.

Material and optical constraints

  • PDMS absorbs small hydrophobic molecules and is gas-permeable. Both are sometimes features (oxygenation in organ-on-chip) and sometimes fatal to an assay (drug studies).
  • SLA resins are frequently cytotoxic uncured and often still after a nominal cure. For cell work, require post-cure plus a documented biocompatibility check, or use a different process. See references/fabrication-limits.md.
  • Autofluorescence matters for any fluorescence readout. Most printed resins autofluoresce strongly. Image through glass or a thin COC/COP film, not through printed material.
  • Optical path: printed and milled surfaces scatter. Any imaging window should be a bonded coverslip or film, and the model must specify its thickness so the objective working distance works out.
Raw lines 125 to 137
138## Checks to run
140```bash
141python scripts/gen.py chip_model.py --outdir out/
142python scripts/check.py facts out/chip.step
143python scripts/snapshot.py out/chip.step --out out/chip.png
144```
146`facts` reports **solid material volume**, not void volume. For a simple blank, compare
147blank volume minus finished solid volume with the intended removed volume, including
148ports and reliefs. Equal volumes do not prove connectivity. Check each channel/port
149with clear gauges or sections and verify connectivity of a separately modelled void.
151Then read the snapshot and confirm, explicitly:
1531. Visible layout and polarity where resolvable; use measured gauges for small relief.
1542. Every port lands on the channel it should, and passes fully through to the surface.
1553. The bonding land is continuous around the network.
1564. No channel has been closed off or consumed by a fillet.

Checks to run

python scripts/gen.py chip_model.py --outdir out/
python scripts/check.py facts out/chip.step
python scripts/snapshot.py out/chip.step --out out/chip.png

facts reports solid material volume, not void volume. For a simple blank, compare blank volume minus finished solid volume with the intended removed volume, including ports and reliefs. Equal volumes do not prove connectivity. Check each channel/port with clear gauges or sections and verify connectivity of a separately modelled void.

Then read the snapshot and confirm, explicitly:

  1. Visible layout and polarity where resolvable; use measured gauges for small relief.
  2. Every port lands on the channel it should, and passes fully through to the surface.
  3. The bonding land is continuous around the network.
  4. No channel has been closed off or consumed by a fillet.
Raw lines 138 to 157
Runs code python scripts/gen.py :141
Runs code python scripts/check.py :142
Runs code python scripts/snapshot.py :143
158## Sources
160- ISO 80369-7:2021, current catalogue record — <https://www.iso.org/standard/79173.html>.
161 The full dimensional/functional standard was not licensed in this review; use a vendor drawing.
162- IDEX fittings guide — <https://www.idex-hs.com/docs/default-source/brochures/fittings-101-guide_forweb3.pdf>.
163- Rectangular Poiseuille-flow treatment — <https://arxiv.org/abs/physics/0412015>.
164- Formlabs process-specific fluidic guidance — <https://formlabs.com/blog/microfluidics-millifluidics-lab-on-a-chip-manufacturing/>.
165 Obtain the taper profile from the standard itself.
166- Aspect-ratio and spacing guidance here is standard soft-lithography practice; the numerical
167 limits are rules of thumb and depend on material and process. Prototype before committing.

Sources

  • ISO 80369-7:2021, current catalogue record — <https://www.iso.org/standard/79173.html>. The full dimensional/functional standard was not licensed in this review; use a vendor drawing.
  • IDEX fittings guide — <https://www.idex-hs.com/docs/default-source/brochures/fittings-101-guide_forweb3.pdf>.
  • Rectangular Poiseuille-flow treatment — <https://arxiv.org/abs/physics/0412015>.
  • Formlabs process-specific fluidic guidance — <https://formlabs.com/blog/microfluidics-millifluidics-lab-on-a-chip-manufacturing/>. Obtain the taper profile from the standard itself.
  • Aspect-ratio and spacing guidance here is standard soft-lithography practice; the numerical limits are rules of thumb and depend on material and process. Prototype before committing.
Raw lines 158 to 167