The Photon Flux Analyzer v2 (PFA v2) is a compact benchtop instrument designed to explore unconventional uses of standard components. It measures ambient light flux and spectral drift using reverse-biased RGB LEDs as sensors, instead of traditional photodiodes.
Originally built as an experiment in component abuse, the device repurposes common LED arrays for light sensing and spectral mapping. The main unit features an OLED readout, brass rotary encoder, and a transparent PCB side window for inspection. A small RP2040 microcontroller handles sensor calibration and signal processing, while the modular daughterboards make it easy to swap arrays for different wavelength responses.
⚠️Disclaimer: Some images were moderately enhanced using AI-assisted lighting and post-editing tools to refine clarity and presentation. The product design and prototype are original; AI was used only to simulate lighting and composition for clarity—similar to CAD or post-production workflows.
Completed thermal drift tests on the analog front-end and added a low-noise bias reference network. Measured temperature-induced variation across the TIA and reverse-biased LED array, then refined firmware compensation coefficients. Updated PCB layout with improved ground plane and shorter sensor routing paths.
Objectives
Quantify thermal drift of the LED sensor array and TIA under varying ambient temperatures (15–35 °C).
Verify stability of the 2.0 V bias reference after replacing the bench charge-pump network with an integrated precision source.
Validate new Rev A.1 PCB layout for noise reduction and improved sensor-to-amp impedance matching.
Hardware Revisions
Added LM4040-2.048 V precision reference diode to replace the ad-hoc charge pump.
Updated feedback path on OPA381: guard trace routed between inverting input and feedback node.
Inserted 100 Ω series resistor and 47 pF snubber cap to suppress high-frequency peaking.
Expanded analog ground plane and separated digital return near RP2040.
Relocated NTC thermistor to sit within 2 mm of LED array for faster thermal response.
Replaced LED array ribbon cable with shielded twisted pair (kept total length < 80 mm).
Test Setup
Temperature chamber: improvised 3D-printed enclosure with Peltier and DS18B20 control loop.
Reference meter: Keysight 34465A in 100 µA DC range, logging 1 Hz over USB.
Bias source: LM4040 through 10 kΩ feed resistor; confirmed 2.047 V ± 0.4 mV across 15–35 °C.
Acquisition: RP2040 sampling at 2 kS/s, averaged to 1 Hz effective.
Firmware: build v0.4, includes real-time temperature correction term (α = −0.00061 per °C).
Status: early prototype; functional bench unit, firmware alpha v0.3
TL;DR
Built and bench-tested the reverse-biased LED sensor front end, tuned the transimpedance amplifier (TIA) for low-light operation, and pushed a first calibration run into the RP2040. The device reads ambient photon flux with useful dynamic range (dark → indoor daylight) and reports stable values on the OLED. Below: hyper-specific test notes, parts, instrument settings, code snippets, and next actions.
Parts & bench setup (exact)
Main MCU: Raspberry Pi RP2040 (bare module) running MicroPython build v1.19 (custom).
Amplifier: OPA381 (single-supply low-noise op-amp) in TIA config.
Sensor: 10×6 RGB LED matrix (individual LEDs re-wired in reverse bias as photodiodes; single color channel used per test).
TIA feedback resistor: R_f = 1.0 MΩ (initial), switched to 470 kΩ and 2.2 MΩ for range tests.