It is the most common surprise in microfluidic design, and it catches experienced people. You draw four identical branches off a common channel, you send in 4 µL/min, and you expect 1 µL/min down each one. Then you run the chip and the first branch is doing nearly twice the work of the last.
Nothing is wrong with the fabrication. The design is wrong, and it is wrong for a reason you can calculate in a few seconds.
The manifold is a resistor too
The mental model that causes the problem is a plumbing diagram in which the distribution channel is just a wire — a thing that carries fluid to the branches without consuming anything. Real channels are not wires. The manifold has a hydraulic resistance of its own, and every segment of it between one take-off and the next drops a little pressure.
So the first branch sees the full inlet pressure. The second sees that pressure minus the drop along one manifold segment. By the fourth, a measurable fraction of your driving pressure has already been spent getting there. Each branch has the same resistance, but they are not being driven by the same pressure — and flow follows pressure difference.
Depth is cubed. Width is not.
Read that expression again and notice the asymmetry: resistance goes as 1/w but as 1/h³. Depth dominates, and it dominates violently.
A 5% error in channel width changes resistance by about 5%. A 5% error in depth changes it by about 16%. Depth is also the dimension you control least well — you draw width, but you inherit depth from the process.
In soft lithography depth is set by spin speed and bake; in CNC by tool and pass depth; in injection moulding by the tool and the shrinkage. So a layout that balances perfectly on paper can arrive from the fab unbalanced, purely because the depth came out 3 µm shy across one side of the wafer. If your design has no margin against that, the margin does not exist.
Three ways out, and what each one costs
Make the manifold cheap compared with the branches
The classic fix, and usually the right one. If the manifold resistance between take-offs is small relative to a branch, the pressure differences between take-off points become negligible. A workable rule of thumb is branch resistance at least ten to twenty times the segment resistance — widen and deepen the manifold, shorten it, or both. The cost is footprint and dead volume, which is why it is a trade-off rather than a free lunch.
Grade the branches deliberately
If you cannot afford the manifold, compensate: make the near branches slightly more resistive and the far branches slightly less, so equal flow comes out of unequal geometry. This balances beautifully at one operating point. Be clear about what you are buying — a graded design is tuned to a flow rate and a fluid, and it drifts when either changes.
Use a symmetric tree instead of a manifold
Split 1 → 2 → 4 with identical path lengths, so every outlet is reached by an identical sequence of channels. This is the most robust answer, because symmetry survives uniform process error: if the whole wafer comes out 3 µm shallow, every path changes together and the split stays even even though the total flow does not. It costs area, and it only works for powers of two unless you get creative.
Check it before you commit a wafer
All of this is first-year network hydraulics, and that is precisely the point: it does not need CFD, it needs ten seconds. Build the network, assign the real widths, depths and lengths, solve, read the outlet flows. If the spread is unacceptable, change a number and solve again. The loop is short enough that you can explore twenty variants before lunch, which is a very different activity from waiting on a mesh.
Then do one more thing that almost nobody does: ask what happens when the depth is 3 µm off. A tolerance sweep on the dimension you control least tells you whether your balanced design is actually robust, or merely lucky.
See it on a real chip
The flow-balancer sample is the four-branch manifold above. Open it, read the outlet flows, widen the manifold, and watch the spread collapse — in your browser, in about a minute.
Open this example in your browser →The complete product runs client-side. Nothing to install, nothing uploaded. Subscriptions from $79/month; academic labs pay half.