// the find
neosoultech/bioimpedance_msp430_test
MSP430 + ST25DV + MAX30002 test code for phone-powered embedded wearable bioimpedance sensor
Bring-up and demo firmware for a wearable bioimpedance sensor. An MSP430FR2433 drives a MAX30002 for BioZ measurement and an ST25DV NFC tag, then writes the result as an NDEF text record that a phone reads through a Power Apps front end. It is for embedded developers building phone-powered biosensing prototypes, not a reusable library.
The averaging logic is worth reading: discard the first 64 settled samples, compare two 16-sample blocks, and fall back to the later block when they disagree by more than 500 counts. It is a cheap stability check, and the README says what it is for. Disabling the digital HPF is a deliberate trade-off, and the README explains it: the HPF drifted static skin or lesion impedance toward a false low baseline. The ISR only sets flags and all work happens in the main loop, which keeps interrupt timing predictable on a small MCU. The I2C timeout and bus-recovery helpers address a real failure mode, stuck buses after NACKs, that most demo code ignores.
The 500-count mismatch threshold is a magic number with no stated derivation from noise or the count-to-ohm scale. The approximate ohm fields in the payload have no described calibration, so the numbers can't be compared across boards or against a known reference load. By the README's own figures (32 sps, 96 samples per path), a measurement takes about six seconds of sample time before waits and settling overhead, which is a long time to hold a phone to a tag. Testing is a hardware bring-up ladder gated by compile-time flags, with no host-side tests, so regressions are caught only by hand. The repo also commits Debug/ and Release/ build outputs (.obj, .out, .map) and is named st25dv_ftm_test although the README says the demo does not use the FTM path, so it reads as a working folder rather than a clean project.