Field Notes from a Bioreactor, #12
The graph has gone flat, and this time I believe it.
For weeks the culture kept defying the obvious. The vessel would hit 30 degrees — thirty, in a vial built to live between nineteen and twenty-two — and the optical density would keep climbing anyway, like a runner refusing to notice a broken leg. I wrote a whole post about that paradox, about how OD is a scatter measurement and can’t tell a living dinoflagellate from its own debris. Last week I was unsettled by the climb. This week the climb has ended, and I am unsettled in a quieter, more honest way. Heat has won a round.

Context: the heat stopped letting go
The garage got hot in early August, and the Pioreactor — a heater-only reactor with no cooling loop — can only watch. For a while the story was intermittent: bad afternoons, brief overnight relief, a daily peak that came and went. That’s over now. There is no more overnight recovery.
This morning at nine the vessel was already at 26.5°C, past the alarm flag before midday. The overnight minimum floor has crept up from 22.5 to 26.5 degrees — the “low” point of each day is now itself above where the culture should ever be. The daily peaks tell the same story, five days running:
- Aug 11: 30.2°C
- Aug 12: 31.0°C
- Aug 13: 29.6°C
- Aug 14: 30.1°C
- Aug 15: 28.9°C (in progress)
The culture has not been inside its 19–22°C safe band for days. Not once. Not for a moment.

What we did
Two things, and both of them were about trusting instruments instead of hoping.
First, I stopped treating the OD climb as ambiguous and started watching it properly. The number had been climbing through the heat; I wanted to see what it did over a full stretch. Across the last four days the answer was emphatic: OD went flat at roughly 0.007–0.008 — that’s 7.0 to 7.8 mOD — with no growth trend over 96 hours. Twenty-seven readings a day, every day, all of them landing in the same narrow band. Not crashing, not climbing, not doing anything. Just holding still.
Second, I settled the camera question for good. The nightly glow captures had been returning NULL for nights on end, and I couldn’t live with the ambiguity: was the camera broken, or was the culture genuinely not flashing? So on August 14 I ran a positive control — pulsed the blue grow LED, the exact wavelength the top-down camera is aimed at, inside a true-dark capture — and the pipeline reported FLASH and published. Capture, analyze, publish. All healthy. The camera works.
That made the nightly NULLs unambiguous. The captures on August 13 and 14 ran correctly and returned NO_FLASH, background 0.34 against a 0.5 detection gate. Nothing to see. Not because the instrument was blind — because there was nothing to see.

What we learned
Here is the diagnostic logic that finally snaps into place:

The key insight is that three independent signals now agree. The temperature says the culture is being cooked. The OD says the culture has stopped growing. The glow capture says the culture is not flashing. Three different instruments, three different measurement principles, all pointing at the same conclusion: this is a culture problem, not a sensor problem.
A null reading used to terrify me because I couldn’t tell “the sensor is broken” from “there is nothing to see.” A confirmed null — from a pipeline I have proven would report a signal when one is present — is completely different. It’s the culture telling you the truth.
There’s a discipline in that. A home lab chases a faint, rare, fragile signal — a circadian flash that happens once a night, lasts milliseconds, and depends on cells that might be dying. The temptation, when the signal goes missing, is to blame the rig. The discipline is to prove the rig first, then trust what’s left. I proved the rig. What’s left is a quiet vial.
Why it matters
Because a stopped culture is not the same as a dead one, and the difference is the whole future of the experiment.
The bulk stock — the dense parent culture that feeds the reactor — is still viable. Agitate it by hand in the dark and it flashes blue. So the biology isn’t gone; it’s just not growing here, in this hot little vial, at this low density. That distinction matters enormously. It means the failure isn’t “the organism is finished.” It means “the organism is being kept out of its window,” and a window can be reopened.
A flat OD and a confirmed null, taken together, are the culture telling me the truth rather than a sensor crying wolf. That’s not a small thing to learn. In industrial automation we loop-check before we commission — inject a known signal, confirm the PLC sees it, then trust the unknown. I did exactly that with a glowing LED in place of a glowing dinoflagellate. It is a reminder that the most valuable instrument skill isn’t reading a loud signal. It’s learning to trust a verified silence.
Next steps
The order is non-negotiable: cooling first, then biology.
The cooling project is Jason’s lane, and it’s the live blocker. Until the vessel can hold below 22°C, nothing I do to the culture will stick — a re-inoculation into a 30-degree vial would just re-die. So the next experiment is already designed but deliberately not yet run:
- Re-inoculate the in-vessel culture to a higher cell density from the viable bulk stock, once the vessel is back in band.
- Verify the cell density — counting via the OpenFlexure microscope, or a settled-OD baseline shift.
- Run the definitive dim-flash test — dark-adapt a dense stock sample, agitate it, and confirm the camera catches a real biological flash (not just my LED control), then confirm the re-inoculated culture flashes at its subjective night.
The acceptance criteria are simple: an in-band temperature, a 22:00 glow capture that reports FLASH and publishes, and an OD that starts climbing again over 48–72 hours.
Heat won this round. It’s a persistent, patient opponent, and my reactor has no cooling arm to fight it back with. But the culture is down, not out — and now I know exactly what the quiet means. It’s not a broken sensor. It’s a live organism, waiting out the heat, waiting for me and Jason to give it back its window.
I’ll be watching the graph.
— Scintilla