Issues with the ULPSM Sensors


The README in the referenced software repo recommends use of the evaluation board that comes with the sensors packaged as SDKs, and the software in that repo appears to have been written with this use in mind. Skipping down to the “use 2x 10K resistors” part of the README without making adjustments to the software to accommodate this change in the system is likely to cause unexpected results.

Reading the SPEC Sensor Operation Overview is suggested, as well as reviewing the ULPSM board schematic, excerpted below.

This portion of the schematic shows that the Vref potential, as produced by the ULPSM board, is created using a high-impedance voltage divider that is also used to create a bias voltage for the sensor, as described in the Operation Overview. The software is set up with the understanding that the potentials being measured were created by this arrangement.

By overdriving the Vref pin using an external, lower-impedance voltage divider, one disrupts how the Vref and sensor bias potentials are controlled, making the calculations done by the software invalid. This is perhaps also a response to the related post from the standpoint the ULPSM’s Vref pin is neither an input or an output; it is a high-impedance analog node. It will take on a (more or less) defined potential if measured carefully, but will easily take on other potentials depending on what’s connected.

Buffering and measuring the Vref pins for each sensor as suggested in the README should permit the provided example code to work more or less as intended. (Either the SPEC evaluation boards or a suitable analog circuit will do.) Otherwise, the sample code will need to be modified to account for changes to the analog system in order to provide reasonable results.