How To Make Your Own Accurate Test Lungs for Testing Emergency Ventilators

Robert L. Read
11 min readApr 13, 2020

— Alex Izvorski and Robert L. Read

Alex’s test lung set up

Teams building and testing ventilators for COVID-19 need to have “test lungs”. The term “test lung” sometimes means a physical air-tight container with sophisticated instrumentation added, but here we mean just the physical container without the instruments. A test lung is a simulator of a real pair of lungs, but made in such a way that it has standard and stable physical properties. In particular, it should press against air inside it when inflated, just like real lungs, which is called compliance. It should oppose air from moving in or out too fast (just like real lungs which can’t fill or empty instantly) this is called resistance. It is almost impossible to understand how an emergency pandemic ventilator designed to help humans breathe will behave without testing on test lungs. Engineers building prototypes need a way to test on their workbench, even if much more rigorous testing will eventually be needed before a ventilator is used on a patient. This article teaches how to model compliance and resistance, and will be useful if you need to understand those concepts, or if you actually need to test a pandemic ventilator.

(A Commercial test lung with a resistance tube and barbed bleed adapter.)

How Doctors Measure Pressure

For respiration, only pressure differences matter. Breathing is driven not by atmospheric pressure, but by difference in pressure in the airway compared to atmospheric pressure. Although engineers normally use the SI unit of pressure, which is the Pascal, the medical profession usually measures pressure in terms of the height of a column of water it will raise — -hence, centimeters of water, denoted as cmH2O. 1 cmH2O is approximately equal to 98 Pa. It takes 70 cm H2O to make one psi. Breathing pressure differentials almost never go above one psi!

To measure pressure inside an airway, you have to get a pressure meter probe or sensor sealed inside the airway. Adult airways use an international 22mm standard. A barbed bleed adapter is a convenient way to insert a pressure sensor into an airway. This is about the size of ¾” PVC tubing, which is widely available.

A smaller port in the airway makes taking a pressure measurement easier.


Typical healthy lungs have a compliance around 20–50 milliliters/cmH2O. In other words, pushing in 20–50 ml air would raise pressure by 1 cmH2O.

Different lungs or diseases have different compliance curves

The compliance of real lungs is not completely constant. Just like a balloon getting tight as it gets full, the lungs require more pressure to push or pull another milliliter in as they get more full. That is why a plot of pressure vs. volume is a typical S-shaped curve. Some disease conditions make the lungs stiff (low compliance), or even loose (high compliance).

Because applying too much pressure to a patient’s lungs or blowing too much air into them causes serious injury, ventilators have to be tested against realistic compliance and resistance.


Typical healthy lungs also have a resistance around 3–7 cmH2O/(liters/second). Thus, pushing air in at a constant flow rate of 1 liter/second (60 liters per minute) would raise pressure by 3–7 cmH2O (in addition to the change due to compliance).

A realistic test lung is simply a combination of an element with a known resistance and an element with a known compliance.

Commercial Test Lungs

Instrumented commercial test lungs are available, but may be quite expensive, and may not be easy to obtain in the current crisis. Some examples of instrumented test lungs are the Michigan Instruments Model 1600 Test Lung; the IngMar ASL 5000 Breathing Simulator; and the IMT SmartLung.

Even uninstrumented simple plastic test lungs may be hard to obtain in some places during the pandemic. If you are working on a ventilator project and have one of these, great!

If you don’t, this article is for you.

Constructing Your Own Test Lungs

Several ways of constructing test lungs with known resistance and compliance are described in the ISO 10651–5 standard for ventilators. It turns out that some of those don’t require any expensive or difficult to obtain materials or equipment. They work as well as the commercial test lungs, and are suitable for certifying designs.

To calibrate your test lung, you will need a pressure meter or sensor and a way to take a measurement just inside the throat of the test lung, such as by using a CPAP bleed adapter or some other Y-connector or T-connector that you can seal around your pressure meter.

Constructing Compliance from a Glass Vessel

Compliance is measured in milliliters/cmH2O. This may be concisely written as just a C-value without the units, and those units are assumed. The typical adult range is around C20 (+-10), mainly depending on body size and physical condition. Compliance may decrease greatly with conditions that cause the lung tissue to stiffen (eg ARDS).

Values used in the ISO standards (for adults) are:

C50 — large adult

C20 — normal

C10 — unhealthy lungs

Construction: a rigid vessel such as a large glass carboy. The air inside the container acts as a stiff spring.

C50 = 72.5 liter (19 gallon) vessel

C20 = 29 liter (7.5 gallon) vessel

C10 = 14.5 liter (3.8 gallon) vessel

(Inexpensive 41.6 liter or 11 gallon test lung, measured compliance C28)
(Classic adult test lung from from Hill 1965; the 50 liter or 13 gallon glass demijohn inside a wicker basket on the right is the test lung, the device on the left is a pump)

A glass container is probably necessary; most plastic or metal containers of this size may not be rigid enough, and as the walls flex, the C value would change in unpredictable ways. (If you really need to use a plastic container — try one half the size first).

The test lung may be composed of several smaller containers linked together. If the containers are linked with valves, this allows easily changing compliance by opening or closing valves.

In practice, connecting together two or three of the common 5 or 6 gallon carboys such as used in homebrewing or wine making is a good simulation of adult lungs in the C20-C50 range.

Typical brewing carboys
(Vessels of different sizes: 3 to 14 gallons)

Optionally the vessel may be filled with copper mesh, about 1kg (2lb) for the largest size or half that for the smaller sizes. The copper mesh is intended to make the compression of air isothermal by adding a large thermal mass that rapidly equilibrates with the air. If the mesh is omitted, compression is adiabatic instead. The mesh mainly has an effect at very low respiratory rates (0–5 breaths/minute); it is generally not necessary if the test lung is used at normal respiratory rates (>5 breaths/minute).

Safety Note

These suggested vessels are not pressure rated and may fracture at high pressures. The pressure differences used in normal breathing almost never exceed 1 psi, or 70 cmH2O. Compared to bicycle tires or air-powered tools, this is a tiny pressure. There is never a reason to test higher pressures, which may be dangerous.

Do not pressurize over 70cmH2O or 1 psi as such pressures may be both unsafe, and are not realistic for lungs. A pressure limiting valve (pop-off valve) set to 1–2 psi is required. Use a basket or a cloth wrapping around the vessel to catch any fragments if it breaks, and wear eye protection.

Constructing Compliance with Plastic Sheets and Bags

A 2–3 liter inflatable bag (anesthesia bag or similar) sandwiched between two thin flexible sheets of plastic. The sheets of plastic should be connected together on two opposite edges, forming flat springs. The resistance to air flowing in should come (as much as possible) from the bending of the plastic sheets, not from stretching the bag.

The bag would typically inflate only to a thickness of 1–3 cm while in use (in other words it is still mostly flat). Adjust the thickness and length of the plastic to get the right C value (shorter lengths = lower C). A reasonable starting point is to use 12x12 inch, 1/8 inch thick plastic sheets made of HDPE, polypropylene or polycarbonate; but the resulting stiffness of the springs is very dependent on the exact thickness and material, so the dimensions would have to be tuned in each case.

(IMT SmartLung — commercial version of a bag between flat plastic springs; adjustable length of spring changes C value. Price: $650)

To calibrate, iInject 500ml of air using a syringe. Measure the pressure rise immediately after.

C50 should be 10 cmH2O

C20 should be 25 cmH2O

C10 should be 50 cmH2O

Extended calibration: inject air in 100ml increments between 0 and 1000ml; measure the pressure rise and draw a curve.

An example calibration curve from the two carboy setup above:

Constructing Resistance

Because resistance is a function of flow, it is measured in pressure divided by flow, or cmH2O/(liter/second). This may be abbreviated with the letter R and a number without stating the units. The typical adult range is around R5 (+-2). Resistance may increase significantly with any conditions that produce impaired airflow, such as asthma.

There are two kinds of resistances, linear (pressure proportional to flow rate) and “parabolic” (pressure proportional to square of flow rate). Linear resistances are harder to construct, so the equivalent parabolic resistances are described below.

Values used in the ISO standards (for adults) are:

R5 — normal


R50 — very high

In order to construct a flow resistance that models these values, add a thin plate with a small hole to a standard breathing airway. The international standard for airway diameters is 22mm.

(A commercial adapter offering three resistances by having thin plates with 3 different hole sizes.)

Construction: tube with inner diameter of approx 22mm and at least 40mm long, blocked by a thin plate with a hole that restricts flow. The hole should have the following diameters:

R5 = 7.7 mm

R20 = 5.6 mm

R50 = 3.9 mm

In order to calibrate, connect the resistance to a source of pressurized air, with the other side open to the atmosphere. Adjust flow until it is a steady 1 liter per second. Hand-held flow meters are relatively expensive but used in many industries, so you may be able to borrow one. If not, you may have to use a large plastic bag of a known capacity and time how long it takes to fill. Measure the pressure at the inlet to the tube (on the side of the plate the air is coming from).

Compared to the atmospheric pressure in the room, the pressures should be:

R5 should be 5 cmH2O nominal (2.7 cmH2O for parabolic)

R20 should be 20 cmH2O (17.6 cmH2O for parabolic)

R50 should be 50 cmH2O (6.8 cmH2O for parabolic, measured at 0.25 liters per second)

(note: the specs for parabolic resistance above come from an older standard, ASTM F920–93, table A2.2)

In order to perform extended calibration adjust flow to 0.25, 0.5 and 1 liters per second, measure the pressure at each flow and draw a curve.

The actual value is likely to be different due to small changes in geometry, etc. Adjust the hole size if needed, or simply use several different sizes with known measured R-values for testing.

Other approaches

When it comes to simulating lungs, the perhaps obvious DIY approach is to use some kind of expandable or inflatable bag, balloon or similar. This is then loaded in some way e.g. with elastic bands, weights, or by being put under water to make it harder to push air in. The problem with these approaches is that the pressure vs volume curves they have is completely different from the one that the standard test lungs (and real lungs) have. Most elastic bags are not nearly stiff enough; for example anaesthesia bags are much stiffer than balloons, but are still not stiff enough until over-inflated to 2x-5x their rated volume; and additionally, the stiffness changes a great deal once they stretch. Weights, water and similar static loads add a minimum pressure which is required to push any air in; they offset the pressure vs volume curve, rather than changing the slope. Springs, elastic bands and so forth do change the slope, but not in a consistent way — for most of these the slope gets much steeper as the volume gets higher. Trying to measure the R and C values, especially C, is meaningless because the shape of the curve is wrong. This may lead to very misleading conclusions when testing a ventilator prototype.


It is much more important to have a test lung which behaves in a realistic way, and for which the R and C values are known and within the expected range for real lungs, than it is to have specific R and C values or to use a commercial test lung. Even if a commercial test lung is not available, it is strongly recommended to use the types of construction described here — even if the specific sizes or volumes are slightly different — for all but the simplest tests of ventilator function.

Public Invention

Public Invention is a US 501(c)3 public charity. Your donation supports are attempt to foster tested, reliable, and monitored open-source pandemic ventilators.


International Standards Organisation. ISO 10651–5–2006 Lung ventilators for medical use — Particular requirements for basic safety and essential performance — Part 5: Gas-powered emergency resuscitators.

Hill DW, Moore V. The action of adiabatic effects on the compliance of an artificial thorax. BJA: British Journal of Anaesthesia. 1965 Jan 1;37(1):19–22.

Chatburn RL. Simulation studies for device evaluation. Respiratory care. 2014 Apr 1;59(4):e61–6.

Kenny JE. ICU Physiology in 1000 Words: Shorthand Equations for Respiratory System Power.

Jonson B, Svantesson C. Elastic pressure–volume curves: what information do they convey?. Thorax. 1999 Jan 1;54(1):82–7.

Materials and equipment needed

To build and test these test lungs, some equipment is essential. The following is a list of suggested gear.

Compressed air source: oil free compressor, several cfm at > 50psi

Recommended: Porter-Cable C2002

Pressure gauge: should read 0–50 cmH2O range with <1 cmH2O resolution, preferably with differential inputs, preferably digital

Recommended: Risepro HT-1890

Flow meter: should read 0–60 lpm with < 1 lpm resolution, preferably digital

Recommended: no recommendation yet

Rigid vessel: one 14 gallon or three 5 or 6 gallon glass carboys (from home brewing store)

(or) Flexible bag: anaesthesia bag, 2–3 liters (or other similar size bag)

Recommended: Smiths Portex #370924

Plastic sheets (for springs): 12x12 inch, 1/8 thick, HDPE, polypropylene, or polycarbonate

Recommended: McMaster 2898K11

Tubing: 3/4 inch PVC pipe, schedule 40 (from hardware store)



Robert L. Read

Public Inventor. Founder of Public Invention. Co-founder of @18F. Presidential Innovation Fellow. Agilist. PhD Comp. Sci. Amateur mathematician.