A small patch of handmade paper acts as a passive, capillary-driven collector against the skin. Copper terminal electrodes read its conductivity, and an ESP32-S3 converts that analog signal into salinity (ppt) using a pre-calibrated linear model.

A second ESP32-S3 reads a MAX30100 pulse sensor capturing beats-per-minute through light-based detection. Both nodes publish to the same local web dashboard — hosted directly on the chip, reachable by any device on the WiFi network, no app or pairing needed.

Node 1 — Sweat electrodesHandmade paper patch → copper electrodes → salinity via linear model
Node 2 — MAX30100 pulse sensorLight-based BPM detection
Self-hosted dashboardBoth nodes stream to one WiFi-hosted page — no external software
Diagram of the dual-sensing system: sweat electrode node and pulse sensor node both feeding into a shared ESP32-S3 web dashboard