This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OPT3007: can't read lux data when first power up

Part Number: OPT3007

Hi Team,

  • Phenomenon

My customer use OPT3007  in a wearable display module, and the data of lux can display in the screen.

When first power-up the module, the ID of OPT3007 can be read but the data of lux can‘t be read.

However when change the screen to other test pattern Then change back to read data of lux and it can be read successfully.

  • Test sequence

1)       First power up device, find that the ID of OPT3007 can be read but the data of lux can’t be read. At that time, mark the I2C output as First power up_NG.

2)       Then change the screen to other test pattern

3)       Next change back to read data of lux and it can be read successfully. At that time, mark the I2C output as Change display_OK.

  • Code instructions

They send 3 write command (write 0x01/0x02/0x03 register) and 2 read command(read 0x7F/0x00).

1)      Write 0x01

2)      Write 0x02

3)      Write 0x03

4)      Read 0x7F

5)      Read  0x00

  • Compare the waveforms of  First power up_NG  and Change display_OK

1)      Write 0x01:The same

2)      Write 0x02:The same

3)      Write 0x03:The same

4)      Read 0x7F:The same

5)      Read 0x00:

When read 0x00 in First power up_NG , the data is 0x00;  Have problem!

When read 0x00 in Change display_OK, the data is 0xF0. Work normally!

  • Analysis

1)      The I2C data transfer correctly and the timing is fine.

2)      The problem occurred when the command “Read 0x00” happened.

  • Next plan

1)      What do you think of the reason in this issue? Software problem or hardware problem? I think their I2C timing is OK in waveform. 

2)      As the customer will SOP soon, so it is very urgency. The customer really want to send their failure sample for us to test