Hi,
I'm interfacing a Raspberry Pi 3, running Raspian with a L3GD20H + LSM303 9-DOF IMU (currently discontinued), aiming for maximum possible performance in reading speeds.
The relevant part of my program is coded with C++.
I attempted configuring Raspbian to increase the I2C bus baud rate to 400kHz. The IMU on the other hand, it's related datasheets suggest that a pull up resistor must be used to achieve maximum I2C clock speed.
I'm not quite a pro in pull up resistors, but isn't there a built in one in the Raspberry Pi? Is it useful for my goal?
Any more information needed from my side?
Thanks!
9-DOF IMU - L3GD20H + LSM303 -> using a pull up resistor
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- FMA
- Posts: 9
- Joined: Wed Apr 06, 2016 10:05 am
- adafruit_support_carter
- Posts: 29168
- Joined: Tue Nov 29, 2016 2:45 pm
Re: 9-DOF IMU - L3GD20H + LSM303 -> using a pull up resistor
Yes, for the I2C lines on (BCM 2 and BCM 3):I'm not quite a pro in pull up resistors, but isn't there a built in one in the Raspberry Pi?
https://pinout.xyz/pinout/pin3_gpio2#
The pull ups are a requirement for I2C. They need to be incorporated on the bus somewhere. So they are useful for that. Otherwise you would have to add the resistors yourself externally.Is it useful for my goal?
The value of the pull up resistors affects the achievable bus speed. Lower values are used for higher bus speeds. The ones built in to the Pi are 1.8kOhm. The sensor breakout also has pull resistors of 10kOhm. These are connected in parallel, so the overall pull up resistance is about 1.5kOhm (which should be OK for 400kHz).Any more information needed from my side?
- FMA
- Posts: 9
- Joined: Wed Apr 06, 2016 10:05 am
Re: 9-DOF IMU - L3GD20H + LSM303 -> using a pull up resistor
Thanks this was very helpful!
Since I increased the I2C baudrate in Raspbian, my time measurements for the readings did not show any improvement whatsoever.
Is there a better way to confirm that the new baudrate was indeed configured correctly?
Since I increased the I2C baudrate in Raspbian, my time measurements for the readings did not show any improvement whatsoever.
Is there a better way to confirm that the new baudrate was indeed configured correctly?
Please be positive and constructive with your questions and comments.