Explore Labs Triple-Axis Accelerometer and Magnetometer LSM303D Breakout Board 5V Ready with Voltage Regulator works with I2C and SPI.Designed by Explore Labs, Ships from India
The LSM303D is a system-in-package featuring a 3D digital linear acceleration sensor and a 3D digital magnetic sensor. The LSM303D has linear acceleration full scales of ±2g / ±4g / ±6g / ±8g / ±16...Read More…
The LSM303D is a system-in-package featuring a 3D digital linear acceleration sensor and a 3D digital magnetic sensor. The LSM303D has linear acceleration full scales of ±2g / ±4g / ±6g / ±8g / ±16g and a magnetic field full scale of ±2 / ±4 / ±8 / ±12 gauss.
The LSM303D includes an I2C serial bus interface that supports standard and fast mode (100 kHz and 400 kHz) and SPI serial standard interface. The system can be configured to generate an interrupt signal for free-fall, motion detection and magnetic field detection. Thresholds and timing of interrupt generators are programmable by the end user. Magnetic and accelerometer blocks can be enabled or put into power-down mode separately.
The carrier board includes a low-dropout linear voltage regulator that provides the 3.3 V required by the LSM303D, which allows the sensor to be powered from 2.5 V to 5.5 V. The regulator output is available on the 3Vo pin which can supply approx. 150 mA to external devices.
The breakout board also includes a circuit that shifts the two I2C lines or all four SPI lines (clock, data-in/out and chip select) to the same logic voltage level as the supplied VIN, making it simple to interface the board with 5V systems; and the board’s 0.1″ pin spacing makes it easy to use with standard solderless breadboards and 0.1″ perfboards. The board ships fully populated with its SMD components, including the LSM303D, as shown in the product picture.
Features of Explore Labs 3D Accelerometer + 3D Magnetometer LSM303D Compass Breakout Board:
Features of LSM303D Sensor IC:
Output Format: Values are expressed in 16-bits as two’s complement for each axis. As shown in the example codes below, knowing the sensitivites of the device, one can easily find out the acceleration value in g (acceleration due to gravity - m/s2) and magnetic field intensity in gauss. These readings may be used separately or together to create a tilt-compensated compass or other complex orientation calculations for Inertial Measurement Units (IMU).
Connections: Connections with various development boards are explained below:
The carrier board supports both I2C as well as SPI method of communication with a host microcontroller. The communication mode is selected by pulling the CS pin HIGH or LOW. By default, the CS pin is pulled HIGH through a 4.7 kΩ resistor on the board. This makes I2C communication the default method to talk to this carrier board.
I2C Communication: By default, I2C communication is implemented. The Explore Labs 3D Accelerometer + 3D Magnetometer LSM303D Compass Breakout Board can be configured and its angular velocity readings can be queried through the I2C bus. Level shifters on the I2C clock (SCL) and data (SDA) lines enable I2C communication with microcontrollers operating at the same voltage as VIN (2.5V to 5V). A detailed explanation of the I2C interface on the LSM303D can be found in its datasheet and more detailed information about I2C Protocol in general can be found in NXP’s I2C-bus specification manual.
I2C Address: In I2C mode, the device’s 7-bit slave address has its least significant bit (LSb) determined by the voltage on the SDO/ADR pin. The carrier board pulls SDO/ADR HIGH through a 4.7 kΩ resistor, making the LSb 1 and setting the slave address to 0011101b (0x1D). This is the default device address in I2C mode. If SDO/ADR pin is connected to ground, LSb value is ‘0’ which changes the device address to 0011110b (0x1E). This solution permits the connection and addressing of two different accelerometers to the same I2C lines.
Arduino Uno with I2C Interface
Raspberry Pi (all models) with I2C Interface
BeagleBone Black with I2C Interface
SPI Communication: To use the LSM303D in SPI mode, CS pin must be driven low (connected to GND). A minimum of four logic connections are used viz., SDI, SCK, SDO and CS. These should be connected to an SPI bus operating at the same logic level as VIN. The SPI interface operates in 4-wire mode by default, with SDI and SDO on separate pins. In the default 4-wire mode, the sensor transmits data to the SPI master on a dedicated data out (SDO) line. If the SPI interface is configured to use 3-wire mode instead, the SDI line doubles as SDO and is driven by the LSM303D when it transmits data to the master. A detailed explanation of the SPI interface on the LSM303D can be found in its datasheet.
Arduino Uno with Serial Peripheral Interface (SPI)
Raspberry Pi (all models) with Serial Peripheral Interface (SPI)
BeagleBone Black with Serial Peripheral Interface (SPI)
We recognize our top users by making them a Tindarian. Tindarians have access to secret & unreleased features.
We look for the most active & best members of the Tindie community, and invite them to join. There isn't a selection process or form to fill out. The only way to become a Tindarian is by being a nice & active member of the Tindie community!