Stufin
Home Quick Cart Profile

GY801 9-Axis Magnetic Acceleration Gyroscope Module

Buy Now on Stufin

Operating Voltage

3.3V or 5V

Communication Interfaces

I2C, SPI

Sensor Range

+ Accelerometer2g, 4g, 8g, 16g
+ Gyroscope245/s, 500/s, 1000/s, 2000/s
+ Magnetometer1300T

Data Output

16-bit resolution

Sample Rate

Up to 100 Hz

FIFO Buffer Size

512 bytes

Applications

The GY801 9-Axis Magnetic Acceleration Gyroscope Module is suitable for a wide range of applications, including

Robotics and robotic arms

Drones and unmanned aerial vehicles (UAVs)

Autonomous vehicles and driverless cars

IoT devices and wearables

Navigation and orientation systems

Aerospace and defense applications

Industrial automation and control systems

Conclusion

The GY801 9-Axis Magnetic Acceleration Gyroscope Module is a versatile and high-performance sensor module that provides accurate measurements of acceleration, angular velocity, and magnetic field strength. Its compact size, low power consumption, and high accuracy make it an ideal choice for a wide range of applications that require precise motion sensing and orientation detection.

Pin Configuration

  • GY801 9-Axis Magnetic Acceleration Gyroscope Module Pinout and Connection Guide
  • The GY801 module is a 9-axis sensor module that combines a 3-axis accelerometer, 3-axis gyroscope, and 3-axis magnetometer in a single package. It's a popular module used in various IoT projects, robots, and drones. Here's a detailed explanation of each pin and how to connect them:
  • Pinout:
  • 1. VCC (Pin 1): Power supply pin. Connect to a 3.3V or 5V power source.
  • Note: The module operates at 3.3V internally, but it can accept 5V input with an internal voltage regulator. However, it's recommended to use a 3.3V power source for optimal performance.
  • 2. GND (Pin 2): Ground pin. Connect to the ground of your power source or circuit board.
  • 3. SCL (Pin 3): I2C Clock pin. Connect to the I2C clock pin of your microcontroller or other I2C devices.
  • 4. SDA (Pin 4): I2C Data pin. Connect to the I2C data pin of your microcontroller or other I2C devices.
  • 5. INT (Pin 5): Interrupt pin. Connect to a digital input pin of your microcontroller to receive interrupts from the GY801 module.
  • Note: This pin is not mandatory and can be left unconnected if interrupts are not required.
  • 6. FSYNC (Pin 6): Frame synchronization pin. This pin is used to synchronize data transmission and is typically connected to a digital output pin of your microcontroller.
  • Note: This pin is not mandatory and can be left unconnected if frame synchronization is not required.
  • 7. NC (Pin 7): Not connected. This pin is not used and should be left unconnected.
  • 8. NC (Pin 8): Not connected. This pin is not used and should be left unconnected.
  • Connection Structure:
  • 1. Connect VCC (Pin 1) to a 3.3V or 5V power source.
  • 2. Connect GND (Pin 2) to the ground of your power source or circuit board.
  • 3. Connect SCL (Pin 3) to the I2C clock pin of your microcontroller.
  • 4. Connect SDA (Pin 4) to the I2C data pin of your microcontroller.
  • 5. If using interrupts, connect INT (Pin 5) to a digital input pin of your microcontroller.
  • 6. If using frame synchronization, connect FSYNC (Pin 6) to a digital output pin of your microcontroller.
  • 7. Leave NC (Pin 7) and NC (Pin 8) unconnected.
  • Important Notes:
  • Make sure to use a level shifter if your microcontroller operates at 5V and the GY801 module is powered by 3.3V.
  • Use a 10k pull-up resistor between VCC and SCL/SDA pins to ensure proper I2C communication.
  • The GY801 module has an internal pull-up resistor on the INT pin, so an external pull-up resistor is not necessary.
  • By following this pinout and connection guide, you can successfully integrate the GY801 9-Axis Magnetic Acceleration Gyroscope Module into your IoT project or device.

Code Examples

GY801 9-Axis Magnetic Acceleration Gyroscope Module Documentation
Overview
The GY801 9-Axis Magnetic Acceleration Gyroscope Module is a compact, high-precision sensor module that combines a 3-axis accelerometer, a 3-axis gyroscope, and a 3-axis magnetometer in a single package. This module is designed to provide precise measurements of acceleration, angular rate, and magnetic fields, making it suitable for applications such as robotics, drones, virtual reality, and motion tracking.
Pinout and Connections
The GY801 module has a standard 16-pin interface, with the following pinout:
| Pin | Function |
| --- | --- |
| 1 | VCC (3.3V) |
| 2 | GND |
| 3 | SCL (I2C Clock) |
| 4 | SDA (I2C Data) |
| 5 | INT (Interrupt) |
| 6-8 | Unused |
| 9-11 | AD0-2 (Address Pins) |
| 12-15 | Unused |
| 16 | NC (Not Connected) |
Communication Protocol
The GY801 module communicates via I2C (Inter-Integrated Circuit) protocol, with an address range of 0x68 to 0x6B (depending on the AD0-2 pin configuration).
Code Examples
### Example 1: Accelerometer and Gyroscope Readings (Arduino)
This example demonstrates how to read acceleration and angular rate data from the GY801 module using an Arduino board.
```c++
#include <Wire.h>
#define GY801_ADDRESS 0x68 // Default address
void setup() {
  Serial.begin(9600);
  Wire.begin();
}
void loop() {
  int16_t ax, ay, az; // Acceleration values (m/s^2)
  int16_t gx, gy, gz; // Angular rate values (deg/s)
Wire.beginTransmission(GY801_ADDRESS);
  Wire.write(0x3B); // Register address for acceleration data
  Wire.endTransmission();
  Wire.requestFrom(GY801_ADDRESS, 6);
  ax = Wire.read() << 8 | Wire.read();
  ay = Wire.read() << 8 | Wire.read();
  az = Wire.read() << 8 | Wire.read();
Wire.beginTransmission(GY801_ADDRESS);
  Wire.write(0x43); // Register address for gyroscope data
  Wire.endTransmission();
  Wire.requestFrom(GY801_ADDRESS, 6);
  gx = Wire.read() << 8 | Wire.read();
  gy = Wire.read() << 8 | Wire.read();
  gz = Wire.read() << 8 | Wire.read();
Serial.print("Accel: ");
  Serial.print(ax); Serial.print(", ");
  Serial.print(ay); Serial.print(", ");
  Serial.println(az);
Serial.print("Gyro: ");
  Serial.print(gx); Serial.print(", ");
  Serial.print(gy); Serial.print(", ");
  Serial.println(gz);
delay(100);
}
```
### Example 2: Magnetometer Readings (Raspberry Pi with Python)
This example demonstrates how to read magnetic field data from the GY801 module using a Raspberry Pi with Python.
```python
import smbus
import time
bus = smbus.SMBus(1)  # Use I2C bus 1
gy801_address = 0x68
def read_magnetometer():
    bus.write_byte(gy801_address, 0x03)  # Register address for magnetometer data
    data = bus.read_i2c_block_data(gy801_address, 0x03, 6)
    mx = data[0] << 8 | data[1]
    my = data[2] << 8 | data[3]
    mz = data[4] << 8 | data[5]
    return mx, my, mz
while True:
    mx, my, mz = read_magnetometer()
    print("Magnetometer: ", mx, ", ", my, ", ", mz)
    time.sleep(0.1)
```
Note: These examples assume a basic understanding of the I2C protocol and the Arduino/Raspberry Pi platforms. You may need to modify the code to suit your specific application and hardware configuration.
I hope this documentation helps! Let me know if you have any further questions.