

The IDG500 is a high-performance inertial measurement unit (IMU) designed to provide precise angular rate measurements. This dual-axis gyroscope is capable of detecting rotational motion with high accuracy, making it an essential component in applications requiring precise motion sensing. The IDG500 is widely used in navigation systems, stabilization platforms, and motion tracking solutions across industries such as aerospace, robotics, and consumer electronics.








The IDG500 is designed to deliver reliable performance under a variety of conditions. Below are its key technical specifications:
| Parameter | Value |
|---|---|
| Supply Voltage | 2.7V to 3.6V |
| Operating Current | 6.5 mA (typical) |
| Measurement Range | ±500°/s |
| Sensitivity | 2.0 mV/°/s |
| Bandwidth | 140 Hz |
| Operating Temperature | -40°C to +85°C |
| Output Type | Analog voltage |
| Package Type | LGA-16 (4 mm x 4 mm) |
The IDG500 features a 16-pin layout. Below is the pin configuration and description:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VDD | Power supply input (2.7V to 3.6V) |
| 2 | GND | Ground |
| 3 | XOUT | X-axis angular rate output (analog voltage) |
| 4 | YOUT | Y-axis angular rate output (analog voltage) |
| 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 | VREF | Reference voltage output |
| 10 | C1P | External capacitor connection for charge pump |
| 11 | C1N | External capacitor connection for charge pump |
| 12 | C2P | External capacitor connection for charge pump |
| 13 | C2N | External capacitor connection for charge pump |
| 14 | NC | Not connected |
| 15 | NC | Not connected |
| 16 | NC | Not connected |
Below is an example of how to interface the IDG500 with an Arduino UNO to read angular rate data:
// Define analog input pins for X and Y outputs
const int xOutPin = A0; // XOUT connected to A0
const int yOutPin = A1; // YOUT connected to A1
const int vRefPin = A2; // VREF connected to A2
void setup() {
Serial.begin(9600); // Initialize serial communication
pinMode(xOutPin, INPUT); // Set XOUT pin as input
pinMode(yOutPin, INPUT); // Set YOUT pin as input
pinMode(vRefPin, INPUT); // Set VREF pin as input
}
void loop() {
// Read analog values from the gyroscope
int xRaw = analogRead(xOutPin);
int yRaw = analogRead(yOutPin);
int vRef = analogRead(vRefPin);
// Convert raw values to angular rate (°/s)
float xRate = (xRaw - vRef) * (500.0 / 1023.0); // Scale factor for ±500°/s
float yRate = (yRaw - vRef) * (500.0 / 1023.0);
// Print angular rate to the serial monitor
Serial.print("X-Axis Rate: ");
Serial.print(xRate);
Serial.print(" °/s, Y-Axis Rate: ");
Serial.print(yRate);
Serial.println(" °/s");
delay(100); // Delay for stability
}
No Output Signal:
High Noise in Output:
Drift in Measurements:
Self-Test Fails:
Q1: Can the IDG500 measure angular rates beyond ±500°/s?
A1: No, the IDG500 is designed for a maximum range of ±500°/s. Exceeding this range may result in inaccurate readings or damage to the component.
Q2: Is the IDG500 compatible with 5V systems?
A2: The IDG500 operates at 2.7V to 3.6V. Use a voltage regulator or level shifter to interface with 5V systems.
Q3: How do I reduce noise in the output signal?
A3: Use low-pass filters on the output pins and ensure proper grounding to minimize noise.
Q4: Can I use the IDG500 for 3D motion tracking?
A4: The IDG500 provides angular rate measurements for two axes (X and Y). For 3D motion tracking, you will need an additional sensor for the Z-axis.