Setting Up the Electron Transport Chain Model for Lab Analysis
The Electron Transport Chain is where most of your ATP actually comes from. Glycolysis and the Krebs cycle are worth about 4 ATP total per glucose molecule. The ETC and oxidative phosphorylation together produce around 26 to 28 more. That is the bulk of the yield. If you are trying to model this in a lab or simulation environment, you need to understand what is actually happening at each complex before you start writing code or wiring up equipment. I spent way too long troubleshooting a membrane potential simulation last year. The issue was that I was treating Complex I as a simple proton pump, but it is not. It transfers electrons from NADH to ubiquinone while moving four protons across the membrane. The coupling ratio is not 1:1 and it changes depending on the quinone pool state. Once I switched to using a proper Q-cycle model for Complex III, the whole thing stabilized. The membrane potential held steady around 150 to 180 millivolts instead of oscillating wildly between negative values and zero.
Understanding the Electron Transport Chain Cellular Respiration workflow
There are four protein complexes embedded in the inner mitochondrial membrane. Complex I takes electrons from NADH. Complex II takes them from FADH2, which comes from the Krebs cycle and other reactions. Complex III passes electrons from ubiquinol to cytochrome c. Complex IV moves them from cytochrome c to oxygen, which becomes water. Protons get pumped at complexes I, III, and IV. Complex II does not pump anything. Ubiquinone shuttles electrons between complexes I or II and complex III. Cytochrome c does the same between III and IV. These are mobile carriers, not fixed components. If you are building a simulation, model them as diffusing through the membrane plane rather than as static links between nodes. The proton gradient that results drives ATP synthase, which is complex V. It uses the flow of protons back into the matrix to phosphorylate ADP into ATP. The stoichiometry here is contentious in the literature. Most modern estimates put it at about 2.7 protons per ATP made, not the old textbook value of 3. Factor that in if you need accuracy.
One thing people consistently get wrong is the P/O ratio. NADH entering through Complex I gives you roughly 2.5 ATP per molecule. FADH2 entering through Complex II gives about 1.5 ATP. The difference exists because Complex II bypasses the first proton-pumping site. Students sometimes assume both pathways are equal because they both feed electrons into the same chain downstream. They are not. The entry point matters a lot.
Get the Full Details

Building a Functional Model
If you are constructing this computationally, use a differential equation approach rather than a discrete event simulation. The proton motive force is a continuous variable. Discrete stepping introduces artifacts that compound quickly. A basic framework uses Michaelis-Menten kinetics for each complex with terms for membrane potential and substrate concentration. For Complex I, the rate depends on [NADH], [NAD+], [Q], [QH2], and delta psi. The reaction slows as the proton gradient builds because the thermodynamic cost of pumping against an already steep gradient increases. This is called respiratory control and it is the primary regulatory mechanism in healthy mitochondria. If your model does not include it, the ETC will just run flat out regardless of ATP demand, which is biologically nonsense. Uncoupling proteins like UCP1 in brown adipose tissue deliberately collapse the gradient. Protons leak back through the membrane without making ATP. Heat is the output instead. This is normal physiology, not an error condition. If you are modeling thermogenesis or drug effects on metabolism, include an uncoupling term. A simple linear leakage term proportional to delta psi works fine for basic simulations.
Inhibitors are another consideration. Rotenone blocks Complex I. Antimycin A blocks Complex III. Cyanide and azide block Complex IV. Each one produces a predictable pattern of electron backing up upstream and dropping off downstream. If you are validating your model against known inhibitor data, make sure each blockade produces the right redox states. Reduced ubiquinone and cytochrome c when Complex I is blocked. Oxidized everything past the block when Complex IV is inhibited.
Common Problems and What to Do About Them
The biggest issue I ran into was numerical instability when the proton gradient approached its theoretical maximum. The equations for proton pumping become stiff near that point. Small time steps fix it but make simulations painfully slow. A better approach is to use an implicit solver or to reformulate the proton pumping term so it asymptotically approaches zero as delta psi approaches the reversal potential instead of becoming a hard stop. Another problem is the Q pool size. If you make it too small, the pool oxidizes and reduces too quickly and the system becomes noisy. Too large and it buffers everything out until responses take forever. APhysiologically realistic ubiquinone concentration in the inner membrane is roughly 50 to 100 molecules per square micrometer of membrane. Scale your model to something close to that range. Don't forget the adenine nucleotide translocator. It exchanges matrix ATP for cytosolic ADP in a 1:1 ratio and costs about one proton's worth of the gradient to operate. Skipping this detail overestimates net ATP yield by roughly 10 to 15 percent in most tissue types. The phosphate carrier has a similar cost. Include both if you care about accurate numbers.

When the Electron Transport Chain Cellular Respiration model breaks down
This whole framework assumes intact, coupled mitochondria. It fails under conditions where the membrane is damaged, where reactive oxygen species have oxidized key iron-sulfur clusters, or where the delta psi is so low that complexes cannot pump effectively. Pathological states like ischemia-reperfusion injury produce exactly these conditions. The model will still run mathematically but the outputs will not match reality. There is also the issue of supercomplexes, sometimes called respirasomes. Complexes I, III, and IV can assemble into higher-order structures that channel substrates directly between active sites instead of relying on diffusion through the membrane. This makes electron transfer more efficient and may reduce ROS production. Most textbook models ignore this entirely. If you need precision, consider adding a fraction of your complexes locked into supercomplex form with modified kinetic parameters. The remaining fraction behaves as free complexes. For most classroom or introductory lab work, the standard model is sufficient. You will get the right order of magnitude for ATP yield and the right qualitative behavior for inhibitors and uncouplers. If you need publication-quality accuracy, the Q-cycle refinement, proper proton stoichiometry, and supercomplex considerations matter enough to implement. The extra complexity is not trivial but it is manageable if you build it incrementally rather than all at once.
The takeaway is straightforward. Start with the four complexes and the two mobile carriers. Add respiratory control early. Validate against known inhibitor data before adding any refinements. Fix numerical stability with an implicit solver or reformulated terms. Everything else is optional depending on how much accuracy you actually need.