Photosynthesis lab: light, carbon dioxide and temperature against oxygen bubbles, with limiting factors

Move a lamp, add carbon dioxide and warm the water around a pondweed, then watch and count the oxygen bubbles. See which factor is limiting the rate, and graphs of rate against light at several carbon dioxide levels (Blackman's law).

Keep it one tap away for everyday use.

Bookmark Photosynthesis lab?

Press Ctrl + D now. Your browser opens its own bookmark box, where you choose the name and folder.

  1. Set up
  2. Watch
  3. Graph
  4. Check
Nothing is uploadedWorks offline once open

A teaching model: the plant's numbers are made-up round values, so a real pondweed will give different counts.

Level

Bubbles are shown 4 times faster than real life.

Count the bubbles

Like the real experiment: count for one minute, change one thing, count again. Real bubbles come at random, so two counts are rarely the same.

Rate graph

Across

Download

Try this

  • Move the lamp from 20 cm to 10 cm. The light becomes 4 times stronger: does the rate go up 4 times?
  • Push the lamp close, then add more baking soda. Which slider makes a difference now, and why?
  • Warm the water from 25 °C to 45 °C. Why does the rate fall after about 30 °C?
  • Class 11: in the light graph, find where each line goes flat. That is where something other than light starts to limit.

Check yourself

Fresh questions every time. Nothing is saved.

    What it does

    A green water plant (pondweed) under a lamp makes food by photosynthesis: carbon dioxide + water → glucose + oxygen, using light trapped by chlorophyll. The oxygen comes off as bubbles you can count. This lab lets you change three things and see the bubbles change:

    • Light: slide the lamp nearer or further. Light gets weaker with the square of the distance, so half the distance gives four times the light.
    • Carbon dioxide: add baking soda (sodium hydrogencarbonate), which gives off carbon dioxide in water.
    • Temperature: warm or cool the water. The enzymes that build sugar speed up as it warms, work best near 30 °C in this model, then break down.

    The page tells you which of the three is the limiting factor: the one in shortest supply, which sets the rate (Blackman’s law). It fits Class 10 Science: life processes (nutrition, photosynthesis and the factors it needs) and Class 11 Biology: photosynthesis in higher plants (factors affecting photosynthesis and the law of limiting factors). It is a teaching model with made-up round numbers. Before this, see how water gets into plant cells in the osmosis lab; after it, fit real light-response data with photosynthesis curve fitter, or see how enzyme speed depends on substrate in enzyme kinetics fitter.

    How to use it

    1. Pick the level. Class 10 shows the bubble rate, the limiting factor and the light sum. Class 11 adds how fast each factor would allow on its own, gross rate minus respiration, and the light compensation point.
    2. Slide the lamp, carbon dioxide and temperature. The picture shows bubbles rising (4 times faster than real life, so you do not have to wait).
    3. Count for 1 minute to add a row to your results table, as in the real experiment. Bubbles come at random, so repeat counts differ a little. Download the table as a CSV file for a graph or a report.
    4. Rate graph: choose Light, CO₂ or Temperature along the bottom. The light graph has three lines for three carbon dioxide levels; the carbon dioxide graph has three lamp distances.
    5. Check yourself gives fresh questions every time and shows the working.

    Worked example

    The page opens with the lamp at 20 cm, 0.25 % baking soda and water at 25 °C. Light = (10 ÷ 20)² × 100 = 25 units. In this model light allows 0.6 × 25 = 15 bubbles a minute, carbon dioxide allows 80 × (0.05 + 0.25) = 24, and the enzymes at 25 °C allow 50 × 0.71 = 35.4. The smallest is 15, so light is the limiting factor. Respiration uses 2 bubbles’ worth of oxygen, so you see 13.0 bubbles a minute. Move the lamp to 10 cm: light allows 60, so now carbon dioxide (24) limits, and you see 22.0. Adding baking soda now helps; a closer lamp would not.

    Tips

    • Change one thing at a time and keep the others the same, so you know what caused the change.
    • In a real lab, a lamp also warms the water. Put a beaker of water between lamp and plant as a heat screen.
    • If no bubbles come off in dim light, the plant is still photosynthesising: it is using all its oxygen in respiration. That light level is the compensation point.

    FAQ

    Why does the light graph go flat? Once there is plenty of light, something else (carbon dioxide or temperature) is in short supply and holds the rate down.

    Why does the rate fall above 30 °C? Enzymes are proteins; heat changes their shape, so they work more slowly and finally stop. Real plants differ in their best temperature.

    Are the bubbles pure oxygen? Mostly, but they also carry some dissolved gases, so counting bubbles is a rough measure. Measuring the volume of gas collected is better.

    Where the numbers come from

    • Inverse square law for light from a small lamp, and Blackman's (1905) law of limiting factors: written by fibub from these standard ideas.
    • The plant's numbers (bubbles per light unit, carbon dioxide cap, top rate, optimum 30 °C, respiration) are made-up round values for teaching. They are not measurements of any real plant.
    • The rates were checked in the tests against a separate Python version of the same model (40 random settings) and hand-worked cases.
    • Drawings are fibub's own simple shapes. Nothing you enter is stored or sent anywhere.

    Standard scientific values, such as constants, atomic weights and melting points, are facts found in every textbook; we name where ours were checked. If you are an author or publisher and want a value, a credit or a table changed or removed, tell us and we will act quickly.

    Read more on the Blog

    Last updated 2026-11-09.

    Change log for Photosynthesis lab

    1. Add #1122 Photosynthesis lab Details on GitHub

    Every change to fibub

    Related tools

    Enzyme kinetics fitter #T112 Paste substrate concentrations and initial rates, with or without an inhibitor, and fit Michaelis–Menten, substrate inhibition, Hill, or competitive, uncompetitive, non-competitive and mixed inhibition by non-linear least squares. Get Km, Vmax, Ki, kcat and kcat/Km with errors, a model comparison by AICc, and the Lineweaver–Burk, Eadie–Hofstee and Hanes–Woolf values side by side. Photosynthesis curve fitter #T240 Fit leaf gas exchange curves in your browser. Light response curves get a non-rectangular hyperbola with Amax, quantum yield, curvature, dark respiration, light compensation and saturation points. A/Ci curves get the Farquhar-von Caemmerer-Berry model with Vcmax, J, Jmax and Rd, the Rubisco and RuBP-limited parts, and the transition Ci. Osmosis lab #L55 Drop a potato piece, a raisin, an onion cell or a red blood cell into sugar or salt water and watch water move in or out. See plasmolysis, a % mass change graph, water potential at Class 11 level, a virtual practical and quick questions. Cell explorer #L57 Tap the parts of a plant cell, an animal cell and a bacterium to see what each one does, zoom in, compare the three cells in a table and work out how much the drawing is magnified. Class 9 and Class 11 levels, with quick questions. Cardiac cycle #L61 Watch a four-chamber heart beat in slow motion: atria and ventricles contract, valves open and shut, and an ECG-like trace and the ventricle volume move with them. Change the heart rate and the filling to see stroke volume and cardiac output. Teaching model, not medical. Food web builder #L63 Explore a forest or pond food web drawn by trophic level. Tap to add or remove who eats whom, remove a species and see who dies out or increases, count the food chains, and read the energy pyramid with the 10 % rule. Enzyme activity lab #L65 Digest starch with amylase or egg white with pepsin and trypsin, and time it with a virtual spot tile. Change temperature, pH, substrate and inhibitors, record your runs and see rate graphs. For Class 10 and 11 biology. Transpiration lab #L67 Watch a leafy shoot pull water through a bubble potometer. Change light, temperature, humidity and wind, block the stomata with petroleum jelly, take 5-minute readings and see rate graphs. For Class 10 and 11 biology. Decomposer race #L118 Three compost heaps race to break down. Choose leaves, peel, straw, paper or a plastic bag, set the temperature and moisture, add earthworms or not, and watch the grams left fall day by day, with the half-life of each heap. Flower pollination #L149 Tap the parts of a flower cut down the middle (sepal, petal, anther, filament, stigma, style, ovary, ovule) to learn each job, play find-the-part, and step from self- or cross-pollination to fertilisation, seed and fruit. Class 12 adds double fertilisation. Carbon cycle sandbox #L152 Five carbon stores, the air, plants and soil, the surface ocean, the deep ocean and fossil fuels, joined by flows you can see. Choose how much fuel to burn and forest to clear or plant, run the years to 2100 and watch the CO₂ in the air rise or fall, and where each year's carbon goes. Nitrogen cycle game #L156 Move one nitrogen atom round the nitrogen cycle by picking the right process at each step: fixation, nitrification, uptake by plants, feeding, death, decay and denitrification. Reach the goal in the fewest steps, or name the lit-up arrow. A Class 11 level adds the bacteria, enzymes and chemical forms.

    Also related: Respiration pathways, Phototropism plant, Pigment spectra, Z-scheme stepper, Calvin and C4, Decomposition rate