cancel
Showing results for 
Search instead for 
Did you mean: 

STHS34PF80 – Data remains constant, TOBJECT = -48

los_trpaslikos
Associate

Hello,
I am trying to get the STHS34PF80 sensor working on an STM32L0 platform via I²C. My initialization sequence is as follows:

  1. Algorithm reset according to AN5867:
CTRL2 (0x21) = 0x10  // FUNC_CFG_ACCESS = 1
PAGE_RW (0x11) = 0x40 // FUNC_CFG_WRITE = 1
FUNC_CFG_ADDR (0x08) = 0x2A
FUNC_CFG_DATA (0x09) = 0x01
PAGE_RW (0x11) = 0x00
CTRL2 (0x21) = 0x00
  1. Interrupt configuration:
    CTRL3 (0x22) = 0x05

  2. AVG_TRIM:
    0x10 = 0x01

  3. Continuous mode:
    CTRL1 (0x20) = 0x15 (BDU=1, ODR=4 Hz according to datasheet)

After this, I wait for EXTI interrupt (DRDY). On interrupt, I read:

  • STATUS (0x23)
  • TOBJECT_L/H (0x26/0x27) and etc.
  • FUNC_STATUS (0x25)

Problem:

  • The TOBJECT value remains constant (-48), even when I place a hand or heat source in front of the sensor.
  • Presence/motion flags in FUNC_STATUS almost never change. Occasionally, I see a value of 1, but very rarely, even when moving a hand or breathing near the sensor.
  • See attached screenshot of current data from the terminal.

Questions:

  • Is my initialization sequence correct?
  • What could cause TOBJECT to stay constant?
  • Are there recommended threshold and AVG settings for reliable detection?

Thanks for any tips or reference to a working example.

1 REPLY 1
casadeib
ST Employee

Hi @los_trpaslikos ,

Are you using STM32L0 platform together with a custom PCB with STHS34PF80? Can you please give us more details on you HW setup? Did you find out this issue only on one part?




In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.