diff --git a/Adafruit_STHS34PF80.cpp b/Adafruit_STHS34PF80.cpp index a79633d..e3b908c 100644 --- a/Adafruit_STHS34PF80.cpp +++ b/Adafruit_STHS34PF80.cpp @@ -67,4 +67,120 @@ bool Adafruit_STHS34PF80::begin(uint8_t i2c_addr, TwoWire *wire) { } return true; +} + +/*! + * @brief Set the motion detection low-pass filter configuration + * @param config The LPF configuration value + * @return True if successful, false otherwise + */ +bool Adafruit_STHS34PF80::setMotionLowPassFilter(sths34pf80_lpf_config_t config) { + Adafruit_BusIO_Register lpf1_reg = Adafruit_BusIO_Register( + i2c_dev, STHS34PF80_REG_LPF1, 1); + + Adafruit_BusIO_RegisterBits lpf_m_bits = Adafruit_BusIO_RegisterBits( + &lpf1_reg, 3, 0); + + return lpf_m_bits.write(config); +} + +/*! + * @brief Get the motion detection low-pass filter configuration + * @return The current LPF configuration value + */ +sths34pf80_lpf_config_t Adafruit_STHS34PF80::getMotionLowPassFilter() { + Adafruit_BusIO_Register lpf1_reg = Adafruit_BusIO_Register( + i2c_dev, STHS34PF80_REG_LPF1, 1); + + Adafruit_BusIO_RegisterBits lpf_m_bits = Adafruit_BusIO_RegisterBits( + &lpf1_reg, 3, 0); + + return (sths34pf80_lpf_config_t)lpf_m_bits.read(); +} + +/*! + * @brief Set the motion and presence detection low-pass filter configuration + * @param config The LPF configuration value + * @return True if successful, false otherwise + */ +bool Adafruit_STHS34PF80::setMotionPresenceLowPassFilter(sths34pf80_lpf_config_t config) { + Adafruit_BusIO_Register lpf1_reg = Adafruit_BusIO_Register( + i2c_dev, STHS34PF80_REG_LPF1, 1); + + Adafruit_BusIO_RegisterBits lpf_p_m_bits = Adafruit_BusIO_RegisterBits( + &lpf1_reg, 3, 3); + + return lpf_p_m_bits.write(config); +} + +/*! + * @brief Get the motion and presence detection low-pass filter configuration + * @return The current LPF configuration value + */ +sths34pf80_lpf_config_t Adafruit_STHS34PF80::getMotionPresenceLowPassFilter() { + Adafruit_BusIO_Register lpf1_reg = Adafruit_BusIO_Register( + i2c_dev, STHS34PF80_REG_LPF1, 1); + + Adafruit_BusIO_RegisterBits lpf_p_m_bits = Adafruit_BusIO_RegisterBits( + &lpf1_reg, 3, 3); + + return (sths34pf80_lpf_config_t)lpf_p_m_bits.read(); +} + +/*! + * @brief Set the presence detection low-pass filter configuration + * @param config The LPF configuration value + * @return True if successful, false otherwise + */ +bool Adafruit_STHS34PF80::setPresenceLowPassFilter(sths34pf80_lpf_config_t config) { + Adafruit_BusIO_Register lpf2_reg = Adafruit_BusIO_Register( + i2c_dev, STHS34PF80_REG_LPF2, 1); + + Adafruit_BusIO_RegisterBits lpf_p_bits = Adafruit_BusIO_RegisterBits( + &lpf2_reg, 3, 3); + + return lpf_p_bits.write(config); +} + +/*! + * @brief Get the presence detection low-pass filter configuration + * @return The current LPF configuration value + */ +sths34pf80_lpf_config_t Adafruit_STHS34PF80::getPresenceLowPassFilter() { + Adafruit_BusIO_Register lpf2_reg = Adafruit_BusIO_Register( + i2c_dev, STHS34PF80_REG_LPF2, 1); + + Adafruit_BusIO_RegisterBits lpf_p_bits = Adafruit_BusIO_RegisterBits( + &lpf2_reg, 3, 3); + + return (sths34pf80_lpf_config_t)lpf_p_bits.read(); +} + +/*! + * @brief Set the ambient temperature shock detection low-pass filter configuration + * @param config The LPF configuration value + * @return True if successful, false otherwise + */ +bool Adafruit_STHS34PF80::setTemperatureLowPassFilter(sths34pf80_lpf_config_t config) { + Adafruit_BusIO_Register lpf2_reg = Adafruit_BusIO_Register( + i2c_dev, STHS34PF80_REG_LPF2, 1); + + Adafruit_BusIO_RegisterBits lpf_a_t_bits = Adafruit_BusIO_RegisterBits( + &lpf2_reg, 3, 0); + + return lpf_a_t_bits.write(config); +} + +/*! + * @brief Get the ambient temperature shock detection low-pass filter configuration + * @return The current LPF configuration value + */ +sths34pf80_lpf_config_t Adafruit_STHS34PF80::getTemperatureLowPassFilter() { + Adafruit_BusIO_Register lpf2_reg = Adafruit_BusIO_Register( + i2c_dev, STHS34PF80_REG_LPF2, 1); + + Adafruit_BusIO_RegisterBits lpf_a_t_bits = Adafruit_BusIO_RegisterBits( + &lpf2_reg, 3, 0); + + return (sths34pf80_lpf_config_t)lpf_a_t_bits.read(); } \ No newline at end of file diff --git a/Adafruit_STHS34PF80.h b/Adafruit_STHS34PF80.h index 9777405..2de56b4 100644 --- a/Adafruit_STHS34PF80.h +++ b/Adafruit_STHS34PF80.h @@ -52,6 +52,19 @@ #define STHS34PF80_REG_TAMB_SHOCK_L 0x3E ///< Ambient shock detection LSB register #define STHS34PF80_REG_TAMB_SHOCK_H 0x3F ///< Ambient shock detection MSB register +/*! + * @brief Low-pass filter configuration options + */ +typedef enum { + STHS34PF80_LPF_ODR_DIV_9 = 0x00, ///< ODR/9 + STHS34PF80_LPF_ODR_DIV_20 = 0x01, ///< ODR/20 + STHS34PF80_LPF_ODR_DIV_50 = 0x02, ///< ODR/50 + STHS34PF80_LPF_ODR_DIV_100 = 0x03, ///< ODR/100 + STHS34PF80_LPF_ODR_DIV_200 = 0x04, ///< ODR/200 + STHS34PF80_LPF_ODR_DIV_400 = 0x05, ///< ODR/400 + STHS34PF80_LPF_ODR_DIV_800 = 0x06, ///< ODR/800 +} sths34pf80_lpf_config_t; + /*! * @brief Class that stores state and functions for interacting with the STHS34PF80 */ @@ -62,6 +75,15 @@ public: bool begin(uint8_t i2c_addr = STHS34PF80_DEFAULT_ADDR, TwoWire *wire = &Wire); + bool setMotionLowPassFilter(sths34pf80_lpf_config_t config); + sths34pf80_lpf_config_t getMotionLowPassFilter(); + bool setMotionPresenceLowPassFilter(sths34pf80_lpf_config_t config); + sths34pf80_lpf_config_t getMotionPresenceLowPassFilter(); + bool setPresenceLowPassFilter(sths34pf80_lpf_config_t config); + sths34pf80_lpf_config_t getPresenceLowPassFilter(); + bool setTemperatureLowPassFilter(sths34pf80_lpf_config_t config); + sths34pf80_lpf_config_t getTemperatureLowPassFilter(); + private: Adafruit_I2CDevice *i2c_dev; }; diff --git a/examples/test_sths34pf80/test_sths34pf80.ino b/examples/test_sths34pf80/test_sths34pf80.ino index 34800b6..eee0e30 100644 --- a/examples/test_sths34pf80/test_sths34pf80.ino +++ b/examples/test_sths34pf80/test_sths34pf80.ino @@ -4,6 +4,35 @@ Adafruit_STHS34PF80 sths; +void printLPFSetting(sths34pf80_lpf_config_t lpf_setting) { + switch (lpf_setting) { + case STHS34PF80_LPF_ODR_DIV_9: + Serial.print("ODR/9"); + break; + case STHS34PF80_LPF_ODR_DIV_20: + Serial.print("ODR/20"); + break; + case STHS34PF80_LPF_ODR_DIV_50: + Serial.print("ODR/50"); + break; + case STHS34PF80_LPF_ODR_DIV_100: + Serial.print("ODR/100"); + break; + case STHS34PF80_LPF_ODR_DIV_200: + Serial.print("ODR/200"); + break; + case STHS34PF80_LPF_ODR_DIV_400: + Serial.print("ODR/400"); + break; + case STHS34PF80_LPF_ODR_DIV_800: + Serial.print("ODR/800"); + break; + default: + Serial.print("Unknown"); + break; + } +} + void setup() { Serial.begin(115200); while (!Serial) delay(10); @@ -16,6 +45,54 @@ void setup() { } Serial.println("STHS34PF80 Found!"); + + // Test all low-pass filter configurations + Serial.println("\n--- Low-Pass Filter Tests ---"); + Serial.println("Available options: ODR/9, ODR/20, ODR/50, ODR/100, ODR/200, ODR/400, ODR/800"); + + // Test Motion LPF + Serial.println("\n1. Motion LPF:"); + if (sths.setMotionLowPassFilter(STHS34PF80_LPF_ODR_DIV_9)) { + Serial.println(" Set to ODR/9 - Success"); + } else { + Serial.println(" Set to ODR/9 - Failed"); + } + Serial.print(" Current setting: "); + printLPFSetting(sths.getMotionLowPassFilter()); + Serial.println(); + + // Test Motion+Presence LPF + Serial.println("\n2. Motion+Presence LPF:"); + if (sths.setMotionPresenceLowPassFilter(STHS34PF80_LPF_ODR_DIV_20)) { + Serial.println(" Set to ODR/20 - Success"); + } else { + Serial.println(" Set to ODR/20 - Failed"); + } + Serial.print(" Current setting: "); + printLPFSetting(sths.getMotionPresenceLowPassFilter()); + Serial.println(); + + // Test Presence LPF + Serial.println("\n3. Presence LPF:"); + if (sths.setPresenceLowPassFilter(STHS34PF80_LPF_ODR_DIV_50)) { + Serial.println(" Set to ODR/50 - Success"); + } else { + Serial.println(" Set to ODR/50 - Failed"); + } + Serial.print(" Current setting: "); + printLPFSetting(sths.getPresenceLowPassFilter()); + Serial.println(); + + // Test Temperature LPF + Serial.println("\n4. Temperature LPF:"); + if (sths.setTemperatureLowPassFilter(STHS34PF80_LPF_ODR_DIV_100)) { + Serial.println(" Set to ODR/100 - Success"); + } else { + Serial.println(" Set to ODR/100 - Failed"); + } + Serial.print(" Current setting: "); + printLPFSetting(sths.getTemperatureLowPassFilter()); + Serial.println(); } void loop() { diff --git a/output.txt b/output.txt new file mode 100644 index 0000000..fadae2f --- /dev/null +++ b/output.txt @@ -0,0 +1,44 @@ +Adafruit STHS34PF80 test! +Address 0x5A Detected + I2CWRITE @ 0x5A :: 0xF, + I2CREAD @ 0x5A :: 0xD3, +STHS34PF80 Found! + +--- Low-Pass Filter Tests --- +Available options: ODR/9, ODR/20, ODR/50, ODR/100, ODR/200, ODR/400, ODR/800 + +1. Motion LPF: + I2CWRITE @ 0x5A :: 0xC, + I2CREAD @ 0x5A :: 0x8, + I2CWRITE @ 0x5A :: 0xC, 0x8, STOP + Set to ODR/9 - Success + Current setting: I2CWRITE @ 0x5A :: 0xC, + I2CREAD @ 0x5A :: 0x8, +ODR/9 + +2. Motion+Presence LPF: + I2CWRITE @ 0x5A :: 0xC, + I2CREAD @ 0x5A :: 0x8, + I2CWRITE @ 0x5A :: 0xC, 0x8, STOP + Set to ODR/20 - Success + Current setting: I2CWRITE @ 0x5A :: 0xC, + I2CREAD @ 0x5A :: 0x8, +ODR/20 + +3. Presence LPF: + I2CWRITE @ 0x5A :: 0xD, + I2CREAD @ 0x5A :: 0x13, + I2CWRITE @ 0x5A :: 0xD, 0x13, STOP + Set to ODR/50 - Success + Current setting: I2CWRITE @ 0x5A :: 0xD, + I2CREAD @ 0x5A :: 0x13, +ODR/50 + +4. Temperature LPF: + I2CWRITE @ 0x5A :: 0xD, + I2CREAD @ 0x5A :: 0x13, + I2CWRITE @ 0x5A :: 0xD, 0x13, STOP + Set to ODR/100 - Success + Current setting: I2CWRITE @ 0x5A :: 0xD, + I2CREAD @ 0x5A :: 0x13, +ODR/100 diff --git a/sths34pf80.pdf b/sths34pf80.pdf new file mode 100644 index 0000000..96798cf Binary files /dev/null and b/sths34pf80.pdf differ diff --git a/sths34pf80.pdf:Zone.Identifier b/sths34pf80.pdf:Zone.Identifier new file mode 100644 index 0000000..6405752 --- /dev/null +++ b/sths34pf80.pdf:Zone.Identifier @@ -0,0 +1,4 @@ +[ZoneTransfer] +ZoneId=3 +ReferrerUrl=https://www.st.com/en/mems-and-sensors/sths34pf80.html +HostUrl=https://www.st.com/resource/en/datasheet/sths34pf80.pdf diff --git a/sths34pf80.txt b/sths34pf80.txt new file mode 100644 index 0000000..ef2111b --- /dev/null +++ b/sths34pf80.txt @@ -0,0 +1,5200 @@ +STHS34PF80 +Datasheet + +Low-power, high-sensitivity infrared (IR) sensor for presence and motion detection +Features +Key features +• +• +• +• +• +• +• +• +• +• +Product status link +STHS34PF80 + +Product summary +Order code + +STHS34PF80TR + +Temperature +range [°C] + +-40 to +85 + +Package + +LGA-10L + +Packing + +Tape and reel + +Product resources + +High-sensitivity infrared presence and motion detection sensor +Reach up to 4 meters without lens for objects measuring 70 x 25 cm² +Integrated silicon IR filter +SMD friendly +Capable of detecting stationary objects +Capable of distinguishing between stationary and moving objects +80° field of view +Factory calibrated +Low power +Embedded smart algorithm for presence / motion detection + +Electrical specifications +• +• +• +• +• + +Supply voltage: 1.7 V to 3.6 V +Supply current: 10 µA +2-wire I²C / 3-wire SPI serial interface +Programmable ODRs from 0.25 Hz to 30 Hz +One-shot mode + +Sensing specifications +• +• + +IR sensitivity: 2000 LSB/°C +RMS noise: 25 LSBrms + +• +• + +Operating wavelength: 5 µm to 20 µm +Local temperature sensor accuracy: ±0.3 °C + +AN5867 (device application note) +TN0018 (design and soldering) + +Product label + +Package specifications +• +• + +LGA 10-lead, 3.2 x 4.2 x 1.455 (max) mm +ECOPACK and RoHS compliant + +Applications +• +• +• +• +• +• +• + +Presence and proximity sensing +Alarm / security systems +Home automation +Smart lighting +IoT +Smart lockers +Smart wall pads + +DS13916 - Rev 2 - July 2023 +For further information contact your local STMicroelectronics sales office. + +www.st.com + + STHS34PF80 + +Description +The STHS34PF80 is an uncooled, factory-calibrated, infrared motion and presence detection sensor with +operating wavelength between 5 µm and 20 µm. +The STHS34PF80 sensor has been designed to measure the amount of IR radiation emitted from an object within +its field of view. The information is digitally processed by the ASIC, which can be programmed to monitor motion, +presence, or an overtemperature condition. +Thanks to its exceptional sensitivity, the STHS34PF80 can detect the presence of a human being at a distance up +to 4 meters without the need of an optical lens. +The STHS34PF80 is housed in a small 3.2 x 4.2 x 1.455 (max) mm 10-lead LGA package. + +DS13916 - Rev 2 + +page 2/40 + + STHS34PF80 +Overview + +1 + +Overview +The STHS34PF80 is an infrared sensor that can be used to detect the presence of stationary and moving objects +as well as overtemperature conditions. It measures the object's IR radiation with unique TMOS technology to +detect its presence or motion when the object is inside the field of view. +An optical band-pass filter is deposited over the sensor limiting its operating range within the wavelengths of 5 µm +to 20 µm, making it insensitive to visible light and other bands. +The sensor is based on a matrix of floating vacuum thermal transistors MOS (TMOS) connected together and +acting as a single sensing element. A state-of-the-art thermal isolation is achieved thanks to ST's unique MEMS +manufacturing technologies, allowing the sensor to translate the smallest temperature changes into electrical +signals that, in turn, are fed to the ASIC. +The sensor is split into two parts, one exposed to IR radiation and the other one shielded. Differential reading +between the two parts is implemented to remove the effect of sensor self-heating. +The STHS34PF80 embeds a high-accuracy temperature sensor to measure the ambient temperature and to +enable measuring the precise IR radiation of an object. +The ASIC also implements dedicated smart processing to detect / discriminate between stationary and moving +objects and which can assert dedicated interrupts. +Different ODRs from 0.25 Hz to 30 Hz and a one-shot mode are available. +The STHS34PF80 is equipped with an I²C / 3-wire SPI interface and is housed in an OLGA 3.2 x 4.2 x 1.455 mm +10L package compatible with SMD mounting. +The field of view guaranteed by the package is 80°. +Figure 1. Block diagram + +TMOS +Sensor + +TMOS Analog +Front +End + +ADC1 + +Temperature +Sensor + +ADC2 + +Power +management + +DS13916 - Rev 2 + +Digital +Logic +(Registers / LPF +etc..) + +Clock generator + +I2C +SPI +Digital Interface + +Interrupt + +Voltage & +Current bias + +CS +SCL/SPC +SDA/SDI/O + +INT + +Calibration +registers + +page 3/40 + + STHS34PF80 +Pin description + +2 + +Pin description +Figure 2. Pin configuration (package bottom view) + +Table 1. Pin description + +DS13916 - Rev 2 + +Pin number + +Name + +1 + +SCL / SPC + +2 + +RES + +3 + +CS + +4 + +SDA / SDI/O + +5 + +NC + +6 + +VDD + +Power supply + +7 + +GND + +0 V supply + +8 + +GND + +0 V supply + +9 + +VDD + +Power supply + +10 + +INT + +Interrupt signal + +Function +I²C / SPI serial interface clock +Reserved (connect to GND) +I²C / SPI interface selection (1: I²C enabled; 0: SPI enabled) +I²C / SPI serial data line +Leave floating (do not connect) + +page 4/40 + + STHS34PF80 +Sensor and electrical specifications + +3 + +Sensor and electrical specifications +Conditions at VDD = 1.8 V, T = 25 °C. +Table 2. Sensor specifications +Min. + +Typ.(1) + +Max. + +Unit + +Temperature output data (object and ambient) + +– + +16 + +– + +Bit + +Tamb_s + +Ambient temperature sensitivity + +– + +100 + +– + +LSB/°C + +Tobj_s + +Object temperature sensitivity(2) + +Tamb_a + +Ambient temperature sensor accuracy + +Symbol + +Parameter + +Tbit + +ODR + +Object and ambient temperature output data rate + +RMS noise +FFOV + +Test condition + +15 °C to 35 °C + +2000 + +-10 °C to 60 °C + +±0.3 + +-40 °C to 85 °C + +±0.6 + +ODR [3:0] = 0001 + +0.25 + +ODR [3:0] = 0010 + +0.5 + +ODR [3:0] = 0011 + +1.0 + +ODR [3:0] = 0100 + +2.0 + +ODR [3:0] = 0101 + +4.0 + +ODR [3:0] = 0110 + +8.0 + +ODR [3:0] = 0111 + +15.0 + +ODR [3:0] = 1xxx + +30.0 + +LSB/°C +°C + +Hz + +AVG_TMOS = 32(3) + +25 + +LSBrms + +Full field of view(4) + +80 + +Degree + +1. Typical specifications are not guaranteed. +2. The object temperature sensitivity is specified for full field-of-view coverage by a blackbody with more than 99% emissivity +and default gain mode configuration (CTRL0 (17h)). The accuracy specifications apply under settled isothermal conditions +only. +3. Tobj RMS noise can be different based on the AVG_TMOS value. Further detailed information can be found in Table 19. +4. Angle to have 50% IR intensity. + +Table 3. Electrical specifications +Symbol + +Parameter + +VDD + +Supply voltage + +IDD + +Supply current + +IddPDN +TOP + +Test condition + +Min. + +Typ.(1) + +Max. + +Unit + +1.7 + +– + +3.6 + +V + +128 average @ 1 Hz ODR + +10 + +32 average @ 1 Hz ODR + +5 + +Power-down supply current +Operating temperature range (refer to Table 5) + +µA + +1.5 +-40 + +– + +µA +85 + +°C + +1. Typical specifications are not guaranteed. + +DS13916 - Rev 2 + +page 5/40 + + STHS34PF80 +Sensor and electrical specifications + +Table 4. DC characteristics +Symbol + +Parameter + +Condition + +Min. + +Typ. + +Max. + +Unit + +DC input characteristics +VIL + +Low-level input voltage (Schmitt buffer) + +- + +- + +- + +0.3 * VDD + +V + +VIH + +High-level input voltage (Schmitt buffer) + +- + +0.7 * VDD + +- + +- + +V + +DC output characteristics +VOL + +Low-level output voltage + +- + +- + +0.2 + +V + +VOH + +High-level output voltage + +VDD - 0.2 + +- + +- + +V + +Table 5. Operating temperature range +CTRL0 (17h) +Default gain mode +Wide mode + +Operating temperature range + +∆Temp = Tamb_room – Tamb_sensor + +-40 ~ 85 °C + +± 2 °C + +10 ~ 40 °C + +± 10 °C + +-40 ~ 85 °C + +-90 ~ 50 °C + +Considering IR radiation measurement methodology, the output signal of TMOS is sensitive to temperature +differences between the ambient temperature of the sensor itself and the ambient temperature of the room where +the sensor takes the measurement. This delta of temperature could impact the operating temperature of the +sensor. Depending on the target application, the user can select different gain modes to cover the proper range of +the operating temperature and the delta of the temperature between the ambient temperature of the room and the +ambient temperature of the sensor as described in Table 5. +The gain mode can be selected in the gain mode register (CTRL0 (17h)) when the device is in power-down mode. +Note that this register restores its default value whenever the boot/reboot procedure is performed, so the user +needs to set wide mode whenever the device is turned on in case the application needs to cover a broad +operating temperature range and the delta between the temperature of the room in which the object is located +and the temperature of the environment in thermal coupling with the sensor (in other words, the temperature +inside the application). + +DS13916 - Rev 2 + +page 6/40 + + STHS34PF80 +Communication interface characteristics + +3.1 +3.1.1 + +Communication interface characteristics +SPI - serial peripheral interface +Subject to general operating conditions for VDD and TOP. +Table 6. SPI slave timing values +Symbol + +Parameter + +Value(1) +Min + +Typ + +Max + +fc(SPC) + +SPI clock frequency + +tc(SPC) + +SPI clock period + +100 + +thigh(SPC) + +SPI clock high + +45 + +tlow(SPC) + +SPI clock low + +45 + +CS setup time (mode 3) + +5 + +CS setup time (mode 0) + +20 + +CS hold time (mode 3) + +40 + +CS hold time (mode 0) + +20 + +tsu(SI) + +SDI input setup time + +15 + +th(SI) + +SDI input hold time + +15 + +tv(SO) + +SDO valid output time + +50 + +SDO output disable time + +50 + +Bus capacitance + +100 + +tsu(CS) + +th(CS) + +tdis(SO) +Cload + +10 + +Unit +MHz + +ns + +pF + +1. Values are evaluated at 10 MHz clock frequency for SPI with 3 wires, based on characterization results, not tested in +production. + +Figure 3. SPI slave timing diagram + +Note: + +DS13916 - Rev 2 + +Measurement points are done at 0.3·VDD and 0.7·VDD for both ports. + +page 7/40 + + STHS34PF80 +Communication interface characteristics + +3.1.2 + +I²C - inter-IC control interface +Subject to general operating conditions for VDD and TOP. +Table 7. I²C slave timing values +Symbol +f(SCL) + +I²C fast mode(1)(2) + +Parameter +SCL clock frequency + +I²C fast mode plus(1)(2) + +Min + +Max + +Min + +Max + +0 + +400 + +0 + +1000 + +tw(SCLL) + +SCL clock low time + +1.3 + +0.5 + +tw(SCLH) + +SCL clock high time + +0.6 + +0.26 + +tsu(SDA) + +SDA setup time + +100 + +50 + +th(SDA) + +SDA data hold time + +0 + +0.9 + +START/REPEATED START condition hold time + +0.6 + +0.26 + +tsu(SR) + +REPEATED START condition setup time + +0.6 + +0.26 + +tsu(SP) + +STOP condition setup time + +0.6 + +0.26 + +Bus free time between STOP and START condition + +1.3 + +0.5 + +CB + +kHz +µs +ns + +0 + +th(ST) + +tw(SP:SR) + +Unit + +µs + +Data valid time + +0.9 + +0.45 + +Data valid acknowledge time + +0.9 + +0.45 + +Capacitive load for each bus line + +400 + +550 + +pF + +1. Data based on standard I²C protocol requirement, not tested in production. +2. Data for I²C fast mode and I²C fast mode plus have been evaluated by characterization, not tested in production + +Figure 4. I²C slave timing diagram +REPEATED +START +START + +tsu(SR) +tw(SP:SR) + +SDA + +tsu(SDA) + +START + +th(SDA) + +tsu(SP) + +STOP + +SCL + +th(ST) + +Note: + +DS13916 - Rev 2 + +tw(SCLL) + +tw(SCLH) + +Measurement points are done at 0.3·VDD and 0.7·VDD for both ports. + +page 8/40 + + STHS34PF80 +Absolute maximum ratings + +3.2 + +Absolute maximum ratings +Stress above those listed as “absolute maximum ratings” may cause permanent damage to the device. This is a +stress rating only and functional operation of the device under these conditions is not implied. Exposure to +maximum rating conditions for extended periods may affect device reliability. +Table 8. Absolute maximum ratings +Symbol +VDD +Vin + +Note: + +Ratings +Supply voltage +Input voltage on any control pin + +TSTG + +Storage temperature range + +ESD + +Electrostatic discharge protection + +Maximum value + +Unit + +-0.3 to 4.8 + +V + +-0.3 to VDD+0.3 + +V + +-40 to +125 + +°C + +2 (HBM) + +kV + +Supply voltage on any pin should never exceed 4.8 V. +This device is sensitive to mechanical shock, improper handling can cause permanent damage to the part. + +This device is sensitive to electrostatic discharge (ESD), improper handling can cause permanent damage to the part. + +DS13916 - Rev 2 + +page 9/40 + + STHS34PF80 +Optical specifications + +4 + +Optical specifications +Table 9. Optical specification +Symbol +FFOV + +Parameter + +Test condition + +Full field of view + +Min. + +Typ. (1) + +At 50% intensity + +80 + +Max. + +Unit +Degree + +1. Typical specifications are not guaranteed. + +Figure 5. Typical field of view measurements + +Figure 6. Filter transmittance typical curve + +DS13916 - Rev 2 + +page 10/40 + + STHS34PF80 +Digital interfaces + +5 + +Digital interfaces +The registers embedded inside the STHS34PF80 can be accessed through both an I²C and a 3-wire SPI slave +interface. +The serial interfaces are mapped to the same pins. The selection between the two interfaces is made through the +CS pin, refer to Table 1. Pin description. + +5.1 + +I²C interface +Following the correct protocols, the device behaves as an I²C slave. The registers embedded inside the ASIC +device may be accessed through the I²C serial interfaces. +There are two signals associated with the I²C bus: the serial clock line (SCL) and the serial data line (SDA). The +latter is a bidirectional line used for sending and receiving the data to/from the interface. Both the lines must be +connected to VDD through an external pull-up resistor. When the bus is free, both the lines are high. +All transactions begin with a start (ST) and are terminated by a stop (SP) (see Figure 7). A high to low transition +on the SDA line while SCL is high defines a start condition (ST). A low to high transition on the SDA line while +SCL is high defines a stop condition. +Figure 7. Start and stop conditions + +After the ST signal has been transmitted by the master, the bus is considered busy. The next byte of data +transmitted after the ST condition contains the address of the slave in the first 7 bits (SAD) and the eighth bit is W += 0 which indicates that the master is transmitting data to the slave (SAD+W). When a slave address (SAD) is +sent, each device in the system compares the first seven bits after a start condition (ST) with its slave address. If +they match, the device considers itself addressed by the master. +The slave address of the STHS34PF80 is SAD=1011010. +Data transfer with acknowledge is mandatory. The transmitter must release the SDA line during the acknowledge +pulse. The receiver must then pull the data line low so that it remains stable low during the high period of the +acknowledge clock pulse (SAK). A receiver which has been addressed must generate an acknowledge after each +byte of data has been received. +After the SAK from slave (STHS34PF80) the master sends an 8-bit subaddress (SUB): the 7 LSB represent the +actual register address while the MSB has no meaning. For this I²C the auto increment is always active. Since +auto increment is enabled by default, the SUB (register address) is automatically incremented to allow multiple +data read/write at increasing addresses. When the slave receives the subaddress it responds with an ACK. +After this SAK from the slave, the master can do a write (single or multiple) or a read (single or multiple). +When the master wants to write, it sends a DATA (8-bit) and the slave responds with SAK. At this point if the +master wants to close the communication, it sends a stop condition (SP) otherwise, it sends a new DATA. +When the master wants to read, it sends a repeated start condition (SR) and resends the slave address (SAD) +with a read bit (R = 1) (SAD+R). The slave responds with a SAK and sends the DATA (8-bit) to the master to read. +The master responds with a MAK (master acknowledge) if it wants to read from the next SUB address, otherwise +it responds with a NMAK (no master acknowledge) and closes the communication, sending a stop condition (SP). + +DS13916 - Rev 2 + +page 11/40 + + STHS34PF80 +I²C interface + +5.1.1 + +I²C read and write sequences +The previous sequences are used to perform actual write and read sequences described in the following tables. +Table 10. Transfer when the master is writing one byte to slave +Master + +ST + +SAD+W + +SUB + +Slave + +DATA + +SAK + +SP + +SAK + +SAK + +Table 11. Transfer when master is writing multiple bytes to slave +Master + +ST + +SAD+W + +SUB + +Slave + +SAK + +DATA + +DATA + +SAK + +SAK + +SP +SAK + +Table 12. Transfer when master is receiving (reading) one byte of data from slave +Master + +ST + +SAD+W + +Slave + +SUB +SAK + +SR + +SAD+R + +SAK + +NMAK +SAK + +SP + +DATA + +Table 13. Transfer when master is receiving (reading) multiple bytes of data from slave +Master +Slave + +DS13916 - Rev 2 + +ST + +SAD+W + +SUB +SAK + +SR +SAK + +SAD+R + +MAK +SAK + +DATA + +MAK +DATA + +NMAK + +SP + +DATA + +page 12/40 + + STHS34PF80 +SPI interface + +5.2 + +SPI interface +The ASIC SPI is a bus slave. The SPI allows writing and read the registers of the device. +The serial interface interacts with the application using 3 wires: CS, SPC, SDI/O. + +5.2.1 + +SPI write +Figure 8. SPI write protocol + +The SPI write command is performed with 16 clock pulses. A multiple byte write command is performed by adding +blocks of 8 clock pulses to the previous one. +bit 0: WRITE bit. The value is 0. +bit 1 -7: address AD(6:0). This is the address field of the indexed register. +bit 8-15: data DI(7:0) (write mode). This is the data that is written inside the device (MSb first). +bit 16-... : data DI(...-8). Additional data in multiple byte writes. +Figure 9. Multiple byte SPI write protocol (2-byte example) + +DS13916 - Rev 2 + +page 13/40 + + STHS34PF80 +SPI interface + +5.2.2 + +SPI read +Figure 10. SPI read protocol in 3-wire mode + +The SPI read command is performed with 16 clocks pulses: +bit 0: READ bit. The value is 1. +bit 1-7: address AD(6:0). This is the address field of the indexed register. +bit 8-15: data DO(7:0) (read mode). This is the data that will be read from the device (MSB first). +The multiple write command is also available in 3-wire mode. + +DS13916 - Rev 2 + +page 14/40 + + STHS34PF80 +Smart digital algorithms + +6 + +Smart digital algorithms +The STHS34PF80 embeds smart digital algorithms to support the following three detection modes. These +embedded smart digital features are supported with default gain mode (CTRL0 (17h) = F1h), but they are not +available when wide mode (CTRL0 (17h) = 81h) is configured. +• +• +• + +6.1 + +Presence detection +Motion detection +Ambient temperature shock detection + +Presence detection +Presence detection is performed by observing the difference between the two output signals of each low-pass +filter (LPF_P_M & LPF_P) from the TMOS raw data of TOBJECT. +Then, the difference of the two signals is compared with the two thresholds of PRESENCE_THS and +HYST_PRES which can be configured for the target application. Finally, the presence detection flag signal +(PRES_FLAG) is set when the difference of the two filtered signals exceeds the threshold value as described in +the figure below. When the PRES_FLAG is asserted, the LPF_P output remains at its last value. The LPF_P +starts processing again the input data, providing filtered output when the PRES_FLAG is de-asserted +Figure 11. Block diagram of presence detection algorithm +TPRESENCE + +TOBJECT + +LPF_P_M +LPF_P + ++ + +ABS + +- + +FREEZE +PRESENCE_THS +OR +PRESENCE_THS - HYST_PRESENCE + +1 +0 +SEL_ABS + +PRES_FLAG + +TOGGLE + +DS13916 - Rev 2 + +page 15/40 + + STHS34PF80 +Motion detection + +6.2 + +Motion detection +Motion detection is performed by observing the difference between the two output signals of each low-pass filter +(LPF_P_M & LPF_M) from the TMOS raw data of TOBJECT. +Then, the difference of the two signals is compared with the two thresholds of MOTION_THS and HYST_MOT +which can be configured for the target application. Finally, the motion detection flag signal (MOT_FLAG) is set +when the difference of the two filtered signals exceeds the threshold value as described in the figure below. +Figure 12. Block diagram of motion detection algorithm +TMOTION + +TOBJECT + +LPF_P_M + ++ + +ABS + +- + +LPF_M + +MOTION_THS +OR +MOTION_THS - HYST_MOTION + +MOT_FLAG + +TOGGLE + +6.3 + +Ambient temperature shock detection +Ambient temperature shock detection is supported with the output signal of LPF_A_T and the signal of +TAMBIENT. The difference of the two signals is compared with the hysteresis of TAMB_SHOCK_THS and +HYST_TAMBS. The detection of the ambient shock flag (TAMB_SHOCK_FLAG) is set when the difference of the +two signals (LPF_A_T & TAMBIENT) exceeds the threshold values to indicate a sudden change of ambient +temperature. +Figure 13. Block diagram of ambient temperature shock detection algorithm +TAMB_SHOCK + +TAMBIENT + +LPF_A_T + ++ + +ABS + +TAMB_SHOCK_THS +OR +TAMB_SHOCK_THS - HYST_TAMB_SHOCK + +TAMB_SHOCK_FLAG + +TOGGLE + +DS13916 - Rev 2 + +page 16/40 + + STHS34PF80 +Application schematics + +7 + +Application schematics +The device power supply must be provided through the VDD line, a power supply decoupling capacitor (100 nF) +must be placed as near as possible to the supply pins of device (VDD). Depending on the application, an +additional capacitor of 1 µF could be placed on the VDD line to avoid power noise on VDD. +The functionality of the device and the measured data outputs are selectable and accessible through the I²C and +SPI digital interface as shown in the following figures. +Figure 14. Application schematic with I²C connection + +Figure 15. Application schematic with SPI connection + +DS13916 - Rev 2 + +page 17/40 + + STHS34PF80 +Application schematics + +Table 14. Internal pin status + +DS13916 - Rev 2 + +Pin number + +Name + +Default pin status + +1 + +SCL / SPC + +Default: input without pull-up + +2 + +RES + +3 + +CS + +Default: input with pull-up + +4 + +SDA / SDI/O + +Default: input without pull-up + +5 + +NC + +6 + +VDD + +7 + +GND + +8 + +GND + +9 + +VDD + +10 + +INT + +Default: input without pull-up + +page 18/40 + + STHS34PF80 +Soldering guidelines + +8 + +Soldering guidelines +The soldering profile depends on the number, size and placement of components on the application board. For +this reason, it is not possible to define a unique soldering profile for the sensor only. The customer should use a +time and temperature reflow profile based on PCB design and manufacturing expertise. In any case, the soldering +profile should not exceed profiles as specified in Jedec J-STD-020. +LGA packages show metal traces on the side of the package so solder material must be avoided on the side of +package during reflow. +The product package is not sealed as there is a 0.1 mm hole on the bottom of the package as illustrated in +Figure 17. OLGA-10L (3.2 x 4.2 x 1.455 mm) package outline and mechanical data. A dry reflow process such as +convection reflow is recommended. Vapor phase reflow is not suitable for this type of optical component. +A "no-wash" assembly process has to be used. “Self-cleaning” / “no flux” solder paste are to be used. +The product top surface can be eventually protected by suitable tape during reflow and other manufacturing steps +to avoid contamination or scratches on the optical filter section of the component. +Any residual material (such as water, dust, or any contamination on top of the optical window) causes lower +sensitivity of the IR measurment. +For land pattern and soldering recommendations, consult technical note TN0018 available on www.st.com. + +DS13916 - Rev 2 + +page 19/40 + + STHS34PF80 +Register mapping + +9 + +Register mapping +Table 15. Register map +Name + +Type + +Reserved + +Register address + +Default + +00h - 0Bh + +Reserved + +LPF1 + +RW + +0Ch + +04h + +LPF2 + +RW + +0Dh + +22h + +Reserved + +0Eh + +Reserved + +WHO_AM_I + +R + +0Fh + +D3h + +AVG_TRIM + +RW + +10h + +03h + +Reserved +CTRL0 + +11h - 16h +RW + +Reserved +SENS_DATA + +17h + +Reserved + +F1h +Reserved + +1Dh +1Eh - 1Fh + +Reserved + +CTRL1 + +RW + +20h + +00h + +CTRL2 + +RW + +21h + +00h + +CTRL3 + +RW + +22h + +00h + +R + +23h + +STATUS +Reserved + +Who am I + +Reserved + +18h - 1Ch +RW + +Function and comment + +24h + +FUNC_STATUS + +R + +25h + +TOBJECT_L + +R + +26h + +TOBJECT_H + +R + +27h + +TAMBIENT_L + +R + +28h + +TAMBIENT_H + +R + +29h + +TOBJ_COMP_L + +R + +38h + +TOBJ_COMP_H + +R + +39h + +TPRESENCE_L + +R + +3Ah + +TPRESENCE_H + +R + +3Bh + +TMOTION_L + +R + +3Ch + +TMOTION_H + +R + +3Dh + +TAMB_SHOCK_L + +R + +3Eh + +TAMB_SHOCK_H + +R + +3Fh + +Interrupt control + +Reserved + +Reserved registers must not be changed. Writing to those registers may cause permanent damage to the device. + +DS13916 - Rev 2 + +page 20/40 + + STHS34PF80 +Embedded functions page register mapping + +9.1 + +Embedded functions page register mapping +Table 16. Embedded functions page register map +Name + +DS13916 - Rev 2 + +Type + +Register address + +Default + +PRESENCE_THS + +RW + +20h - 21h + +C8h + +MOTION_THS + +RW + +22h - 23h + +C8h + +TAMB_SHOCK_THS + +RW + +24h - 25h + +0Ah + +HYST_MOTION + +RW + +26h + +32h + +HYST_PRESENCE + +RW + +27h + +32h + +ALGO_CONFIG + +RW + +28h + +00h + +HYST_TAMB_SHOCK + +RW + +29h + +02h + +RESET_ALGO + +RW + +2Ah + +00h + +Function and comment + +page 21/40 + + STHS34PF80 +Registers description + +10 + +Registers description + +10.1 + +LPF1 (0Ch) +RW – default = 04h +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +- + +- + +LPF_P_M2 + +LPF_P_M1 + +LPF_P_M0 + +LPF_M2 + +LPF_M1 + +LPF_M0 + +LPF_P_M[2:0] + +Low-pass filter configuration for motion and presence detection, see Table 17. + +LPF_M[2:0] + +Low-pass filter configuration for motion detection, see Table 17. + +Table 17. Low-pass filter configuration + +10.2 + +LPF_P_M[2:0] / LPF_M[2:0] / LPF_P[2:0] / LPF_A_T[2:0] + +Low-pass filter configuration + +000 + +ODR/9 + +001 + +ODR/20 + +010 + +ODR/50 + +011 + +ODR/100 + +100 + +ODR/200 + +101 + +ODR/400 + +110 + +ODR/800 + +LPF2 (0Dh) +RW – default = 22h +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +- + +- + +LPF_P2 + +LPF_P1 + +LPF_P0 + +LPF_A_T2 + +LPF_A_T1 + +LPF_A_T0 + +LPF_P[2:0] + +Low-pass filter configuration for presence detection, see Table 17. + +LPF_A_T[2:0] + +Low-pass filter configuration for ambient temperature shock detection, see Table 17. + +10.3 + +WHO_AM_I (0Fh) +Read only – default = D3h +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +1 + +1 + +0 + +1 + +0 + +0 + +1 + +1 + +WHO_AM_I + +DS13916 - Rev 2 + +Device identification – Who am I + +page 22/40 + + STHS34PF80 +AVG_TRIM (10h) + +10.4 + +AVG_TRIM (10h) +RW – default = 03h +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +0 + +0 + +AVG_T1 + +AVG_T0 + +0 + +AVG_TMOS2 + +AVG_TMOS1 + +AVG_TMOS0 + +AVG_T[1:0] + +Select the number of averaged samples for ambient temperature, see Table 18. + +AVG_TMOS[2:0] + +Select the number of averaged samples for object temperature, see Table 19. + +Table 18. Averaging selection for ambient temperature +AVG_T[1:0] + +Number of averaged samples for ambient temperature + +00 + +8 (default) + +01 + +4 + +10 + +2 + +11 + +1 + +Table 19. Averaging selection for object temperature and noise + +DS13916 - Rev 2 + +AVG_TMOS [2:0] + +Number of averaged samples for object temperature + +RMS noise (LSBrms) + +000 + +2 + +90 + +001 + +8 + +50 + +010 + +32 + +25 + +011 + +128 (default) + +20 + +100 + +256 + +15 + +101 + +512 + +12 + +110 + +1024 + +11 + +111 + +2048 + +10 + +page 23/40 + + STHS34PF80 +CTRL0 (17h) + +10.5 + +CTRL0 (17h) +RW – default = F1h +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +1 + +GAIN2 + +GAIN1 + +GAIN0 + +0 + +0 + +0 + +1 + +Enables the device to cover a wide operating temperature range for applications that might be thermally heated inside of the +GAIN[2:0] application. +(000: wide mode; 111: default gain mode) + +Refer to the ranges in Table 5. Operating temperature range for the wide mode and default gain modes. + +10.6 + +SENS_DATA (1Dh) +RW – default = 00h +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +SENS7 + +SENS6 + +SENS5 + +SENS4 + +SENS3 + +SENS2 + +SENS1 + +SENS0 + +SENS[7:0] + +Provides the sensitivity value in the embedded linear algorithm for compensating ambient temperature variations in the object +temperature. + +This register is written during factory calibration to indicate the sensitivity of the device and this value is used in +the embedded linear algorithm for compensating ambient temperature variations in the object temperature. +If the sensitivity is changed by the optical material (that is, cover material) and the embedded compensation +algorithm is required, the sensitivity data need to be revised accordingly. +Sensitivity can be calculated with the following formula by reading the SENS_DATA (1Dh) register. +Sensitivity = value of 1Dh (signed two's complement) x 16 + 2048 + +DS13916 - Rev 2 + +page 24/40 + + STHS34PF80 +CTRL1 (20h) + +10.7 + +CTRL1 (20h) +RW – default = 00h +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +0 + +- + +- + +BDU + +ODR3 + +ODR2 + +ODR1 + +ODR0 + +BDU + +Enables the block data update feature for output registers TOBJECT (26h and 27h) and TAMBIENT (28h and 29h). + +ODR[3:0] + +Output data rate, refer to Table 20 for ODR configuration + +Table 20. ODR configuration +ODR [3:0] + +ODR frequency [Hz] + +Time [ms] + +0000 + +Power-down mode + +- + +0001 + +0.25 + +4000 + +0010 + +0.5 + +2000 + +0011 + +1 + +1000 + +0100 + +2 + +500 + +0101 + +4 + +250 + +0110 + +8 + +126 + +0111 + +15 + +66.67 + +1xxx + +30 + +33.33 + +Refer to AN5867 (Section 3.3 Continuous mode) on www.st.com for the details of entering power-down mode and +changing the ODR in continuous mode. +Device power consumption depends on the AVG_TMOS configuration and continuous mode at different ODRs as +described in the following table. +Table 21. Current consumption at different ODRs and AVG_TMOS setting +AVG_TMOS [2:0] + +DS13916 - Rev 2 + +One-shot mode + +Continuous mode – current consumption (μA) vs ODR + +Current consumption (μA) @ 1Hz + +0.25 Hz + +0.5 Hz + +1 Hz + +2 Hz + +4 Hz + +8 Hz + +15 Hz + +30 Hz + +000 (2) + +3.23 + +3.2 + +3.52 + +4.39 + +6.58 + +10.54 18.32 + +33.45 + +64.50 + +001 (8) + +3.74 + +3.27 + +3.82 + +4.9 + +7.23 + +010 (32) + +5 + +3.6 + +4.48 + +6.26 + +9.58 + +11.4 + +20.62 + +011 (128) + +10 + +4.89 + +7.07 + +11.44 + +19.65 37.25 71.85 + +100 (256) + +16.89 + +6.55 + +10.55 + +18.02 + +33.1 + +101 (512) + +31.16 + +10.05 + +17.45 + +32.25 59.50 + +110 (1024) + +56.34 + +16.97 + +31.3 + +57.60 + +111 (2048) + +113 + +30.86 + +58.97 + +17.05 30.75 + +38.3 + +74.94 + +59 + +115.65 + +65.5 + +page 25/40 + + STHS34PF80 +CTRL2 (21h) + +10.8 + +CTRL2 (21h) +RW (bit 4: write only) – default = 00h +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +BOOT + +- + +- + +FUNC_ +CFG_ACCESS + +- + +0 + +0 + +ONE_SHOT + +Reboot OTP memory content. Self-clearing upon completion. Default value : 0 + +BOOT + +(0: normal mode; 1: reboot memory content) +Enable access to the registers(1) for embedded functions. Default value : 0 + +FUNC_CFG_ACCESS + +(0 : disable access to the embedded function page; 1: enable access to the embedded function page) +Trigger one-shot acquisition. Self-clearing upon completion. Default value: 0 + +ONE_SHOT + +(0 : idle mode; 1 : new data set is acquired) + +1. It is not possible to write or read registers in the main page if this bit is set to 1. In order to go back to the main page, this bit should be +written to 0. + +CTRL3 (22h) + +10.9 + +RW – default = 00h +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +INT_H_L + +PP_OD + +INT_MSK2 + +INT_MSK1 + +INT_MSK0 + +INT_LATCHED + +IEN1 + +IEN0 + +Interrupt active-high & active-low. Default value: 0 + +INT_H_L + +(0: active high; 1: active low) +Push-pull / open-drain selection on the INT pin. Default value: 0 + +PP_OD + +(0: push-pull; 1: open drain) + +INT_MSK[2:0] + +Interrupt masks for flag of FUNC_STATUS (25h), see Figure 16. + +INT_LATCHED +IEN[1:0] + +Sets latched mode of DRDY on the INT pin. +(0: pulsed mode on the INT pin; 1: latched mode on the INT pin) +Configures the signal routed to the INT pin, see Table 22. + +The DRDY signal on the INT pin is set to either pulsed or latched mode using the INT_LATCHED bit. +If IEN[1:0] = 10 (INT_OR routed to the INT pin), INT_LATCHED must be set to 0. +Figure 16. INT_OR +INT_MSK2 +PRES_FLAG + +INT_MSK1 + +INT_OR + +MOT_FLAG + +INT_MSK0 +TAMB_SHOCK_FLAG + + PRES_FLAG , MOT_FLAG, TAMB_SHOCK_FLAG from FUNC_STATUS (25h) + INT_OR is enabled by IEN[1:0] = “10” + +DS13916 - Rev 2 + +page 26/40 + + STHS34PF80 +STATUS (23h) + +Table 22. IEN[1:0] configuration + +10.10 + +IEN[1:0] + +INT pin + +00 + +high-Z + +01 + +Data ready (DRDY) + +10 + +INT_OR + +STATUS (23h) +Read only – default = 00h + +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +- + +- + +- + +- + +- + +DRDY + +- + +- + +Data ready for TAMBIENT, TOBJECT, TAMB_SHOCK, TPRESENCE, TMOTION. This bit is reset to 0 when reading the +DRDY FUNC_STATUS (25h) register. +(0: no set of output data is available; 1: new set of output data is available) + +10.11 + +FUNC_STATUS (25h) +Read only – default = 00h +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +- + +- + +- + +- + +- + +PRES_FLAG + +MOT_FLAG + +TAMB_ +SHOCK_FLAG + +PRES_FLAG + +Presence detection flag. This bit goes to 1 when there is presence detection. It returns back to 0 when there is no +presence detection. Default value: 0 +(0: no presence is detected; 1: presence is detected) + +MOT_FLAG + +Motion detection flag. This bit goes to 1 when there is motion detection. It returns back to 0 when there is no motion +detection. Default value: 0 +(0: no motion is detected; 1: motion is detected) + +Ambient temperature shock detection flag. This bit goes to 1 when there is ambient temperature shock detection. It +TAMB_SHOCK_FLAG returns back to 0 when there is no ambient temperature shock detection. Default : 0 +(0: no ambient temperature shock is detected; 1: ambient temperature shock is detected) + +10.12 + +TOBJECT_L (26h) +Read only – default = 00h + +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +TOBJECT7 + +TOBJECT6 + +TOBJECT5 + +TOBJECT4 + +TOBJECT3 + +TOBJECT2 + +TOBJECT1 + +TOBJECT0 + +TOBJECT[7:0] + +DS13916 - Rev 2 + +TOBJECT LSB data + +page 27/40 + + STHS34PF80 +TOBJECT_H (27h) + +10.13 + +TOBJECT_H (27h) +Read only – default = 00h + +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +TOBJECT15 + +TOBJECT14 + +TOBJECT13 + +TOBJECT12 + +TOBJECT11 + +TOBJECT10 + +TOBJECT9 + +TOBJECT8 + +TOBJECT[15:8] + +TOBJECT MSB data + +The TOBJECT (object temperature) output value is 16-bit data that represents the amount of infrared radiation +emitted from the objects inside the field of view. It is composed of TOBJECT_H (27h) and TOBJECT_L (28h). The +value is expressed as two's complement. + +10.14 + +TAMBIENT_L (28h) +Read only – default = 00h + +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +TAMBIENT7 + +TAMBIENT6 + +TAMBIENT5 + +TAMBIENT4 + +TAMBIENT3 + +TAMBIENT2 + +TAMBIENT1 + +TAMBIENT0 + +TAMBIENT[7:0] + +10.15 + +Ambient temperature LSB data + +TAMBIENT_H (29h) +Read only – default = 00h + +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +TAMBIENT15 + +TAMBIENT14 + +TAMBIENT13 + +TAMBIENT12 + +TAMBIENT11 + +TAMBIENT10 + +TAMBIENT9 + +TAMBIENT8 + +TAMBIENT[15:8] + +Ambient temperature MSB data + +The TAMBIENT (ambient temperature) output value is 16-bit data that represents the temperature of the +environment in thermal coupling with the sensor. It is composed of TAMBIENT_H (28h) and TAMBIENT_L (29h). +The value is expressed as two's complement and its sensitivity is 100 LSB/°C. + +10.16 + +TOBJ_COMP_L (38h) +Read only – default = 00h + +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +TOBJ_COMP7 + +TOBJ_COMP6 + +TOBJ_COMP5 + +TOBJ_COMP4 + +TOBJ_COMP3 + +TOBJ_COMP2 + +TOBJ_COMP1 + +TOBJ_COMP0 + +TOBJ_COMP[7:0] + +DS13916 - Rev 2 + +Compensated LSB data for object temperature output + +page 28/40 + + STHS34PF80 +TOBJ_COMP_H (39h) + +10.17 + +TOBJ_COMP_H (39h) +Read only – default = 00h + +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +TOBJ_COMP15 + +TOBJ_COMP14 + +TOBJ_COMP13 + +TOBJ_COMP12 + +TOBJ_COMP11 + +TOBJ_COMP10 + +TOBJ_COMP9 + +TOBJ_COMP8 + +TOBJ_COMP[15:8] + +Compensated MSB data for object temperature output + +The TOBJ_COMP output value is 16-bit data that represents the amount of infrared radiation emitted from the +objects inside the field of view compensated through the embedded algorithm for compensating ambient +temperature variations (refer to application note AN5867 on www.st.com for the details of the compensation +algorithm). The output data is composed of TOBJ_COMP_H (39h) and TOBJ_COMP_L (38h). The value is +expressed as two's complement. + +10.18 + +TPRESENCE_L (3Ah) +Read only – default = 00h + +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +TPRESENCE7 + +TPRESENCE6 + +TPRESENCE5 + +TPRESENCE4 + +TPRESENCE3 + +TPRESENCE2 + +TPRESENCE1 + +TPRESENCE0 + +TPRESENCE[7:0] + +10.19 + +Presence detection output using embedded algorithms, LSB data + +TPRESENCE_H (3Bh) +Read only – default = 00h + +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +TPRESENCE15 + +TPRESENCE14 + +TPRESENCE13 + +TPRESENCE12 + +TPRESENCE11 + +TPRESENCE10 + +TPRESENCE9 + +TPRESENCE8 + +TPRESENCE[15:8] + +Presence detection output using embedded algorithms, MSB data + +The TPRESENCE (presence) output value is 16-bit data that contains the presence data. It is composed of +TPRESENCE_H (3Bh) and TPRESENCE_L (3Ah). The value is expressed as two's complement. + +10.20 + +TMOTION_L (3Ch) +Read only – default =00h + +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +TMOTION 7 + +TMOTION 6 + +TMOTION 5 + +TMOTION 4 + +TMOTION 3 + +TMOTION 2 + +TMOTION 1 + +TMOTION 0 + +TMOTION[7:0] + +10.21 + +Motion detection output using embedded algorithms, LSB data + +TMOTION_H (3Dh) +Read only – default = 00h + +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +TMOTION 15 + +TMOTION 14 + +TMOTION 13 + +TMOTION 12 + +TMOTION 11 + +TMOTION 10 + +TMOTION 9 + +TMOTION 8 + +TMOTION[15:8] + +Motion detection output using embedded algorithms, MSB data + +The TMOTION (motion) output value is 16-bit data that contains the motion data. It is composed of TMOTION_H +(3Dh) and TMOTION_L (3Ch). The value is expressed as two's complement. + +DS13916 - Rev 2 + +page 29/40 + + STHS34PF80 +TAMB_SHOCK_L (3Eh) + +10.22 + +TAMB_SHOCK_L (3Eh) +Read only – default = 00h +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +TAMB_SHOCK7 + +TAMB_SHOCK6 + +TAMB_SHOCK5 + +TAMB_SHOCK4 + +TAMB_SHOCK3 + +TAMB_SHOCK2 + +TAMB_SHOCK1 + +TAMB_SHOCK0 + +TAMB_SHOCK[7:0] + +10.23 + +Ambient shock detection output using embedded algorithms, LSB data + +TAMB_SHOCK_H (3Fh) +Read only – default = 00h +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +TAMB_SHOCK15 + +TAMB_SHOCK14 + +TAMB_SHOCK13 + +TAMB_SHOCK12 + +TAMB_SHOCK11 + +TAMB_SHOCK10 + +TAMB_SHOCK9 + +TAMB_SHOCK8 + +TAMB_SHOCK[15:8] + +Ambient shock detection output using embedded algorithms, MSB data + +The TAMB_SHOCK (ambient temperature shock) output value is 16-bit data that contains the ambient +temperature shock data. It is composed of TAMB_SHOCK_H (3Fh) and TAMB_SHOCK_L (3Eh). The value is +expressed as two's complement. + +DS13916 - Rev 2 + +page 30/40 + + STHS34PF80 +Embedded functions description + +11 + +Embedded functions description +The following registers are used to configure the embedded functions page. These registers are accessible when +the FUNC_CFG_ACCESS bit in CTRL2 (21h) is set to 1. + +11.1 + +FUNC_CFG_ADDR (08h) +RW – default = 00h +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +FUNC_CFG_ADDR[7:0] + +FUNC_CFG_ADDR[7:0] + +11.2 + +Address of embedded feature that has to be read or written according to the configuration bits in the PAGE_RW +(11h) register. + +FUNC_CFG_DATA (09h) +RW – default = 00h +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +FUNC_CFG_DATA[7:0] + +FUNC_CFG_DATA[7:0] + +11.3 + +Data byte that is read or written to the address of the page indicated by FUNC_CFG_ADDR (08h) according to the +configuration bit in PAGE_RW (11h). + +PAGE_RW (11h) +RW default = 00h +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +0 + +FUNC_CFG +_WRITE + +FUNC_CFG +_READ + +0 + +- + +- + +- + +- + +FUNC_CFG_WRITE + +When set to 1, enables the write procedure for the embedded functions. + +FUNC_CFG_READ + +When set to 1, enables the read procedure for the embedded functions. + +DS13916 - Rev 2 + +page 31/40 + + STHS34PF80 +Embedded functions registers description + +12 + +Embedded functions registers description +Detailed write and read procedures for the embedded functions registers are explained in application note +AN5867 (refer to sections 2.1.1 and 2.1.2, respectively) on www.st.com. + +12.1 + +PRESENCE_THS (20h - 21h) +Presence threshold for presence detection algorithm. This value is 15-bit unsigned. The default value is 200 +(00C8h). +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +PRESENCE_THS7 + +PRESENCE_THS6 + +PRESENCE_THS5 + +PRESENCE_THS4 + +PRESENCE_THS3 + +PRESENCE_THS2 + +PRESENCE_THS1 + +PRESENCE_THS0 + +15 + +14 + +13 + +12 + +11 + +10 + +9 + +8 + +- + +PRESENCE_THS14 + +PRESENCE_THS13 + +PRESENCE_THS12 + +PRESENCE_THS11 + +PRESENCE_THS10 + +PRESENCE_THS9 + +PRESENCE_THS8 + +12.2 + +MOTION_THS (22h - 23h) +Motion threshold for motion detection algorithm. This value is 15-bit unsigned. The default value is 200 (00C8h). +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +MOTION_THS7 + +MOTION_THS6 + +MOTION_THS5 + +MOTION_THS4 + +MOTION_THS3 + +MOTION_THS2 + +MOTION_THS1 + +MOTION_THS0 + +15 + +14 + +13 + +12 + +11 + +10 + +9 + +8 + +- + +MOTION_THS14 + +MOTION_THS13 + +MOTION_THS12 + +MOTION_THS11 + +MOTION_THS10 + +MOTION_THS9 + +MOTION_THS8 + +12.3 + +TAMB_SHOCK_THS (24h - 25h) +Ambient temperature shock threshold for Tambient shock detection algorithm. This value is 15-bit unsigned. The +default value is 10 (000Ah). +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +TAMB_SHOCK7 + +TAMB_SHOCK6 + +TAMB_SHOCK5 + +TAMB_SHOCK4 + +TAMB_SHOCK3 + +TAMB_SHOCK2 + +TAMB_SHOCK1 + +TAMB_SHOCK0 + +15 + +14 + +13 + +12 + +11 + +10 + +9 + +8 + +TAMB_SHOCK9 + +TAMB_SHOCK8 + +- + +12.4 + +TAMB_SHOCK14 TAMB_SHOCK13 TAMB_SHOCK12 TAMB_SHOCK11 TAMB_SHOCK10 + +HYST_MOTION (26h) +Hysteresis configuration value for motion detection algorithm. It is an 8-bit unsigned value in the registers. The +default value is 32h. +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +HYST_MOTION7 + +HYST_MOTION6 + +HYST_MOTION5 + +HYST_MOTION4 + +HYST_MOTION3 + +HYST_MOTION2 + +HYST_MOTION1 + +HYST_MOTION0 + +12.5 + +HYST_PRESENCE (27h) +Hysteresis configuration value for presence detection algorithm. It is an 8-bit unsigned value in the registers. The +default value is 32h. +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +HYST_ +PRESENCE7 + +HYST_ +PRESENCE6 + +HYST_ +PRESENCE5 + +HYST_ +PRESENCE4 + +HYST_ +PRESENCE3 + +HYST_ +PRESENCE2 + +HYST_ +PRESENCE1 + +HYST_ +PRESENCE0 + +DS13916 - Rev 2 + +page 32/40 + + STHS34PF80 +ALGO_CONFIG (28h) + +12.6 + +ALGO_CONFIG (28h) +Algorithm configuration with 00h default value +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +- + +- + +- + +0 + +INT_PULSED + +COMP_TYPE + +SEL_ABS + +0 + +When 1, the flags as a result of the algorithms are pulsed (high for ODR defined) on the INT pin. Default value: 0 + +INT_PULSED + +(0: latched mode; 1: pulsed mode) + +Enables the embedded linear algorithm for compensating ambient temperature variations in the object temperature. Default +COMP_TYPE value: 0 +(0: disabled; 1: enabled) +Selects the absolute value in the presence detection algorithm. Default value: 0 + +SEL_ABS + +(0: ABS is not applied; 1: ABS is applied) + +The COMP_TYPE bit can be set to enable the embedded algorithm for compensating ambient temperature +variations in the object temperature under the condition of CTRL0 (17h) GAIN[2:0] = 111. If CTRL0 (17h) +GAIN[2:0] is set as 000, the embedded compensation algorithm is not supported. Note that enabling the +embedded compensation algorithm may cause the signal to have higher RMS noise. For further configuration +guidelines, refer to the application note. + +12.7 + +HYST_TAMB_SHOCK (29h) +Hysteresis configuration value for ambient temperature shock detection algorithm. It is an 8-bit unsigned value in +the registers. The default value is 02h. +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +HYST_TAMB_ +SHOCK7 + +HYST_TAMB_ +SHOCK6 + +HYST_TAMB_ +SHOCK5 + +HYST_TAMB_ +SHOCK4 + +HYST_TAMB_ +SHOCK3 + +HYST_TAMB_ +SHOCK2 + +HYST_TAMB_ +SHOCK1 + +HYST_TAMB_ +SHOCK0 + +12.8 + +RESET_ALGO (2Ah) +RW – default = 00h +7 + +6 + +5 + +4 + +3 + +2 + +1 + +0 + +- + +- + +- + +- + +- + +- + +- + +ALGO_ENABLE +_RESET + +When this bit is set to 1, it executes a reset of the algorithms. Default value: 0 +ALGO_ENABLE_RESET + +(0 : no reset of algorithms; +1: reset of algorithms) + +The ALGO_ENABLE_RESET bit must be set to 1 in power-down mode in order to reset the algorithm properly. +This register allows a reset of the algorithm when relevant parameters (threshold, hysteresis, SEL_ABS, or lowpass filter configuration) are modified. +When the user changes one or more of these parameters, it is necessary to execute a reset operation of the +algorithms before restarting a new measurement. +Refer to AN5867 (Section 7.4 Resetting the algorithm) on www.st.com for the details of the reset procedure. + +DS13916 - Rev 2 + +page 33/40 + + STHS34PF80 +Package information + +13 + +Package information +In order to meet environmental requirements, ST offers these devices in different grades of ECOPACK packages, +depending on their level of environmental compliance. ECOPACK specifications, grade definitions and product +status are available at: www.st.com. ECOPACK is an ST trademark. + +13.1 + +OLGA-10L 3.2 x 4.2 x 1.455 mm package information +Figure 17. OLGA-10L (3.2 x 4.2 x 1.455 mm) package outline and mechanical data + +Dimensions are in millimeter unless otherwise specified. +General Tolerance is +/-0.1mm unless otherwise specified. +OUTER DIMENSIONS +ITEM +Width [W] +Length [L] +Height [H] + +DIMENSION [mm] +3.2 +4.2 +1.455 + +TOLERANCE [mm] +±0.1 +±0.1 +MA X +DM00488758_6 + +DS13916 - Rev 2 + +page 34/40 + + STHS34PF80 + +Revision history +Table 23. Document revision history +Date + +Version + +25-May-2023 + +1 + +Changes +Initial release +Added Table 4. DC characteristics + +05-Jul-2023 + +2 + +Added Section 3.2 Absolute maximum ratings +Minor textual updates + +DS13916 - Rev 2 + +page 35/40 + + STHS34PF80 +Contents + +Contents +1 + +Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 + +2 + +Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 + +3 + +Sensor and electrical specifications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 +3.1 + +3.2 + +Communication interface characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 +3.1.1 + +SPI - serial peripheral interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 + +3.1.2 + +I²C - inter-IC control interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 + +Absolute maximum ratings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 + +4 + +Optical specifications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 + +5 + +Digital interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 +5.1 + +I²C interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 +5.1.1 + +5.2 + +6 + +I²C read and write sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 + +SPI interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 +5.2.1 + +SPI write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 + +5.2.2 + +SPI read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 + +Smart digital algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 +6.1 + +Presence detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 + +6.2 + +Motion detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 + +6.3 + +Ambient temperature shock detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 + +7 + +Application schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 + +8 + +Soldering guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 + +9 + +Register mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 +9.1 + +10 + +Embedded functions page register mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 + +Registers description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 +10.1 + +LPF1 (0Ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 + +10.2 + +LPF2 (0Dh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 + +10.3 + +WHO_AM_I (0Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 + +10.4 + +AVG_TRIM (10h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 + +10.5 + +CTRL0 (17h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 + +10.6 + +SENS_DATA (1Dh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 + +10.7 + +CTRL1 (20h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 + +10.8 + +CTRL2 (21h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 + +10.9 + +CTRL3 (22h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 + +10.10 STATUS (23h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 +10.11 FUNC_STATUS (25h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 + +DS13916 - Rev 2 + +page 36/40 + + STHS34PF80 +Contents + +10.12 TOBJECT_L (26h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 +10.13 TOBJECT_H (27h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 +10.14 TAMBIENT_L (28h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 +10.15 TAMBIENT_H (29h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 +10.16 TOBJ_COMP_L (38h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 +10.17 TOBJ_COMP_H (39h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 +10.18 TPRESENCE_L (3Ah) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 +10.19 TPRESENCE_H (3Bh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 +10.20 TMOTION_L (3Ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 +10.21 TMOTION_H (3Dh). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 +10.22 TAMB_SHOCK_L (3Eh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 +10.23 TAMB_SHOCK_H (3Fh). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 + +11 + +12 + +13 + +Embedded functions description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 +11.1 + +FUNC_CFG_ADDR (08h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 + +11.2 + +FUNC_CFG_DATA (09h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 + +11.3 + +PAGE_RW (11h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 + +Embedded functions registers description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 +12.1 + +PRESENCE_THS (20h - 21h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 + +12.2 + +MOTION_THS (22h - 23h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 + +12.3 + +TAMB_SHOCK_THS (24h - 25h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 + +12.4 + +HYST_MOTION (26h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 + +12.5 + +HYST_PRESENCE (27h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 + +12.6 + +ALGO_CONFIG (28h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 + +12.7 + +HYST_TAMB_SHOCK (29h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 + +12.8 + +RESET_ALGO (2Ah) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 + +Package information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 +13.1 + +OLGA-10L 3.2 x 4.2 x 1.455 mm package information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 + +Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 +List of tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 +List of figures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 + +DS13916 - Rev 2 + +page 37/40 + + STHS34PF80 +List of tables + +List of tables +Table 1. +Table 2. +Table 3. +Table 4. +Table 5. +Table 6. +Table 7. +Table 8. +Table 9. +Table 10. +Table 11. +Table 12. +Table 13. +Table 14. +Table 15. +Table 16. +Table 17. +Table 18. +Table 19. +Table 20. +Table 21. +Table 22. +Table 23. + +Pin description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +Sensor specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +Electrical specifications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +DC characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +Operating temperature range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +SPI slave timing values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +I²C slave timing values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +Optical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +Transfer when the master is writing one byte to slave . . . . . . . . . . . . . . . . . +Transfer when master is writing multiple bytes to slave . . . . . . . . . . . . . . . . +Transfer when master is receiving (reading) one byte of data from slave . . . . +Transfer when master is receiving (reading) multiple bytes of data from slave +Internal pin status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +Register map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +Embedded functions page register map . . . . . . . . . . . . . . . . . . . . . . . . . . +Low-pass filter configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +Averaging selection for ambient temperature . . . . . . . . . . . . . . . . . . . . . . . +Averaging selection for object temperature and noise . . . . . . . . . . . . . . . . +ODR configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +Current consumption at different ODRs and AVG_TMOS setting . . . . . . . . . +IEN[1:0] configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + +DS13916 - Rev 2 + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. 4 +. 5 +. 5 +. 6 +. 6 +. 7 +. 8 +. 9 +10 +12 +12 +12 +12 +18 +20 +21 +22 +23 +23 +25 +25 +27 +35 + +page 38/40 + + STHS34PF80 +List of figures + +List of figures +Figure 1. +Figure 2. +Figure 3. +Figure 4. +Figure 5. +Figure 6. +Figure 7. +Figure 8. +Figure 9. +Figure 10. +Figure 11. +Figure 12. +Figure 13. +Figure 14. +Figure 15. +Figure 16. +Figure 17. + +DS13916 - Rev 2 + +Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +Pin configuration (package bottom view) . . . . . . . . . . . . . . . . . . . . . . . +SPI slave timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +I²C slave timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +Typical field of view measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . +Filter transmittance typical curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +Start and stop conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +SPI write protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +Multiple byte SPI write protocol (2-byte example) . . . . . . . . . . . . . . . . . +SPI read protocol in 3-wire mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . +Block diagram of presence detection algorithm . . . . . . . . . . . . . . . . . . . +Block diagram of motion detection algorithm. . . . . . . . . . . . . . . . . . . . . +Block diagram of ambient temperature shock detection algorithm . . . . . . +Application schematic with I²C connection . . . . . . . . . . . . . . . . . . . . . . +Application schematic with SPI connection . . . . . . . . . . . . . . . . . . . . . . +INT_OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +OLGA-10L (3.2 x 4.2 x 1.455 mm) package outline and mechanical data . + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +. 3 +. 4 +. 7 +. 8 +10 +10 +11 +13 +13 +14 +15 +16 +16 +17 +17 +26 +34 + +page 39/40 + + STHS34PF80 + +IMPORTANT NOTICE – READ CAREFULLY +STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, enhancements, modifications, and improvements to ST +products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on ST products before placing orders. ST +products are sold pursuant to ST’s terms and conditions of sale in place at the time of order acknowledgment. +Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or the design of +purchasers’ products. +No license, express or implied, to any intellectual property right is granted by ST herein. +Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product. +ST and the ST logo are trademarks of ST. For additional information about ST trademarks, refer to www.st.com/trademarks. All other product or service names +are the property of their respective owners. +Information in this document supersedes and replaces information previously supplied in any prior versions of this document. +© 2023 STMicroelectronics – All rights reserved + +DS13916 - Rev 2 + +page 40/40 + + \ No newline at end of file