finds.dev← search

// the find

neosoultech/bioimpedance_msp430_test

C · updated Jul 2026

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.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →