

The ST-GYRO-PR is a precision gyroscope sensor designed to measure angular velocity with high accuracy. It provides real-time data for motion tracking and orientation detection, making it an essential component in applications such as robotics, drones, smartphones, and gaming devices. Its compact design and reliable performance make it suitable for both consumer and industrial-grade projects.








The following table outlines the key technical details of the ST-GYRO-PR:
| Parameter | Value |
|---|---|
| Operating Voltage | 3.3V to 5V |
| Angular Velocity Range | ±250, ±500, ±1000, ±2000 °/s |
| Sensitivity | Configurable (e.g., 131 LSB/°/s) |
| Communication Protocol | I2C, SPI |
| Operating Temperature | -40°C to +85°C |
| Dimensions | 3mm x 3mm x 1mm |
| Power Consumption | 3.6 mA (active mode) |
The ST-GYRO-PR has the following pinout:
| Pin | Name | Description |
|---|---|---|
| 1 | VCC | Power supply (3.3V to 5V) |
| 2 | GND | Ground |
| 3 | SCL | Serial Clock Line for I2C communication |
| 4 | SDA | Serial Data Line for I2C communication |
| 5 | CS | Chip Select for SPI communication (active low) |
| 6 | INT | Interrupt pin for motion detection or data readiness |
To use the ST-GYRO-PR with an Arduino UNO, follow these steps:
Wiring:
Install Required Libraries:
Wire library (pre-installed in most cases).Sample Code: Below is an example code snippet to read angular velocity data from the ST-GYRO-PR using I2C:
#include <Wire.h>
#define GYRO_ADDRESS 0x68 // Replace with the actual I2C address of the sensor
void setup() {
Wire.begin(); // Initialize I2C communication
Serial.begin(9600); // Start serial communication for debugging
// Initialize the gyroscope
Wire.beginTransmission(GYRO_ADDRESS);
Wire.write(0x6B); // Power management register
Wire.write(0x00); // Wake up the sensor
Wire.endTransmission();
}
void loop() {
int16_t gyroX, gyroY, gyroZ;
// Request data from the gyroscope
Wire.beginTransmission(GYRO_ADDRESS);
Wire.write(0x43); // Starting register for gyro data
Wire.endTransmission(false);
Wire.requestFrom(GYRO_ADDRESS, 6, true); // Request 6 bytes of data
// Read the data
gyroX = (Wire.read() << 8) | Wire.read(); // Combine high and low bytes
gyroY = (Wire.read() << 8) | Wire.read();
gyroZ = (Wire.read() << 8) | Wire.read();
// Print the angular velocity values
Serial.print("Gyro X: ");
Serial.print(gyroX);
Serial.print(" | Gyro Y: ");
Serial.print(gyroY);
Serial.print(" | Gyro Z: ");
Serial.println(gyroZ);
delay(500); // Delay for readability
}
0x68, but it may vary depending on the specific module. Check the datasheet or module documentation.No Data Output:
Inconsistent Readings:
Sensor Not Detected:
Q: Can the ST-GYRO-PR be used with a 5V microcontroller?
Q: How do I change the sensitivity of the sensor?
Q: Can I use SPI instead of I2C?
By following this documentation, you can effectively integrate the ST-GYRO-PR into your projects for precise motion tracking and orientation detection.