Lamp Test Procedure
Every lamp in the LED lamp comparison ran this identical procedure in our HPCS-6500 integrating sphere. The goal is that anyone with a comparable sphere can reproduce our numbers from the published bundles, and that results measured months apart remain comparable.
- Instrument: HPCS-6500 spectrophotometer / integrating sphere, driven by our open-source tooling (HPCS6500-py); the vendor software is not used.
- Power: the sphere’s built-in supply at 230 V / 50 Hz AC, switched on and off by the export tool. Voltage, frequency, and the supply mode are read back from the instrument and recorded in the published metrics of every run.
- Identification: every lamp gets an internal ID (L0001, L0002, …) assigned in
measurement order, which is the primary key of all published data. The EAN barcode is
recorded as metadata when the lamp has one; a single barcode can cover several versions
of a lamp (for example daylight and warm white sharing box art), which get distinct IDs
and a
variantfield. Manufacturer and model names are informational metadata. - Advertised values: flux, CCT, power, CRI, and lifetime as claimed on the packaging
are recorded into the
ratedblock of the published metrics, so every claim can be checked against the measurement.
Procedure
Section titled “Procedure”-
Mount the lamp in the sphere and close it. The lamp is measured as purchased; no seasoning or burn-in beyond the stabilization below (provisional).
-
Record identification: scan the EAN barcode (or mark the lamp barcode-less), confirm manufacturer/model/variant, and type the advertised values from the packaging.
-
Run the station tool, which executes the rest automatically (identification prompts included;
lamp_export.pyremains usable directly with the same parameters):Terminal window uv run lamp_station.py # 230 V / 50 Hz, 60 s settle, 5 readings -
Stabilization: the supply switches on and the lamp runs for 60 seconds (provisional) before the first reading, so output and electricals settle.
-
Readings: five consecutive single-shot measurements, following the instrument’s verified single-test cycle, averaged into one published result. Spectra are averaged point by point.
-
TM-30: ANSI/IES TM-30-18 Rf, Rg, and the 16 hue-bin vectors are computed from the averaged spectrum with colour-science; the implementation reproduces the published values for the CIE FL2 illuminant.
-
Publish: the bundle goes on the comparison page as exported. No smoothing, no correction, no unit conversion.
Published bundle format
Section titled “Published bundle format”One directory per lamp:
| File | Contents |
|---|---|
spd.csv |
Full spectrum, wavelength_nm,value, 380 to 1050 nm, relative units |
tm30.csv |
One row per hue bin 1-16: reference/test CAM02-UCS averages (raw and normalized), chroma shift Rcs_pct, hue shift Rhs, local fidelity Rf_h |
metrics.json |
Luminous flux, efficacy, CCT, Duv, chromaticity, CRI Ra and R1-R15, TLCI, TM-30 Rf/Rg, radiometric flux, electrical (V, A, W, PF, THD), supply settings, timestamps, identification (internal ID, optional ean and variant), and the packaging’s advertised values under rated |
The spectrum is relative, not absolutely calibrated; TM-30 and all chromaticity results are scale-invariant, and photometric values (lumen, efficacy) come from the instrument’s own calibrated integration, not from the published spectrum.
Pre-run checklist
Section titled “Pre-run checklist”- Sphere closed, lamp seated in the correct holder
- Internal ID assigned; EAN, manufacturer/model, variant, and advertised values recorded
- Supply set to 230 V / 50 Hz AC, confirmed in the run output
- 60 s stabilization before the first reading
- Five readings averaged, no failed readings in the run
- Bundle published unmodified (spd.csv, tm30.csv, metrics.json)
Revision history
Section titled “Revision history”| Revision | Date | Change |
|---|---|---|
| r1 | July 2026 | Initial procedure |
| r2 | July 2026 | Internal lamp IDs replace EAN as primary key; EAN optional metadata; advertised (rated) values recorded for claimed-vs-measured comparison |