

The Tri-Axis Gyro Breakout - L3G4200D (Manufacturer Part ID: SEN-10612) is a compact and versatile sensor designed to measure angular velocity along three axes: X, Y, and Z. Manufactured by SparkFun Electronics, this breakout board is based on the L3G4200D gyroscope IC, which provides precise motion tracking and orientation detection. It is widely used in applications such as robotics, drones, gaming devices, and mobile devices where accurate rotational data is essential.








The following table outlines the key technical details of the Tri-Axis Gyro Breakout - L3G4200D:
| Parameter | Value |
|---|---|
| Supply Voltage | 2.4V to 3.6V (3.3V recommended) |
| Communication Interface | I2C (up to 400 kHz) and SPI (up to 10 MHz) |
| Measurement Range | ±250, ±500, ±2000 degrees per second (dps) |
| Sensitivity | 8.75, 17.5, 70 mdps/digit (configurable) |
| Operating Temperature | -40°C to +85°C |
| Power Consumption | 6.1 mA (normal mode), 2.5 mA (low-power mode) |
| Dimensions | 20.3mm x 20.3mm |
The breakout board has 10 pins, as described in the table below:
| Pin | Name | Description |
|---|---|---|
| 1 | VIN | Power input (3.3V recommended) |
| 2 | GND | Ground connection |
| 3 | SDA | I2C data line |
| 4 | SCL | I2C clock line |
| 5 | CS | Chip select for SPI communication (active low) |
| 6 | SDO | SPI data output |
| 7 | SDI/SDO | SPI data input/output |
| 8 | INT1 | Interrupt 1 output (configurable) |
| 9 | INT2 | Interrupt 2 output (configurable) |
| 10 | DRDY | Data ready signal (optional, for synchronization) |
Below is an example of how to interface the L3G4200D with an Arduino UNO using the I2C interface:
#include <Wire.h>
// L3G4200D I2C address
#define L3G4200D_ADDRESS 0x69
void setup() {
Wire.begin(); // Initialize I2C communication
Serial.begin(9600); // Initialize serial communication for debugging
// Initialize the L3G4200D
Wire.beginTransmission(L3G4200D_ADDRESS);
Wire.write(0x20); // CTRL_REG1: Enable X, Y, Z axes and set data rate
Wire.write(0x0F); // Normal mode, all axes enabled, 100 Hz data rate
Wire.endTransmission();
Serial.println("L3G4200D initialized");
}
void loop() {
int16_t x, y, z;
// Request angular velocity data
Wire.beginTransmission(L3G4200D_ADDRESS);
Wire.write(0x28 | 0x80); // OUT_X_L register with auto-increment
Wire.endTransmission();
Wire.requestFrom(L3G4200D_ADDRESS, 6);
if (Wire.available() == 6) {
x = Wire.read() | (Wire.read() << 8); // Combine low and high bytes
y = Wire.read() | (Wire.read() << 8);
z = Wire.read() | (Wire.read() << 8);
}
// Print angular velocity data
Serial.print("X: ");
Serial.print(x);
Serial.print(" Y: ");
Serial.print(y);
Serial.print(" Z: ");
Serial.println(z);
delay(100); // Delay for readability
}
No Data Output:
Incorrect or Noisy Readings:
I2C Communication Failure:
By following this documentation, you can effectively integrate the Tri-Axis Gyro Breakout - L3G4200D into your projects for precise motion tracking and orientation detection.