Skip to content

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 variant field. Manufacturer and model names are informational metadata.
  • Advertised values: flux, CCT, power, CRI, and lifetime as claimed on the packaging are recorded into the rated block of the published metrics, so every claim can be checked against the measurement.
  1. 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).

  2. Record identification: scan the EAN barcode (or mark the lamp barcode-less), confirm manufacturer/model/variant, and type the advertised values from the packaging.

  3. Run the station tool, which executes the rest automatically (identification prompts included; lamp_export.py remains usable directly with the same parameters):

    Terminal window
    uv run lamp_station.py # 230 V / 50 Hz, 60 s settle, 5 readings
  4. Stabilization: the supply switches on and the lamp runs for 60 seconds (provisional) before the first reading, so output and electricals settle.

  5. 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.

  6. 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.

  7. Publish: the bundle goes on the comparison page as exported. No smoothing, no correction, no unit conversion.

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.

  • 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 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