I2C code for my project using Calipile thermopile sensor TPiS 1T 1086 L5.5

Hello there…

Im not much new to arduino but i guess I stuck up on some I2C interfaces with arduino…

The main I2C sensor Im using is TPiS 1t 1086 L5.5, its a sensor to detect motion, presence and the temperature of the object, having total 63 registers all in one I2C.

As the sensor is also like new for me and its a I2C also, which I’d never worked on. But I found much stuff to work with and still have some problems that im adding up here:

  1. defining the registers; as there are 63 total registers including the EEPROMs too. some can easily be defined but few main registers are having more than one register location, eg., TPobj is having location on 3 different registers for total of 17bit(size) component/register (2) TPamb is having location on 2 different registers or total 15bit(size)

IR_PSPEC_TPiS_1T_1086_L5.5_7452_23.11.2018_Datasheet.pdf (1.96 MB)

Which Arduino board do you use ?
That is a 3.3V sensor. You can not connect it to a 5V Arduino board just like that.

In the Arduino IDE you might find the example sketch: I2C Scanner, or else find one online.
That is the first step. Let it run and see if it is visible on the I2C bus.

If it is not visible, then send a command to I2C address 0x00 with data 0x04 as written in the datasheet.


Wire.beginTransmission( 0x00);
Wire.write( 0x04);

Then run the I2C scanner again, while the sensor is still powered all the time.

That is a complex sensor, especially for a beginner with I2C. Plan on spending a lot of time studying the data sheet, and learning how to use I2C.

There is an Arduino STM32 library for a similar sensor from the same company here: GitHub - kriswiner/CaliPile: Arduino sketch for Excelitas' CaliPile TPiS 1S 1385 Thermoipile I2C sensor. It should give you some insight, and maybe you can find code for the sensor you have.