System and Method for Multi-Disease Screening via Commodity MOX Sensor Array with Edge-Deployed Neural Network Classification of Breath Volatile Organic Compounds
Abstract
Disclosed is a system and method for non-invasive multi-disease screening using a low-cost electronic nose comprising four commodity metal-oxide semiconductor (MOX) gas sensors (Bosch BME688) configured as a cross-reactive array, each running distinct heater temperature profiles to generate multidimensional volatile organic compound (VOC) response signatures from human breath samples. The sensor array is controlled by an ESP32-S3 microcontroller running a quantized INT8 convolutional neural network (CNN) model via TensorFlow Lite Micro for on-device classification. The system includes a controlled breath sampling subsystem with micro diaphragm air pump, digital flow meter (Sensirion SFM3019), activated carbon baseline scrubber, and 3D-printed or borosilicate glass sampling chamber. The complete device operates on battery power (3.7V 2000mAh LiPo), logs raw sensor data to local microSD storage, displays classification results on an integrated OLED display, and achieves a total bill of materials cost of approximately $87 USD. The system is designed for community-scale screening and open-source training data collection, not as a standalone diagnostic device.
Field of the Invention
This invention relates to biomedical sensor systems, specifically to low-cost, portable electronic nose devices using commodity semiconductor gas sensor arrays with edge-deployed machine learning for classification of volatile organic compound patterns in human breath as indicators of disease states including but not limited to Parkinson's disease, lung cancer, gastric cancer, colorectal cancer, Crohn's disease, ulcerative colitis, multiple sclerosis, chronic kidney disease, and pre-eclampsia.
Background
Human breath contains over 1,000 volatile organic compounds in concentrations ranging from parts-per-million to parts-per-trillion. Disease processes alter cellular metabolism, producing characteristic changes in the VOC profile exhaled by affected individuals. Joy Milne demonstrated the biological principle in 2012 by correctly identifying Parkinson's disease from the sebum odor of T-shirts worn by patients and controls, including one "false positive" control who was subsequently diagnosed eight months later. Barran et al. at the University of Manchester confirmed the chemical basis by identifying specific VOC biomarkers (hippuric acid, eicosane, octadecanal, perillic aldehyde) that differ systematically between PD patients and controls using gas chromatography-mass spectrometry (ACS Central Science, 2019).
Haick et al. at Technion demonstrated multi-disease classification using an artificially intelligent nanoarray of gold nanoparticles and single-walled carbon nanotubes. In a study of 2,808 breath samples from 1,404 subjects across 9 clinical centers in 5 countries, the system classified 17 different diseases with an average accuracy of 86% (ACS Nano, 2017). A team at Zhejiang University achieved 94.4% classification accuracy for Parkinson's disease from ear canal secretions using a GC-SAW sensor paired with a CNN (Analytical Chemistry, 2025).
Existing patented systems use proprietary sensor architectures. Haick holds US 11,181,519 B2 and at least nine related patents covering cross-reactive nanoparticle sensor arrays with pattern recognition. Owlstone Medical holds EP 3,448,254 A1 covering FAIMS-based chemical detection with selective breath fraction collection. US 11,045,111 B2 covers integrated sensor-plus-diagnostic-module architecture. US 2021/0186367 A1 covers modular VOC detection with replaceable disease-specific sensor cartridges and molecularly imprinted polymer sensors.
The gap in the prior art is a complete, open-source, sub-$100 disease screening system built entirely from commodity components (no custom nanoparticles, no proprietary FAIMS hardware, no specialized fabrication) that runs neural network inference on-device without cloud connectivity and is designed for community-scale data collection rather than point-of-care diagnosis.
Detailed Description
1. Sensor Array Architecture
The sensing element comprises four (4) Bosch BME688 MOX gas sensors mounted on SparkFun SEN-19096 Qwiic breakout boards, connected via I2C bus to the microcontroller. The BME688 integrates a MOX sensing element, temperature sensor, humidity sensor, barometric pressure sensor, and programmable heater in a 3mm x 3mm LGA package. Each sensor's MOX layer changes electrical resistance when volatile organic compounds adsorb to the heated metal-oxide surface.
The four sensors are configured with distinct heater temperature profiles to maximize cross-reactivity:
- Sensor A: Low-temperature sweep (150-250°C), 10 steps, 50ms per step. Preferentially sensitive to alcohols, aldehydes, and ketones.
- Sensor B: Mid-temperature sweep (250-350°C), 10 steps, 50ms per step. Preferentially sensitive to aromatic hydrocarbons and esters.
- Sensor C: High-temperature sweep (350-450°C), 10 steps, 50ms per step. Preferentially sensitive to alkanes and combustion products.
- Sensor D: Pulsed rapid cycle (200°C and 400°C alternating, 25ms intervals). Exploits the differential kinetics of adsorption and desorption at different temperatures to capture transient VOC signatures invisible to steady-state measurements.
Each heater cycle generates a 40-dimensional resistance vector (10 steps x 4 sensors) per measurement. At a 1 Hz sampling rate over a 30-second breath capture window, the system produces a 40 x 30 = 1,200-element feature matrix per sample. Including the co-located temperature, humidity, and pressure readings from each BME688 (12 additional channels), the total feature space is 1,560 elements per sample.
2. Breath Sampling Subsystem
The breath sampling system comprises:
- Intake mouthpiece: Disposable polypropylene tube (medical-grade, individually sealed) with one-way valve to prevent backflow from the sensor chamber.
- Dead space rejection: The subject exhales through the mouthpiece while the system monitors flow rate via the Sensirion SFM3019 digital flow meter. The first 150mL of exhalation (anatomical dead space) is vented to atmosphere through a solenoid-controlled bypass. Alveolar air is then routed to the sensor chamber. The 150mL threshold is configurable via firmware for pediatric or reduced-lung-capacity subjects.
- Sensor chamber: A 3D-printed PLA or borosilicate glass cylinder (25mm diameter x 80mm length, approximately 39mL volume) housing the four BME688 breakout boards mounted on an internal PCB carrier. The chamber includes inlet and outlet ports with medical-grade silicone gaskets.
- Baseline scrubber: An activated carbon cartridge (2g granulated, replaceable) in the airflow path upstream of the sensor chamber provides scrubbed ambient air for baseline calibration before each breath sample. The system runs a 60-second baseline capture on scrubbed air before each measurement cycle.
- Micro pump: A 3V micro diaphragm air pump draws breath through the chamber at a controlled 200mL/min flow rate, ensuring consistent sample delivery and preventing condensation from stagnant airflow.
- Exhaust filter: A second activated carbon cartridge on the exhaust port prevents VOCs from contaminating the testing environment.
3. Microcontroller and Edge Inference
The ESP32-S3 DevKitC-1 (N16R8 variant, dual-core Xtensa LX7 at 240MHz, 16MB flash, 8MB PSRAM) serves as the system controller. It manages I2C communication with the four BME688 sensors, controls the solenoid valve and pump via GPIO pins and a MOSFET driver, reads the SFM3019 flow meter, logs raw data to microSD, runs neural network inference, and displays results on a 0.96" SSD1306 OLED (128x64 pixels, I2C).
The classification model is a quantized INT8 convolutional neural network deployed via TensorFlow Lite Micro. The model architecture:
- Input layer: 1,560-element feature vector (40 resistance channels x 30 timesteps + 12 environmental channels x 30 timesteps), reshaped to a 52 x 30 x 1 2D input tensor.
- Conv1D block 1: 32 filters, kernel size 3, ReLU activation, batch normalization, max pooling (2).
- Conv1D block 2: 64 filters, kernel size 3, ReLU activation, batch normalization, max pooling (2).
- Flatten + Dense: 128 neurons, ReLU, dropout 0.3.
- Output: N-class softmax (N = number of disease categories in training data + 1 healthy control class).
Quantized model size is approximately 180KB, well within the ESP32-S3's 16MB flash. Inference latency is under 100ms per classification. The model can be retrained and reflashed via USB-C without hardware modification.
Alternative inference paths: Bosch's proprietary BSEC 2.0 (Bosch Sensortec Environmental Cluster) library provides sensor compensation and drift correction algorithms, and BME AI Studio provides a GUI for training custom classification models exportable to the ESP32. Edge Impulse provides a free-tier cloud platform for sensor data ingestion, model training with automated architecture search, and one-click deployment to ESP32 targets.
4. Calibration and Drift Mitigation
Sensor drift is the primary deployment failure mode for MOX-based systems. The disclosed system implements three mitigation strategies:
- Per-session baseline correction: Every measurement session begins with a 60-second baseline capture on scrubbed ambient air. The resistance vector from this baseline is subtracted from all subsequent breath measurements, removing the contribution of ambient VOCs and sensor aging from the signal.
- Relative ratio features: Instead of using absolute resistance values, the classification model is trained on inter-sensor resistance ratios (Sensor A/B, A/C, A/D, B/C, B/D, C/D) at each timestep. Ratiometric features are inherently more stable against uniform drift than absolute values.
- Periodic reference gas calibration: An optional reference gas ampoule (saturated headspace of a standardized solution, e.g., 100ppm ethanol in distilled water) can be sampled monthly to quantify drift and apply a correction factor. The firmware stores calibration history and flags when drift exceeds a configurable threshold (default: 20% deviation from initial calibration).
5. Data Collection Protocol for Community Screening
The system is designed to operate as an open data collection instrument. Each measurement session records:
- Raw resistance time series from all four sensors at all heater steps (1,200 values x 30 seconds = 36,000 data points per session).
- Environmental covariates: ambient temperature, humidity, barometric pressure (from the BME688 environmental sensors), and sampling flow rate (from SFM3019).
- Subject metadata (entered via companion app or USB serial terminal): age, sex, smoking status (current/former/never, pack-years if applicable), last meal time, current medications, known diagnoses.
- Device metadata: firmware version, sensor serial numbers, hours since last calibration, drift correction factors in effect.
All data is stored locally on microSD in CSV format with per-session directories. A companion Python script (provided in the open-source repository) validates data integrity, anonymizes subject identifiers via SHA-256 hashing, and packages sessions for upload to a centralized open dataset repository. The data schema is designed for compatibility with the Machine Learning for Health (ML4H) community data standards.
6. Bill of Materials
| Component | Part Number / Description | Unit Cost (USD) | Qty | Extended Cost |
|---|---|---|---|---|
| MOX gas sensor array | Bosch BME688 on SparkFun SEN-19096 Qwiic breakout | $7.50 | 4 | $30.00 |
| Microcontroller | ESP32-S3 DevKitC-1 (N16R8) | $10.00 | 1 | $10.00 |
| Sampling pump | 3V micro diaphragm air pump, 200mL/min | $4.50 | 1 | $4.50 |
| Flow meter | Sensirion SFM3019 digital flow meter | $12.00 | 1 | $12.00 |
| Sampling chamber | 3D-printed PLA or borosilicate glass tube, 25mm x 80mm | $3.00 | 1 | $3.00 |
| Baseline scrubber (x2) | Activated carbon cartridge, 2g granulated | $2.50 | 2 | $5.00 |
| Battery + charger | 3.7V 2000mAh LiPo + TP4056 USB-C charge board | $5.50 | 1 | $5.50 |
| Display | 0.96" SSD1306 OLED 128x64, I2C | $5.00 | 1 | $5.00 |
| Storage | 32GB microSD card | $5.00 | 1 | $5.00 |
| Connectors and misc | Qwiic cables, JST connectors, headers, MOSFET driver, solenoid valve, enclosure | $7.00 | 1 | $7.00 |
| Total Bill of Materials | $87.00 | |||
Claims
The following claims describe the inventive concepts disclosed herein and dedicated to the public domain:
- A portable breath analysis device comprising a cross-reactive array of four or more commodity metal-oxide semiconductor (MOX) gas sensors, each configured with a distinct programmable heater temperature profile, connected to a microcontroller running a quantized neural network for on-device classification of volatile organic compound patterns associated with disease states, wherein the total hardware cost is less than $100 USD.
- The device of claim 1, wherein the MOX gas sensors are Bosch BME688 or equivalent integrated MOX/environmental sensors, and the distinct heater profiles span a range from 150°C to 450°C in at least three non-overlapping temperature bands to exploit differential chemical selectivity at different operating temperatures.
- The device of claim 1, further comprising a breath sampling subsystem with dead space rejection, wherein the subsystem monitors exhalation flow rate via a digital flow meter and diverts a configurable initial volume (default 150mL) of anatomical dead space air to atmosphere before routing alveolar air to the sensor chamber.
- The device of claim 1, further comprising a per-session baseline calibration system wherein scrubbed ambient air is sampled through an activated carbon cartridge for a defined period (default 60 seconds) before each breath measurement, and the resulting baseline resistance vector is subtracted from subsequent breath measurements to compensate for ambient VOC contamination and sensor aging.
- The device of claim 1, wherein the neural network classification model is trained on inter-sensor resistance ratios rather than absolute resistance values, providing inherent stability against uniform sensor drift without requiring external calibration gas.
- A method for community-scale disease screening data collection using a network of portable breath sensor devices as described in claim 1, wherein each device records raw sensor time series, environmental covariates, anonymized subject metadata, and device calibration state in a standardized schema compatible with federated machine learning, and wherein the collected data is contributed to an open dataset repository for collaborative model training across multiple geographic sites.
- The method of claim 6, wherein the classification model deployed on each device is periodically updated via firmware reflash as the centralized open dataset grows, and wherein model performance is tracked across device serial numbers to identify and compensate for unit-to-unit sensor variation.
- A system for non-invasive multi-disease screening comprising: (a) a handheld breath collection and sensing unit as described in claims 1-5; (b) a companion software application that manages subject enrollment, displays classification results with confidence intervals and disclaimer text, and transmits anonymized session data to a centralized repository; (c) a cloud or institutional server that performs federated model training on aggregated multi-site data and distributes updated classification models to field devices; wherein the system operates as an open-source screening tool designed to generate training data for regulatory-grade diagnostic development, not as a standalone diagnostic device.
- The device of claim 1, wherein a fourth sensor in the array operates in a pulsed rapid-cycle mode alternating between two temperatures (default 200°C and 400°C at 25ms intervals), exploiting differential adsorption and desorption kinetics to capture transient VOC signatures that are not detectable by steady-state resistance measurements.
- The device of claim 1, further comprising an optional reference gas calibration ampoule (saturated headspace of a standardized solution, default 100ppm ethanol in distilled water), sampled at defined intervals (default monthly), with firmware that stores calibration history and generates drift alerts when deviation from initial calibration exceeds a configurable threshold (default 20%).
Referenced Prior Art
- Haick et al., "Diagnosis and Classification of 17 Diseases from 1404 Subjects via Pattern Analysis of Exhaled Molecules," ACS Nano, 2017
- Barran et al., "Discovery of Volatile Biomarkers of Parkinson's Disease from Sebum," ACS Central Science, 2019
- Zhejiang University, "GC-SAW + CNN for PD Detection from Ear Canal Secretions," Analytical Chemistry, 2025
- US 11,181,519 B2, "System and method for differential diagnosis of diseases" (Haick/Technion, granted 2021)
- EP 3,448,254 A1, "Breath Collection Apparatus and Method" (Owlstone Medical)
- US 11,045,111 B2, "Real time breath analyzer for detecting volatile organic compounds" (granted 2021)
- US 2021/0186367 A1, "Modular VOC detection system with replaceable sensor cartridges" (pending)
- WO 2020/005874 A1, "Breath analysis methodology for medical diagnostics"
- Moglia, "nonhumanscent: ML-assisted chemical identification board," GitHub (open source)
- Bosch Sensortec, "BME688 Digital Low Power Gas, Pressure, Temperature & Humidity Sensor," Product page
Disclaimer
This disclosure describes a system architecture and component selection for community-scale data collection and research. It is not a medical device. It has not been validated in clinical trials. It has not received FDA clearance or approval for any diagnostic indication. Classification outputs from this system should not be used to diagnose, treat, or make clinical decisions about any disease. The system is intended to generate standardized, open training datasets that may eventually support the development of regulatory-grade diagnostic devices through established clinical validation pathways.