Companion code for "DropleX: Liquid Sensing on Tablet Touchscreens" (IMWUT 2026).
DropleX is the first system that enables liquid sensing using the capacitive touchscreen of commodity tablets with no hardware modification required. Our system is able to detect microliter-scale liquid samples, and perform through-container measurements for liquid analysis.
Samsung Galaxy Note 10.1 (2014 edition) with Atmel maXTouch MXT1066T2 (52 × 32 electrode grid, 4.2 mm pitch). Raw delta values are read via mxt-app (open-source CLI, requires root).
Root access is required. A standard (non-rooted) tablet will not work.
firmware/— Android app that streams live capacitance data and renders it as a real-time heatmap.regions/— Extracted sensor-region tensors (.npz) used directly by training scripts.tablet_session_visualizer.py— Desktop tool to play back recorded sessions as an animated heatmap. Click a region to extract and save it toregions/.train_*.py— Training scripts for each experiment:train_liquid_classifier_rf.py— liquid type (tap / DI / ethanol)train_coke_spiking_classifier.py— Coke ethanol-spiking leveltrain_wine_classifier.py— wine adulterationtrain_nacl_classifier.py— NaCl concentration
example_model_inference.py— Load a bundled model and run a prediction.my_models/— Pre-trained CNN (Coke/ethanol spiking), available as.pth.ref_normal.csv— Reference capacitance map snapshot at state of rest.
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# Visualize a session and extract sensor regions
python tablet_session_visualizer.py --f path/to/session
# Run the bundled pre-trained model
python example_model_inference.py --model my_models/coke_spiking_multiclass_*.pth --sample
# Reproduce a paper experiment
python train_coke_spiking_classifier.py \
--classes unadulterated,ethanol10,ethanol30,ethanol50,ethanol80 --epochs 50All training scripts accept --help for the full option list.
Raw tablet recordings are not included. The regions directory contains processed example tensors used by the scripts. To reproduce the experiments, prepare recordings in the format expected by tablet_session_visualizer.py, or request the research dataset from the authors.
@article{10.1145/3810205,
author = {Zhang, Siqi and Goel, Mayank and Chan, Justin},
title = {DropleX: Liquid Sensing on Tablet Touchscreens},
year = {2026},
issue_date = {June 2026},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {10},
number = {2},
url = {https://doi.org/10.1145/3810205},
doi = {10.1145/3810205},
journal = {Proc. ACM Interact. Mob. Wearable Ubiquitous Technol.},
month = jun,
articleno = {74},
numpages = {40},
keywords = {liquid testing, capacitive sensing}
}