SEN0524 ToF Bad performance

userHead dan.hag 2023-11-01 17:48:50 179 Views1 Replies


I've issues with poor performance when using the SEN0524 ToF sensor. I get a variation of around +-3cm with the sensor being fixed. The variation is pretty "slow", not really looking like random noise. See the plot attached for an example.


I'm using I2C to read the register, since there is limited information except the wiki, I might be doing something wrong:


#define TOF1_I2C_ADRESS 0x08

#define TOF_REG_DIST 0x24


tof1_distance = read_tof(TOF1_I2C_ADRESS, TOF_REG_DIST);


int read_tof(byte adress, byte reg) {



  int error = Wire.endTransmission(false); 

  if( error != 0// can't find device

    return -1;

  int n = Wire.requestFrom(adress, byte(2));

  if( n != 2) {

    return -1// can't read register


  int first_byte =;

  int sec_byte =;

  return first_byte + sec_byte * 255;




Is there anything else I can do to increase the performance? What is the default range mode set?



2023-11-03 15:41:48

The unit in the image is mm not cm btw

userHeadPic dan.hag