

The IDG300 is a dual-axis angular rate sensor designed to measure rotational motion with high precision and low noise. This gyroscope is ideal for applications requiring accurate motion sensing, such as robotics, aerospace systems, gaming devices, and motion tracking. Its compact design and reliable performance make it a popular choice for both industrial and consumer electronics.








The following table outlines the key technical details of the IDG300:
| Parameter | Value |
|---|---|
| Measurement Axes | Dual-axis (X and Y) |
| Measurement Range | ±500°/s |
| Sensitivity | 2.0 mV/°/s |
| Supply Voltage | 2.7V to 3.6V |
| Operating Temperature | -40°C to +85°C |
| Noise Density | 0.02°/s/√Hz |
| Output Type | Analog |
| Package Type | LGA-16 (4mm x 4mm) |
The IDG300 has 16 pins, with the following configuration:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VDD | Power supply (2.7V to 3.6V) |
| 2 | GND | Ground |
| 3 | XOUT | X-axis angular rate output |
| 4 | YOUT | Y-axis angular rate output |
| 5 | ST1 | Self-test input for X-axis |
| 6 | ST2 | Self-test input for Y-axis |
| 7 | NC | Not connected |
| 8 | NC | Not connected |
| 9 | NC | Not connected |
| 10 | NC | Not connected |
| 11 | VREF | Reference voltage output |
| 12 | C1P | External capacitor connection (positive terminal) |
| 13 | C1N | External capacitor connection (negative terminal) |
| 14 | C2P | External capacitor connection (positive terminal) |
| 15 | C2N | External capacitor connection (negative terminal) |
| 16 | NC | Not connected |
Note: Pins labeled "NC" should remain unconnected during circuit design.
Below is an example of how to interface the IDG300 with an Arduino UNO to read angular rate data:
// Define analog input pins for X and Y outputs
const int xPin = A0; // XOUT connected to A0
const int yPin = A1; // YOUT connected to A1
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
}
void loop() {
// Read analog values from the IDG300
int xValue = analogRead(xPin); // Read X-axis angular rate
int yValue = analogRead(yPin); // Read Y-axis angular rate
// Convert analog values to voltage (assuming 5V reference)
float xVoltage = xValue * (5.0 / 1023.0);
float yVoltage = yValue * (5.0 / 1023.0);
// Print the results to the Serial Monitor
Serial.print("X Voltage: ");
Serial.print(xVoltage);
Serial.print(" V, Y Voltage: ");
Serial.print(yVoltage);
Serial.println(" V");
delay(500); // Wait for 500ms before the next reading
}
Note: Ensure the Arduino's ADC reference voltage matches the IDG300's output voltage range for accurate readings.
No Output Signal:
High Noise in Output:
Incorrect Readings:
Self-Test Not Working:
Q: Can the IDG300 measure angular velocity beyond ±500°/s?
A: No, the IDG300 is designed for a maximum range of ±500°/s. Exceeding this range may result in inaccurate readings or damage to the sensor.
Q: Is the IDG300 compatible with 5V systems?
A: The IDG300 operates at 2.7V to 3.6V. Use a level shifter or voltage divider if interfacing with a 5V system.
Q: How do I calibrate the IDG300?
A: Calibration involves measuring the sensor's output at rest to determine the zero-rate offset. Subtract this offset from subsequent readings to improve accuracy.
Q: Can I use the IDG300 for 3D motion tracking?
A: The IDG300 measures angular velocity on two axes (X and Y). For 3D motion tracking, you would need an additional sensor to measure the Z-axis.