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
 Figure 1: 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
 Figure 2: 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.
 Figure 3: OLED Display 128×64 (SSD1306)
    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
 Figure 4: 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
 Figure 5: 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
 Figure 6: 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
 Figure 7: 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.
 Figure 8: BB830 Solderless Breadboard, 830 tie-points
    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
 Figure 9: Dupont jumper wires for connections
    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
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:
 
  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.
 
     
    
     
        
         
        
         
    