2

I'm trying to use BME680 sensor on BananaPI + Armbian 5.65 together with TSL 2651 on same i2c but no luck. (for reference, very same configuration is not working on RPi either)

Sensor when connected alone, works, but connected together with TSL its not, at same time TSL works just fine when connected behind BME.

It's connected :: board -> BME680 -> TSL2561

I can reach TSL, so BME is awake and reachable as TSL have to go thru BME.

i2cdetect see both of them, so systemwise it looks ok to me

sudo i2cdetect -y 2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- 39 -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77

I'm using Bosh Driver together with this .c https://github.com/twartzek/bme680-raspberry which is originally for RPI but as BananaPi M1 is exactly the same in terms of i2c/pinouts etc. I do think it should work. This same code when BME is connected alone works.

But connected together interface just returns

**** BME680 start measurements  ****
user_i2c_write: No such device or address

which I suspect simply means it can't see device on i2c-2 (0x77) but system does.

I've edited bme680_main.c so it's using BME680_I2C_ADDR_SECONDARY and g_i2cFid = open("/dev/i2c-2", O_RDWR);

Not really sure how to proceed from here, if anyhow ;) Any help/hint would be appreciated.

Thanks

fluffypuffy
  • 103
  • 1
  • 1
  • 6

1 Answers1

0

So, I've tried to change address from 0x77 to 0x76 and it works as expected. Don't know why, but it looks like there is an issue with SECONDARY which system-wise looks ok, but sensor is invisible. When sensor is physically connected to use 0x76 (SDO to GND) and code is changed accordingly, it works.

fluffypuffy
  • 103
  • 1
  • 1
  • 6