Hi,
I am trying to connect two 10-DOF boards to the same I2C bus in a BeagleBone Black (Adafruit 10-DOF IMU Breakout - L3GD20 + LSM303 + BMP180)
It seems that each type of sensor (accelerometer, gyroscope...) is always mapped to the same address so I can just access one accelerometer on the I2C bus.
when I have two 10DOF boards connected I see 4 out of the 8 devices connected to the bus.
I have software to read data from a single board but I haven't been successful in reading from both boards.
How can I change the sensor addresses on the second board?
Thanks,
Multiple 10-DOF(Adafruit 10-DOF IMU Breakout - L3GD20 + LSM3
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
-
- Posts: 3
- Joined: Wed Jul 02, 2014 4:24 pm
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: Multiple 10-DOF(Adafruit 10-DOF IMU Breakout - L3GD20 +
It's not possible to change the addresses on the 10-DOF. They are fixed.
I'm not a BBB expert, but doesn't it have two I2C buses? You would have to put one 10-DOF on each bus
I'm not a BBB expert, but doesn't it have two I2C buses? You would have to put one 10-DOF on each bus
-
- Posts: 3
- Joined: Wed Jul 02, 2014 4:24 pm
Re: Multiple 10-DOF(Adafruit 10-DOF IMU Breakout - L3GD20 +
Thanks for the quick response.
I am actually interested in 4 10-DOF boards connected to the BBB, so the 2 I2C available on the BBB are not enough..
I was wondering if the addresses in the 9-DOF (Adafruit 9-DOF IMU Breakout - L3GD20 + LSM303) boards are different than the addresses in the 10-DOF boards even that the part numbers are the same??
In that case I could use a 10-DOF and 9-DOF in each of the BBB I2C buses, having 4 boards connected to BBB
Thanks!
I am actually interested in 4 10-DOF boards connected to the BBB, so the 2 I2C available on the BBB are not enough..
I was wondering if the addresses in the 9-DOF (Adafruit 9-DOF IMU Breakout - L3GD20 + LSM303) boards are different than the addresses in the 10-DOF boards even that the part numbers are the same??
In that case I could use a 10-DOF and 9-DOF in each of the BBB I2C buses, having 4 boards connected to BBB
Thanks!
-
- Posts: 3
- Joined: Wed Jul 02, 2014 4:24 pm
Re: Multiple 10-DOF(Adafruit 10-DOF IMU Breakout - L3GD20 +
Would the LSM303 Compass/accelerometer board have a different I2C address??
https://www.adafruit.com/products/1120
https://www.adafruit.com/products/1120
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: Multiple 10-DOF(Adafruit 10-DOF IMU Breakout - L3GD20 +
Unfortunately, the addresses are set by the chips themselves in all these cases. You might look into a software I2C driver for the BBB - I don't know if one is available, but if it were, then you might be able to have 4 separate buses.
- kevin.dsouza3691
- Posts: 1
- Joined: Tue Jul 23, 2013 2:28 pm
Re: Multiple 10-DOF(Adafruit 10-DOF IMU Breakout - L3GD20 +
I am sorry if i am a few months late, but well.
I use 6 of the 9DOF sensors on one i2c bus.
How i do it is
Connect the beaglebone to a MUX.
The SCL Line is common to all the MOdules and the SDA is given thru the MUX pins.
Configure 4x GPIO Pins to drive the 1:16 MUX. and control which module you want to communicate with with the GPIO.
eg. for Module 1 your GPIO would be 0001, for two it would be 0010, so on and so forth.
the problem here is the Polling will be quite slow, if you have plans of reading more than 20readings per second from every sensor use both the i2c buses.
I think i am able to poll around 10 readings per second (Gyro+Accel+Magneto) in a sequential read mode from all the 6 Sensors using only 1 bus.
If you used 2 buses that would double the amount of data u received via the bus.
Cheers!
I use 6 of the 9DOF sensors on one i2c bus.
How i do it is
Connect the beaglebone to a MUX.
The SCL Line is common to all the MOdules and the SDA is given thru the MUX pins.
Configure 4x GPIO Pins to drive the 1:16 MUX. and control which module you want to communicate with with the GPIO.
eg. for Module 1 your GPIO would be 0001, for two it would be 0010, so on and so forth.
the problem here is the Polling will be quite slow, if you have plans of reading more than 20readings per second from every sensor use both the i2c buses.
I think i am able to poll around 10 readings per second (Gyro+Accel+Magneto) in a sequential read mode from all the 6 Sensors using only 1 bus.
If you used 2 buses that would double the amount of data u received via the bus.
Cheers!
Please be positive and constructive with your questions and comments.