Silicon Lottery - Second Calibration Curve

One Curve Wasn't the Whole Story — bortle9astro.com

The Silicon Lottery post on Cloudy Nights, July 23, made a clean claim: about 20% of TSL2591 units are capable of resolving Bortle 5 skies, and the rest either work in brighter zones or don't work at all. That number came from matching new sensors against a single reference — the calibration curve built for AIQ#1, the "golden" unit that had earned its trust through months of validated field work. A couple weeks later, testing five more Adafruit samples to grow the reference pool, something in that assumption broke.

Two of the five samples — call them C and G — clearly didn't match AIQ#1's curve. And they were good sensors anyway.

Golden calibration curve vs. the new C+G curve family, both fit in log base 10 lux space against SQM-L reference readings

Golden calibration curve (AIQ#1/#2, teal) vs. the new C+G curve family (red, dashed), both fit in log₁₀(lux) space against SQM-L reference readings.

What "Doesn't Match" Turned Out to Mean

The original screening method treats AIQ#1's curve as ground truth: run a candidate sensor through the Bortle Bathroom Scale (BBS) — a set of calibrated indoor light levels standing in for Bortle classes — and see how closely its readings track the golden coefficients. Close enough, it's a keeper. Off, it's a reject.

Samples C and G were off. Off enough that neither one would have passed a golden-curve match. But their raw sensitivity was fine — both cleared the Bortle 5 brightness level with real margin. That's the kind of result that used to just get filed under "marginal" and moved on from. Instead it got a second look, because two independently sourced dies producing the same wrong answer is a different thing than one die producing a random one.

So each was fit on its own — a quadratic against log₁₀(lux), the same functional form as the published v2.8 curve, just with its own coefficients. Then checked against each other.

Sensor A2 A1 A0
AIQ#1 golden curve 1.128 4.393 21.072 0.9957
Adafruit C 0.418 -1.003 11.447 0.9990
Adafruit G 0.286 -1.821 10.174 0.9942
C + G, pooled 0.383 -1.222 11.098 0.9968

C and G were tested and calibrated independently, weeks apart. Their coefficients land close to each other and nowhere near golden's — and cross-checking each curve against the other sensor's raw data keeps the error inside the same unit-to-unit agreement band (~0.1 mag) that two matching golden-curve units show against each other.

That's not one odd sensor. That's a second, self-consistent, independently repeatable calibration curve — a different valid answer to the same question the golden curve answers, sitting on a completely different part of the curve family. One correction along the way: an early pass at G's numbers looked messier than C's, until a check against the handwritten field data turned up a transcription error at one BBS reading. Re-run and re-fit, G lines up with C the way it should have from the start — a reminder that "doesn't match" is sometimes a data problem before it's a die problem, and worth ruling out before reading too much into a mismatch.

A Better Line to Screen Against

If matching AIQ#1's specific curve isn't the right pass/fail test, what is? The better candidate is the number that was already sitting underneath the original 20% figure: 188 microlux, the OSRAM datasheet's noise floor for this chip. That's a property of the TSL2591 die family in general — not something baked into AIQ#1's particular calibration. Applied as a raw-signal gate, ahead of any curve-fitting, it should mean the same thing for every unit regardless of which curve family it eventually turns out to belong to.

It's holding up as a good working line — not an absolute wall. A couple of units in this batch showed usable signal a little below the 188 threshold before saturating, which suggests the boundary has some softness to it rather than being a hard cliff. Treating it as "the line where you should expect trouble" rather than "the line where the sensor stops working" is probably the more honest framing going forward.

What This Could Mean for Yield

Up to now, "usable" has meant "matches golden." If it instead means "clears the noise floor, then gets its own calibration curve," a chunk of sensors that would have been scored as failures under the old test may just need a different curve, not a rejection. Early numbers from this small batch point in that direction — meaningfully more than 20% of the units tested cleared the threshold in some usable Bortle range once curve-matching to golden was taken out of the pass/fail decision.

Not a revised number — yet

I'm deliberately not publishing a new yield percentage here. The 20% figure from the AIQ Presentation posted to Cloudy Nights was earned through months of field-validated work behind a single curve. This finding is a few weeks old and lives entirely on bench data. It needs to earn the same kind of trust before it replaces anything.

What Still Needs to Happen

Everything above — the curve fits, the noise-floor check, the yield hint — comes from the Bortle Bathroom Scale: a controlled indoor light source standing in for sky brightness. It's a fast, repeatable way to screen and provisionally calibrate a sensor before it ever sees the sky, but it isn't the sky. Temperature, humidity, and the sensor's full housing all behave differently outdoors than they do on a bathroom floor, and the golden curve only earned its trust after real outdoor sessions against a Unihedron SQM-L confirmed the bench numbers held. C and G need the same test. Two things are queued up before either curve — or the yield hint that comes with it — is trustworthy enough to fold into the public numbers:

First, an outdoor SQM-L validation session for each sensor, to confirm the bench-derived curves hold under a real night sky. Second, and more telling: building one of them into an actual working instrument and running it side by side with AIQ#1. That instrument is PCAIQ — Pointing-Corrected AIQ, the planned AIQ#3 — which will eventually add sky-orientation sensing on top of the existing calibration work. Before any of that gets built, though, it's a clean testbed for exactly this question: does a second-curve-family sensor perform as a trustworthy instrument outdoors, not just a good fit on a spreadsheet.

Where This Leaves the Story

The 20% number from July still stands for what it measured: the odds of finding a die that matches AIQ#1's specific curve. What's changed is the question underneath it. A sensor that doesn't match golden isn't automatically a reject — it might just be waiting on its own curve. Whether that reframing survives real sky conditions is the open question the next phase of this project is built to answer.


Clear skies  /  Pete  //  bortle9astro.com

Next
Next

Aperture Isn't the Whole Answer