Flexible circuit fabrication

Flexible circuits, designed in AutoCAD 2021, were externally manufactured (PCBWay, FlexPCB 413) and laser-cut using an LPKF Protolaser U4. These panels consisted of 12.5 µm Polyimide, 15 µm Adhesive, 12 µm Copper, 25 µm Polyimide, 12 µm Copper, 15 µm Adhesive, and 12.5 µm Polyimide. Following the laser cutting, the PCBs were cleaned using a commercial ultrasonic cleaner (Vevor, 2 L) for 2 min in flux (Superior #71, Superior Flux and Manufacturing Company), then rinsed with deionized water. The components, all commercially available, were manually placed and reflowed using low-temperature solder paste (Chip Quik, SMD291AX).

Circuit design and fabrication

A serpentine-shaped dipole antenna tuned to resonate at 915 MHz was assembled with a full bridge rectifier, using hand-placed commercially available components and reflowed with low-temperature solder paste. The rectifier incorporated low-forward-voltage Schottky diodes (Skyworks, SMS7630-061) and a smoothing capacitor. An exposed copper strip node enabled direct connection to a 3.7 V battery, with capacities ranging from 30 mAh to 100 mAh (BIHUADE 400909, CBB B083NWXLTK), charged through harvested energy. Device power was controlled by a single-throw single-pull switch (CUS-12TB). To ensure stable operation and protect against overvoltage, a 3.3 V low-drop-out (LDO) regulator supplied power to the microcontroller. The Bluetooth Low Energy (BLE) microcontroller System on a Chip (SoC) (DA14531) was programmed by attaching flexible wires (Calmont) to General Purpose Input/Output (GPIO) pins designated for SW_CLK and SW_DATA, using Dialog’s SmartSnippet Studio software. The BLE SoC communicated via I2C with the dual-gas sensor setup through a custom breakout node that ascended a serpentine vertical gradient. This dual-gas sensor system featured a sensor footprint with I2C addressing pins properly set to the required voltages on both the top and bottom layers of the flexible circuit board. 4.7 kΩ resistors were connected in parallel to the communication lines and input voltage. Data transmission occurred over the BLE protocol at 2.45 GHz using an external chip antenna (YA-GEO, ANT1608LL14R2400A). The gas-sensing modalities did not employ any onboard filtering. Assembly steps are illustrated in Supplemental Fig. 8a.

Biosymbiotic integration of electronics

2D mesh drawings were exported from AutoCAD and imported into 3D modeling software (Autodesk, Fusion 360) for extrusion. The resulting models were then exported as Stereolithography (STL) files and brought into 3D slicing software (Prusa3D, PrusaSlicer), which converts the models into machine code compatible with a 3D printer. A fused deposition modeling printer (Creality, CR-10S) was modified to include an all-metal direct drive extruder (Creality, Sprite) and equipped with an automatic bed-leveling unit (Antclabs, BLTouch). TPU filament (NinjaTek, NinjaFlex) was printed at a speed of 18 mm/s, with the extruder set to 225 °C and bed at 45 °C. A finalized 3D printed biosymbiotic mesh structure is shown in Supplemental Fig. 8b.

Diffusion-based gas sensor cavity design and biosymbiotic integration

A 12 × 12 mm square was created as the base of the DBGS to interface with the functional unit of previous biosymbiotic device designs. This was drawn in AutoCAD 2021 as the base geometry of the gas cavity. Aligned with the exterior perimeter edge, twenty rectangles of dimension 1.5 × 1.5 mm were uniformly added with 0.5 mm of spacing between them. An inner section, comprised of 12 rectangles of dimension 1.5 × 0.75 mm, we placed directly in the open space between outer rectangles, spaced 0.5 mm apart. The interior perimeter was defined by a square whose perimeter aligned with the exterior edges of the interior rectangles. This file was exported in.dxf format to Autodesk Fusion 360, where the base geometry was extruded 0.45 mm. Each rectangle was extruded 6 mm, and a new sketch was generated on the top to include a 144 mm2 square, also extruded to 0.45 mm to seal the chamber. A final sketch was generated on this monolithic block, to include a square centered at x and y centroid, of dimensions provided by manufacturer datasheet of the various sensors used. The square was offset by 0.1 mm in the x and y directions to account for print imperfections. This square was used to create a cut in the center of the top covering. Additionally, an arc structure was created to provide stability to relatively long-distance serpentine interconnects between electronics, which was lofted along the arc from 0.45 mm to 6 mm. The completed geometry file was exported as a stereolithography file and imported into a 3D slicing software (Chitubox Basic). Contrary to past biosymbiotic device structures, this component is printed utilizing light-sensitive UV resin (UltraFast, UltraFlex) in a stereolithography-capable printer (Phrozen Sonic Mega 8k). The geometry file was sliced at 0.16 mm layer height, with a bottom layer count of 8, bottom exposure time of 15 s, and normal layer exposure time of 2.1 s. Lift speed and distance were 100 mm/min and 4 mm, respectively. After printing, cavities were cleaned in 90% Isopropyl alcohol in a wash and cure station (Anycubic Wash and Cure). Once cleaned and cured, the cavities were adhered to a biosymbiotic mesh via UV-glue (Damn Good, 20910DG) and exposed to UV light for 5 min.

Electronics integration with biosymbiotic structures

Electronics, as described in “Circuit Design and Fabrication,” integrate with biosymbiotic platforms by an FDM printed nonconductive thermoplastic polyurethane (TPU) (NinjaTek, NinjaFlex) of shore hardness 85 A in a 0.45 mm thick device housing with 0.2 mm walls printed directly into the biosymbiotic mesh structure. The device housing features a 0.1 mm offset to fit the assembled device footprint. Assembled dual-gas sensing nodes had their perimeters lightly coated in UV-glue (Damn Good, 20910DG), and were press-fit into the cavity opening as designed. This node was exposed to UV light for 5 min to fully bond the device to its cavity. Carefully, the outer perimeter was again lightly coated in UV-glue, and a protective housing harvested from a second cavity opening section was glued into place, shown in Supplemental Fig. 8d. The assembled electronics as described in Circuit Design and Fabrication are placed into the biosymbiotic structure and held in place by a small amount of Super Glue (Cyafixed, Instant Adhesive). Full encapsulation using photosensitive UV SLA resin (SuperFast, SuperFlex) that is mixed with one drop of white paint (Alumulite, White), is applied and cured with UV exposure (Supplemental Fig. 8e). The completed DBGS device is shown on-body in Supplemental Fig. 8f.

Benchtop experiments and characteristic equation for sweat rate

A PID tuned 3D printer bed (Creality, Ender 3) was heated to 36.5 C to mimic physiological skin temperature. A rectangular prism of dimensions 50 × 50 × 7.5 mm was 3D modeled in Fusion 360 with a centered hole of outer diameter 1.15 mm. This was uploaded to a 3D slicing software and FDM printed using polylactic acid (Overture, Black), a rigid plastic. In the centered hole, a small PTFE tubing of matching outer diameter and inner diameter of 0.6 mm was fed through and glued. The far end of the tubing was attached to a precision pipette (ONiLAB, YE187AL0051978), allowing 0.5 µL increments in fluid flow. The DBGS cavity was connected using a custom Arduino script using I2C communication. Ambient humidity was controlled by trapping the experimental setup in a non-gas-permeable enclosure with a tray of water heated by the hot plate. This humidity was allowed to build over time, and measurements were not taken until stable ambient humidity readings were outputted by the sensor. Low humidity measurements were taken without an enclosure, and each step-wise increase was facilitated by variable air inlet heights of the enclosure. Sweat rate was calculated by polynomial curve fit to the aggregate data per unit area as reported in Eq. 1.

Axial load to break the skin seal

A biosymbiotic DBGS mesh was worn on the subject’s forearm. The subject rested their arm in a 3D printed cradle that limited movement. A string was threaded through the DBGS cavity and tied to a calibrated load cell (SparkFun, HX711). A 3D-printed stretching stage was designed in Autodesk Fusion 360, consisting of one stationary arm on which the load cell sits and one mobile arm consisting of a stepper motor (Creality, 42-40) and shaft, which may be displaced (JRGJ, LDSW-T8X8-350). This was displaced until a gap was visible between the DBGS cavity and the subject’s skin. Force outputs were collected by a microcontroller (Arduino Nano) via serial logger (CoolTerm) and converted from kg to Newtons. Sweat was artificially added to the skin by use of a single spray of tap water from a spray bottle (Hydior, 2 oz) on the dorsal forearm prior to measurement.

Simulations

The cavity, as described in diffusion-based gas sensor cavity design and biosymbiotic integration, was recreated in ANSYS Workbench 2024b using ANSYS SpaceClaim geometry software. All CFD simulations were performed in the ANSYS Fluent environment. An exterior enclosure of dimensions 240 mm × 120 mm × 240 mm was added to allow for analysis of air flow around and within the housing. Directly below the housing unit, a plate was created to block off air flow entering from the skin-interface opening. The crown housing and base plate were then subtracted from the enclosure via the Boolean function. Interior visualization of the housing was performed by taking a cross-section of the full geometry. To define the boundary conditions of the system, named selections of the inlet, outlet, surrounding walls, housing, and the symmetry wall were created. Linear meshing was performed, utilizing default element sizing and adaptive sizing of resolution 2. The setup of the simulation involved the use of a pressure-based solver in steady-state conditions, with the K-epsilon modeler. Air was defined as the material of the surrounding enclosure, and TPU as the material of the base plate. Note that the material of the base plate is not important in this case, as energy transfer is not being modeled. Simulations were conducted for inlet fluid velocities of 4.470 m/s (10 mph) and 13.4112 m/s (30 mph). The outlet of the system was set as a pressure outlet, with a zero-gauge pressure. Solution methods involved second-order analysis, coupled scheme, and a least squares-based gradient. Standard initialization was performed from the inlet of the system, relative to the cell zone. Calculations involved 250 iterations with an automatic time-step. Results were viewed via CFD-Post. Fluid velocity throughout the system was visualized with the help of streamlines and velocity vectors. The average velocity of the fluid passing through the interior of the housing was determined via a point cloud of 100 points spanning 0.25 mm placed normal to the direction of airflow at the sensor interface and a volume generated to intersect with the walls of the sensing volume.

On-body data collection

In all cases, the DBGS gas-sensing interface was affixed to the subject’s dorsal forearm, with sensing volume located in line with, and inferior to, the distal humeral head. No skin preparation was undertaken. Data were initially collected via a custom Python script run on a researcher’s laptop or a single-board portable computer using Python 3.9 interpreter (Raspberry Pi 4b). Later instances of data collection were accomplished through a custom application developed by the research team utilizing the MIT App Inventor platform. This application was deployed on a BLE-enabled Google Pixel 6a.

Stationary bike tests

To compare device performance with a standard methodology for capturing localized sweat, subjects were asked to complete a steady-state exercise bout on a stationary bike. The subjects were permitted to use their own bicycles, affixed to a trainer (Saris, Fluid) or fitted to a researcher-provided stationary cycling setup. Subjects were given their choice of wrist-based (Garmin, Fenix 7S) or thorax-based (Polar, H10) commercial heart rate monitors to provide real-time feedback on physiological load incurred by the exercise test. The subject was outfitted with a DBGS sweat tracking sensor on their left dorsal forearm, and an analogous biosymbiotic-mimicking TPU mesh platform on their right dorsal forearm, matched for location. The biosymbiotic mimicking platform, which we will call the gold standard band, featured a 50 × 50 mm square extruded 0.45 mm, under which an absorbent swab (Scott, 75147) was placed to capture the accumulation of sweat over time. These swabs were cut to exactly match the inlet area of the DBGS cavity, pre-weighed, and sectioned prior to experiment start. Starting at minute zero, the subject had a swab placed underneath the gold standard band using sterilized tweezers (Kaverme, ESD-13) by the experimenter and immediately began cycling. These swabs were removed from the gold standard band every 2 min, on the minute, and replaced with the next swab immediately. Swabs were weighed on a high-precision scale (Ohaus, PR124), and raw accumulated sweat volume was calculated by subtracting post-exercise weight from pre-experiment tare weight. Subjects were instructed to self-monitor their heart rate and spend the first 5 min of their ride warming up at heart rates corresponding to self-tolerated values below 70% of their reported or calculated maximum heart rate. For subjects without knowledge of their maximum heart rate, this number was calculated using Eq. 2.

$${{Max\; HR}}=220-{{age}}$$

(2)

After 5 min of warm-up, subjects were instructed to increase the intensity at which they were cycling to 70–80% of their maximum heart rate value. This intensity was maintained for 30 min, after which the subject was asked to cool down for 5 min, defined by cycling at a lower intensity that brings heart rate down below 70% of maximum once again. In some cases, variable fan speeds were introduced to evaluate swabbed sweat response. Fans were placed roughly 2 m from subjects, or the minimum distance necessary for the subject to qualitatively feel uniform cooling across their thorax and data collection zones on the forearm.

Anthropometric data for stationary bike tests

Four subjects participated in stationary bike tests against gold standard. Their anthropometric data in aggregate are listed in Table 1.

Table 1 Anthropometric data of the participants

Data processing of stationary bike tests

Data was exported as a comma-separated variable datatype. This was uploaded into MATLAB R2021a, where timestamps were derived from Unix time, aided by a real-time clock module (FOSA, DS1307) in the Raspberry Pi platform or native timestamps from the researcher’s laptop. Raw humidity values obtained from top and bottom sensors were fed into Eq. (1) and post-processed via the use of a low-pass filter of 0.1 Hz at a sampling rate of 2 Hz. As concurrent sensor readings relied on BLE client readings from two separate BLE server characteristics, these often were offset; therefore, timestamped NaN datapoints were generated and excluded from analysis. Gold standard band swab measurements in grams were obtained by subtracting each swab’s tare weight in grams from the final weight in grams and dividing by surface area (0.29461 cm2). This value was converted to milligrams of water, which converts directly to the final unit of µL/cm2/min. Each value was compiled into an array, with a corresponding time array increasing from zero by two until 40, for a total of twenty measurements per test. For statistical comparison, the continuous data stream from the DBGS sweat sensor was iterated through a for loop to produce an average sensor reading over each 2-min period corresponding to swab replacement. Per test, this generated two twenty-cell arrays, which were used in Bland-Altman and Coefficient of Variance Analysis78. All data from all subjects is eventually plotted, in which averaged sensor readings and averaged swab readings were concatenated by experiment instance, and analyzed in the same way. Data were excluded in cases where sensor saturation was achieved, defined by interior relative humidity values greater than 100% (n = 4).

Correlation metrics were obtained from identical tests performed by each subject on nonconsecutive days. These waveforms were averaged every 10 s, to generate 240 (40 min) datapoints per test. MATLAB’s corrcoef function was used to generate repeatability correlation (R), and p values.

Field-collected data

Data collected in the field initially utilized the DBGS sweat sensor and a Raspberry Pi continually running a data collection script while powered by a 99.2 W/h portable power bank (Dongguan Yuanhaoxun Technology Co., HX200K1). In future sections, this is referred to as Raspberry Pi data collection. Due to the bulk of this data collection system, a BLE-enabled Android (Google, Pixel 6a) application was developed using MIT App Inventor 2, especially useful in chronic-use experimentation. In future sections, we will refer to this as phone data collection.

Field-collected data: weightlifting

Field-collected weightlifting data, as shown in Fig. 4a was recorded via Raspberry Pi data collection. The subject wore a commercial wrist-based heart rate sensor (Garmin, Fenix 7S) and synchronized initialization of data recording from both sensors simultaneously. The subject was allowed free garment choice and wore a breathable long-sleeve sun shirt, which covered the DBGS sweat tracker. The subject performed a warm-up and lifting routine tailored to his individual goals. The warm-up routine consisted of thirteen minutes of increasing intensity of deadlift, bent-over row, hang clean, and shoulder press, beginning with an unloaded bar. The warm-up period included a progressive build on the deadlift lift to 75% of the subject’s 1 rep max. The subject was training strength gains, and as such, implemented short sets with long rests. In total, 3–5 repetitions of the deadlift were performed at 85% of the subject’s 1 rep max, followed by 3–5 min of rest between each of the four sets, as tolerated by the subject.

Field-collected data: indoor/outdoor stationary cycling

Field-collected cycling data, as shown in Fig. 4b was recorded via phone data collection. The subject followed a similar protocol to that of the gold-standard comparison stationary bike ride, using a personal road-cycling bike (Giant, AR4), and stationary trainer (Saris, Fluid) with the exception of data collection without corroboration of swabs weighed on a precision scale, and only 20 consecutive minutes in heart rate Zone 3. This experiment saw the subject synchronize wrist-based heart rate data with sweat tracking initiation. After a total of 30 min of riding (5 min warm up and cool down), the subject sat motionless until all active sweating had cessated, defined by qualitative feelings of such, heart rate readings returning to within 10% of baseline, and DBGS sweat tracker readings of under 0.05 µL/cm2/min. After the baseline was reached, the subject took his stationary cycling setup outdoors and repeated the experiment. Data collection was uninterrupted between the two tests. This was also repeated in the same manner, beginning outdoors and moving indoors.

Field-collected data: tennis

Field-collected tennis data, as shown in Fig. 4c was recorded via Raspberry Pi data collection. The subject wore the DBGS sweat tracker on their non-dominant forearm and placed the data collection module on an elevated surface to maximize Bluetooth range. The subject wore a short-sleeved shirt. Like other activities, data collection of concurrent heart rate and sweat rate was initiated simultaneously. The subject here performed a typical practice session based on his own definition and kept a running journal of changes in session goal (later assigned to warm-up, skill work, and matchplay). The warm-up consisted of informal drills centered around long baseline rallies typical of tennis workouts. The cessation of warm-up followed particularly intense movement drills that required the subject and opponent to maintain consistency while changing the flight path of the received tennis ball with each shot (otherwise known as directionals), which inevitably results in required alley-to-alley line movement. Skill work consisted of lower physiologically demanding drills, such as warming up serve, and drills designed to develop pinpoint accuracy. As mentioned, the matchplay simulation consisted of a series of three tiebreakers. In tennis scoring, points comprise games, which comprise sets, which comprise matches. In a set tiebreaker, the two players compete to be the first to win 7 points, by at least 2 points. In a match tiebreaker, the two players compete to be the first to win 10 points, by at least 2 points. These are typically chosen by players to simulate matchplay, as they introduce high-stakes point play, without requiring potentially multiple hours to complete.

Field-collected data: chronic data collection

Field-collected chronic-scale data, as shown in Fig. 4d was recorded via phone data collection. The subject wore a DBGS sweat tracker continuously for multi-day periods. This experiment began on a Monday at 8:30am, and the device was worn continuously except for instances of showering. This data collection was paused at 11:40 pm on the following Thursday. During this experiment, the subject left the state to attend a wedding and removed the device until 10:20 am on the next Monday. The device was kept in a sealed container with the power switch off, and to restart the experiment, the subject simply reattached the sensor to his arm. No additional charging or device maintenance was necessary, and the experiment terminated on that Thursday at 1:30 pm. Periods of data dropout were experienced, most notably during sleep when the connection timed out and the subject was unable to reconnect by Bluetooth. As evaluation of the effectiveness of the Bluetooth module is not the target for evaluation, this data was excluded and time-shifted resulting data to create a cohesive data set.

Field-collected data: spicy food

Field-collected high spice food intake, as shown in Fig. 4e, was recorded via phone data collection. The subject wore a DBGS sweat tracker on their left forearm and time-synced an activity tracker watch (Garmin, Fenix 7S). The subject brought a bland meal, consisting of lightly salted chicken and pasta, then added hot sauce (Dave’s Gourmet, Carolina Reaper) to the point of self-defined discomfort. The subject sat in place, unstimulated and with sensors running, for 15 min prior to food ingestion. After 15 min, the subject ate their meal over 10 min, then sat motionless and unstimulated for another 15 min to test for sweat cessation, if any.

Field-collected data: run cessation

Field-collected run cessation data, as shown in Fig. 4f, were recorded via phone data collection. This experiment simply required the subject to perform a sweat-inducing activity outdoors and continue to monitor sweat after exercise cessation. This was accomplished via a trail run activity in the Tucson Mountain Park, of which four miles were covered with an average heart rate of 155 bpm. Not pictured in Fig. 4f is an additional 30 min of exercise prior to the bounds of this graph.

Field-collected data: sleep

Field-collected sleep data, as shown in Fig. 4g, was recorded via Raspberry Pi data collection. This experiment involved a subject wearing a DBGS sweat sensor to bed to monitor sleep cycle, with concurrent output from the temperature sensor embedded in the SHT-30 hardware.

Skin gas sensor development

CO2 sensing was accomplished via a dual-sensor architecture similar to the one used in sweat tracking. Metal–oxide CO2 (Sensirion, STC31) sensors were configured to simultaneously output top and bottom sensor readings via a custom Arduino script using the default (0 × 29) and secondary (0 × 2A) I2C addresses. Communication lines were pulled up via 4.7 kΩ series resistors. Power and ground were decoupled via a 1 µF capacitor. The diffusion-based gas cavity was modified only by an increase in sensor hole size to accommodate the footprint of the sensor. Data were collected via serial interface (CoolTerm) and timestamped locally, or written directly to an SD card module (HiLetgo, 3-01-0038) via SPI protocols. Sensor architecture was integrated into a dummy biosymbiotic system with a microcontroller (Arduino, Nano) embedded in place of biosymbiotic electronics. This was attached to the left forearm for tests as described in detail in the following sections: “Diffusive-Based Gas Sensing Modality test protocol: Bike, Diffusive-Based Gas Sensing Modality test protocol: Alcohol, Diffusive-Based Gas Sensing Modality test protocol: AX-CPT.”

VOC sensing was accomplished via a slightly different dual-sensor architecture than previous iterations. A high-sensitivity metal-oxide sensor (Sensirion, SGP41) sensitive to VOC emission was chosen. This particular sensor does not support multiple I2C addresses, so two N-type MOSFETs (Nexperia, PMZ130UNEYL) were connected to SDA lines from two non-integrated VOC nodes. The voltage input was routed to digital pins on a microcontroller (NodeMCU, ESP8266) and pulsed every 200 ms, allowing data from each sensor to be read in an alternating fashion. SCLK lines were shared. Data were collected via serial interface (CoolTerm) and timestamped locally, or written directly to an SD card module (HiLetgo, 3-01-0038) via SPI protocols. Sensor architecture was integrated into a dummy biosymbiotic system with the microcontroller embedded in place of biosymbiotic electronics. This was attached to the right forearm for tests as described in detail in the following sections: “Diffusion-Based Gas Sensing Modality test protocol: Bike, Diffusion-Based Gas Sensing Modality test protocol: Alcohol, Diffusive-Based Gas Sensing Modality test protocol: AX-CPT.”

On-body data collection for CO2 and VOC DBGS paradigms

From the results of Fig. 5b, c, it was determined that an initialization and equalization period is required for the highest fidelity CO2 and VOC sensor data acquisition. A 10 min ambient equalization period for all three sensing modalities was undertaken.

CO2 calibration

CO2 calibration readings were obtained by mixing compressed air of typical ambient gas concentrations (80% O2, 0.04% CO2, 19.96% other gases) with decreasing quantities of exhaled breath in a balloon. At rest, exhaled breath is 4% CO2. The balloon is clamped to a small (3 mm inner diameter) tube which inserts gas into a sealed accumulation volume consisting of a large (100 mm2) opening to ambient air, and a small opening the size of the DBGS skin-interface (30 mm2). The DBGS CO2 cavity was sealed to the accumulation volume using masking tape. The sensor was initialized in this configuration under ambient conditions for 5 min, after which volumes of test gas were released into the mixing volume over the course of 1 min. After 1 min and complete replacement of ambient air with test concentrations, the balloon is removed, and sensor readings are captured over 2 min. The proportion of CO2 in the mixing volume was increased to 0.139–1.03% CO2 concentration, or 1390–10300 ppm. Readings from ambient-facing sensors and DBGS cavity sensors were recorded, and calibration values representing sensor response were obtained by subtracting the mean value of the entire 5 min of equalization from the maximum amplitude change, occurring within the first 20 s after the balloon was released. This calibration yielded Eq. (3), showing a linear response curve through the physiological range.

$${{CO}}_2\,({{vol}}\%) =0.49*({{Bottom}}- {{{Top}}\; {{Reading}}})+0.136{R}^2 \\ =0.991,\,{{SSE}}=0.0045$$

(3)

VOC calibration

VOC calibration readings were obtained by mixing 91% Isopropyl Alcohol (IPA) (Florida Laboratories, Isopropyl Alcohol 91%) with Distilled water in decreasing amounts, ranging from 1% to 0.0000025% by volume (107-25ppb). The DBGS VOC chamber was taped down to a large open glass container (Coccot, ASIN B0CC5MRWFH). The sensor and glass container were placed on a PID-enabled hot plate (HLHgirl, B0CGQX4M88), set to 36.5 degrees Celsius. A thin string was routed through the outer row of pillars of the DBGS, which was then used to open the test volume to ambient conditions. An enclosure was constructed around the hot plate, consisting of a 6 cm vacuum inlet located 10 cm vertically from the glass container to shield the sensing setup from the effects of breath and other ambient VOC sources. The test was initialized with test volume exposed to ambient conditions, where the sensors were equalized for 10 min. After 10 min passed, a 1.5 µL droplet of pre-mixed solution of IPA and distilled water was placed onto the small mark underneath the test volume. At this time, the sensor was sealed to the alcohol mixture, which sat for 20 min. After 20 min, the test volume was again exposed to ambient conditions for 10 min, and the test was repeated with the next concentration. Differential readings from ambient-facing sensors and test-volume sensors were captured for the entire test duration, and calibration values representing sensor response to test concentrations of VOC titrations were obtained by subtracting the mean value of the exposed-to-ambient equalization period from the maximum amplitude change. This calibration yielded Eq. (4), showing a linear response through the physiological range.

$${{VOC}}({{ppb}})=483.18*({{Top}}\!-\!{{Bottom\; Sensor\; Reading}})+1800{{R}}^2=0.994$$

(4)

Diffusion-based gas sensing modality test protocol: bike

This experiment followed the same protocol as Field-Collected Data: Indoor/Outdoor Stationary Cycling, only data collection was stopped at the termination of the indoor bike ride. DBGS sweat tracker, CO2, and VOC platforms were all attached to the subject’s dorsal forearm. The subject warmed up for 5 min with heart rate readings below 70% of maximum. After this warm-up, the subject rode at 70–80% of maximum for 25 min, followed by a 5 min cooldown and an idle period of 5 min following. The data were timestamped and temporally matched in MATLAB R2021a. Differential values of CO2 and VOC were calculated by subtracting the bottom sensor from the top sensor, then dividing the entire generated array by the maximum value in the dataset. Prior to plotting, the data were postprocessed via a smoothing spline of magnitude 0.01.

Diffusion-based gas sensing modality test protocol: alcohol

This protocol was adapted from Yoda et al.73. DBGS sweat tracker, CO2, and VOC platforms were all attached to the subject’s dorsal forearm. The subject fasted from prior mealtime (for example, a dinner experiment required no food after lunch, and a morning experiment required fasting from 8 pm the night before). The subject had all sensors attached by a sober researcher, who timesynced the start of each sensing modality. The subject sat for a 15 min equalization period with no stimuli. At this time, the researcher prepared an alcoholic drink mix containing 0.36 g of ethanol per kg of body weight. After the equalization period concluded, the subject ingested the prepared alcohol and remained seated for an additional 45 min with no external stimulus. Participants were additional members of the research team, of legal drinking age, and required to sign an Informed Consent Form as necessitated by the University of Arizona’s Institutional Review Board. The data were timestamped and temporally matched in MATLAB R2021a. Prior to plotting, the data were postprocessed via a smoothing spline of magnitude 0.01.

Diffusion-based gas sensing modality test protocol: AX-CPT

This protocol was adapted from Marcora et al.76. In this experiment, the subject saw the DBGS sweat tracker, CO2, and VOC platforms all attached to the subject’s dorsal forearm. The subject sat for a 15 min equalization period with no stimuli. After this period passed, the subject ran an executable script available for download from https://www.millisecond.com/download/library/cpt, which instantiated a 20 min version of the AX-CPT continuous performance task. In this task, the subject indicates “correct” or “incorrect” for a pairing of letters, separated by two distracting letters. When the first in a sequence of four is ‘A’, and the fourth in the sequence is ‘X’, the subject responds ‘True’. All other combinations are false. All incorrect answers are accompanied by a distracting beeping noise. After completing the test, the subject sits motionless for another 15 min equalization period. Prior to plotting, the data were postprocessed via a smoothing spline of magnitude 0.01.

Ethics

Subjects participating in reported experiments followed procedures approved by the University of Arizona Institutional Review Board under Protocol number 00005295. Each participant gave informed written consent.

Reporting summary

Further information on research design is available in the Nature Portfolio Reporting Summary linked to this article.