Lucifometer

Introduction

During our discussions with public stakeholders in the City of Lyon, a clear need emerged: a technology capable of detecting and rapidly quantifying PFAS in water, at an affordable cost. Although regulatory monitoring of drinking water is already in place, with analyses carried out at a monthly or bi-monthly frequency depending on the area, current methods rely on centralized and expensive technologies such as liquid chromatography coupled with mass spectrometry (LC-MS/MS). While these techniques are highly precise, they are also slow, costly, and unsuitable for near real-time monitoring or for deployment in resource-limited settings.

Our ambition is to fill this gap by creating a hardware device that is simple to build with open-source and locally available components, low-cost enough to allow large-scale deployment, fast and responsive enough for frequent monitoring, accessible to users outside large laboratories such as schools, municipalities, or local associations, and fully documented in line with the principles of open science.

Local Context (Lyon)

The urgency of this project is highlighted by the local context. Eau du Grand Lyon now performs 480 measurements per year on the 20 regulated PFAS, with a strict threshold of 0.1 µg/L for their combined concentration. Four municipalities in the metropolitan area — Givors, Solaize, Grigny and Marcy-l'Étoile — have exceeded this threshold, impacting nearly 37,000 inhabitants. This situation has generated public and regulatory pressure, particularly in the chemical valley south of Lyon, where industrial discharges remain a concern despite monitoring. Citizen groups, local associations, and elected officials continue to demand faster and more transparent control tools. Health authorities also express the need for decentralized solutions that can complement regulatory surveillance.

Technological Objectives

The Lucifometer was designed with specific objectives in mind. It must be capable of providing rapid measurements, detecting within minutes the bioluminescent signal generated by engineered bacteria exposed to PFAS. It must remain affordable, relying on accessible components such as a photodiode, a microcontroller, and a 3D-printed housing. It must be portable and compact, enabling deployment in the field or installation in small structures such as schools or town halls. Reliability is also crucial: the device should minimize background noise by isolating the sample from ambient light, ensure reproducibility of results, and allow straightforward calibration. Finally, the Lucifometer must remain fully open, with all designs, codes and, protocols shared for reuse and improvement by others.

Biological Background

The Lucifometer is built around the capacity to quantify the light produced by bacteria carrying the lux operon. This operon, with its organization luxCDABE, encodes a set of enzymes that emit visible blue-green light around 490 nm. The LuxA-LuxB dimer catalyzes the oxidation of FMNH₂ and an aldehyde, releasing photons. The LuxCDE trimer synthesizes the aldehydes required for the reaction. The luxG gene, sometimes found in natural operons, is not necessary here since E. coli already expresses equivalent enzymes. The reaction can be summarized as FMNH₂ + RCHO + O₂ → FMN + RCOOH + H₂O + light (490 nm).

In our design, the operon is split into two sub-units, each placed under the control of different PFAS-sensitive promoters. This design functions as an AND gate, ensuring that light is only produced if both promoters are activated simultaneously, thus reinforcing specificity. Fluorescent markers, such as GFP and mCherry, were added for experimental controls but are irrelevant to the Lucifometer, which is specifically designed to capture the light emitted by luciferase.

Experimental Workflow

The workflow is straightforward. Cultures of E. coli carrying the engineered operon are grown in LB. A volume of environmental water to be analyzed is added to the culture. If PFAS are present, the promoters are activated, triggering the expression of the lux operon and resulting in photon emission at around 490 nm. The sample is then placed in a 5 mL round-bottom spectrophotometry tube, the same type used in conventional spectrophotometers for optical density (OD) measurements in our laboratory. These tubes are inserted into the Lucifometer's light-tight compartment. There, the OPT101 sensor captures the light intensity, and the measurement is recorded and correlated with PFAS concentration in the original sample.

The Lucifometer does not directly measure PFAS. Instead, it translates a biological signal — promoter activation and luciferase activity — into a quantifiable optical output.

Technical Specifications

Photodetector

We selected the OPT101 photodiode with integrated amplifier, which covers the 400–1000 nm spectrum and is sensitive around 490 nm. This makes it well-suited for bacterial luciferase emission. It converts photon flux into a measurable analog signal with low noise. Thus, it is the core component of the Lucifometer.

RAKSTORE OPT101 Module d'intensité, photodiode monolithique à puce unique : Amazon.fr

Photodetector OPT101 Figure 1: Photodetector OPT101

Microcontroller

The ESP32 DevKit V1 was chosen as the central processing unit. This 32-bit dual-core board offers Wi-Fi, Bluetooth, and a 12-bit ADC, enabling both local processing and potential wireless data transfer. It handles acquisition from the photodiode, user inputs, and communication with the display.

ELEGOO 2PCS ESP32 Carte de développement Type-C : Amazon.fr

Microcontroller ESP32 DevKit V1 Figure 2: Microcontroller ESP32 DevKit V1

Display

An OLED 128×64 screen (SSD1306) provides immediate visual feedback to the user. It shows RLU values, blank status, and calibration checks directly on the device. This low-power display is easily driven by the ESP32 over I2C.

Adafruit OLED Display

OLED Display 128x64 Figure 3: OLED Display 128×64 (SSD1306)

User Interface

Three physical buttons allow the operator to trigger specific functions: Blank (background measurement), Measure (sample measurement), and Calibration (reference LED). This simple interface avoids the need for external peripherals.

sourcingmap 100 Pièces Tactiles Bouton Poussoir : Amazon.fr

Push buttons for user interface Figure 4: Push buttons for user interface

Power Supply

The device is powered by a rechargeable 18650 Li-ion cell.

Tenergy 18650 3.7V 2600mAh Li-Ion Rechargeable Battery w/ PCB - Tenergy

Tenergy Li-ion 18650 Battery Figure 5: Tenergy Li-ion 18650 Battery

A TP4056 charging module ensures safe USB charging, while a boost converter provides a stable 5V rail for the ESP32 and peripherals. This ensures autonomy and portability in the field.

HiLetgo 18650 Battery Holder : Amazon.fr

TP4056 charging module Figure 6: TP4056 charging module

Calibration Source

A 490 nm LED is embedded in the housing. When activated, it emits a controlled light pulse towards the sensor, allowing the device to self-check sensitivity and serve as a calibration reference.

5mm 480nm 490nm Cyan LED for Traffic Lights - High Brightness | eBay

490 nm calibration LED Figure 7: 490 nm calibration LED

Firmware

The system runs custom firmware written in Arduino C++, making use of open-source libraries such as Adafruit_SSD1306 and Adafruit_GFX. The code manages sensor acquisition, button input handling, display updates, and web server endpoints for external interfaces.

Electronics and Wiring

Breadboard Assembly

All components are connected on a breadboard in this prototype phase, avoiding soldering to facilitate rapid assembly and modification.

BB830 Solderless Breadboard Figure 8: BB830 Solderless Breadboard, 830 tie-points

The Lucifometer prototype is wired on a breadboard using Dupont jumper cables.

AZDelivery Jumper Wire Cavalier Câble : Amazon.fr

Dupont jumper wires Figure 9: Dupont jumper wires for connections

Wiring Map

Each component is connected to a specific ESP32 pin, with clear power (3.3 V or 5 V) and ground references. Below is the detailed wiring map:

Component Connection on component ESP32 pin / connection Notes
OPT101 photodiode OUT pin GPIO36 (ADC1_CH0) Analog input for light signal (0-3.3 V). VCC → 3.3 V, GND → GND.
VCC 3.3 V output Stable supply from ESP32.
GND GND Common ground with ESP32.
Button 1 (Blank) One leg to GND, other to signal pin GPIO32 Configured as INPUT_PULLUP; active when pressed (LOW).
Button 2 (Measure) One leg to GND, other to signal pin GPIO33 Same wiring and logic as above.
Button 3 (Calibrate) One leg to GND, other to signal pin GPIO25 Same wiring and logic as above.
OLED SSD1306 SDA GPIO21 I²C data line. Needs pull-ups (usually included on module).
SCL GPIO22 I²C clock line.
VCC 3.3 V Powered directly from ESP32.
GND GND Shared ground.
Calibration LED (490 nm) Anode → 220 Ω resistor → pin GPIO27 LED cathode connected to GND. Activated by firmware.
Power system 18650 Li-ion battery → TP4056 charger module Ensures safe charging (USB input).
TP4056 output → MT3608 boost converter Raises voltage to 5 V.
MT3608 5 V output → ESP32 VIN + GND Powers ESP32 and peripherals.

Rendered SVG diagram

Figure X: Lucifometer wiring schematic (rendered from SVG)

SVG source (copyable)





        

Housing and Mechanical Design

The housing of the Lucifometer was designed entirely for 3D printing, ensuring full light insulation to eliminate background noise. It includes a dedicated slot for 5 mL Falcon tubes, a lateral compartment for the OPT101 sensor, a front panel with the OLED display and the control buttons, and an accessible battery compartment. The architecture is modular, allowing for the replacement of the OPT101 with more sensitive sensors such as a photomultiplier tube in future versions. However, due to a lack of time, it was left unfinished.

Firmware (ESP32 / Arduino)

Written in Arduino C++ for ESP32, it features:

  • Button-controlled Blank/Measure/Calibrate modes
  • ADC oversampling + median/moving average filters
  • Non-volatile storage of baseline and calibration factor
  • OLED live readout (RLU)
  • Serial monitor output for logging

Note:

Below, the code for the Arduino process:

Firmware ESP32 Arduino

Calibration

Calibration is achieved using a high-intensity 490 nm LED placed at a fixed distance from the sensor. Pressing the calibration button activates the LED, and the resulting signal is measured and stored as a reference. This procedure serves as a diagnostic tool to verify sensor operation, provides a baseline for comparing different devices, and forms the basis of semi-quantitative calibration curves. Inspired by standard photometric practices, this calibration protocol is simplified for field usability.

Validation Tests

Due to time limitations, we were unable to complete the full assembly of the Lucifometer and therefore could not carry out experimental validation. The protocol described here remains theoretical and will be applied in the future. Planned tests included verifying the ability of the device to detect bacterial bioluminescence in response to PFAS, evaluating the linearity of the OPT101 sensor by comparison with a commercial luminometer, assessing reproducibility with a target coefficient of variation below 10%, and confirming the absence of light leakage into the housing. Future work will involve correlation studies between light intensity and PFAS concentrations, comparisons across multiple Lucifometers to evaluate inter-device reproducibility, and tests on real environmental water samples.

Perspectives

The Lucifometer was conceived as a modular and extensible platform. Future versions could integrate more sensitive detectors such as photomultipliers or advanced CMOS sensors, as well as higher resolution ADCs like the ADS1262. Optical filters centered around 490 nm could improve signal specificity. Data logging on SD cards, wireless transmission via Bluetooth or LoRa, and a custom PCB to replace the breadboard are all foreseen. A miniaturized and waterproof version would allow in situ deployment. On the software side, automated calibration routines and mobile applications displaying the data in graphical form are envisioned.

Visuals and Resources

To complement this documentation, we provide visual and technical resources. These include 3D schematics of the housing, wiring diagrams linking the ESP32, OPT101, OLED display, LED, and buttons, photos of the breadboard prototype, and the open-source firmware available on GitHub.

Summary:

The Lucifometer is therefore an open-hardware solution that combines synthetic biology, electronics, and 3D printing to address an urgent societal challenge: decentralized and accessible PFAS detection. It is low-cost, less than 300 dollars.