Skip to main content

Grove-Single Axis Analog Gyro

The Grove – Signal Axis Analog Gyro is based on an angular velocity sensor (Murata-ENC-03R) that uses the phenomenon of Coriolis force. It can only measure the X-axis angular velocity, which is different from other 3-Axis gyro, but with a higher speed. It can be used for the position control and attitude control like the self-balanced 2WD.

Model: SEN05091P


  • Input Voltage: 3.3V/5V

  • Standard Grove Interface

  • Light Weight

  • High Speed

  • Measure X-axis Angular Velocity


With Arduino

The module detects one-axis rotation with analog signal. High-pass filter and low-pass filter circuit are applied to reduce the temperature drift and suppress the output noise. Before the measurement of the angular velocity, a reference value(the sensor output at Angular Velocity=0) is required. This value is 1.35V in default. But in order to get more accurate reference values, before the measurement,a calibration is necessary. In this calibration, the output voltage when angular velocity =0 been sampled 200 times, and then the average of these data will be treated as the reference value.

1.Connect it to A0 port of Grove - Base Shield, of cause any pin of the analog pins would be OK.

2.Plug the Grove - Base Shield into Arduino/Seeeduino and connect them to PC using a USB cable.

3.Upload the below code.Please click here if you do not know how to upload.

    int sensorPin = A0; // select the input pin for the sensor

float reference_Value=0;

int sensorValue = 0; // variable to store the value coming from the sensor

void setup()

int i;
float sum=0;
pinMode(sensorPin, INPUT);
Serial.println("Please do not rotate it before calibrate!");
Serial.println("Get the reference value:");

// read the value from the sensor:
sensorValue = analogRead(sensorPin);
sum += sensorValue;
reference_Value = sum/1000.0;
Serial.println("Now you can begin your test!");

void loop()
double angularVelocity;
sensorValue = analogRead(sensorPin);
angularVelocity =((double)(sensorValue-reference_Value)*4930.0)/1023.0/0.67; //get the angular velocity
Serial.println(" ");
  1. Now, it is time to the calibration. Put the sensor on your desk horizontally ,and then press the Reset button on the Seeeduino, and then Open the serial tool:

  1. As you see the "Now you can begin your test", that means the calibration done. You can use the sensor now. Rotating direction can reference the following picture:

With Raspberry Pi

  1. You should have got a raspberry pi and a grovepi or grovepi+.

  2. You should have completed configuring the development enviroment, otherwise follow here.

  3. Connection

  • Plug the sensor to grovepi socket A0 by using a grove cable.
  1. Navigate to the demos' directory:

    cd yourpath/GrovePi/Software/Python/

  • To see the code
    nano # "Ctrl+x" to exit #

import time
import grovepi

#Connect the Grove Single Axis Analog Gyro to analog port A0
sensor = 0


print "calibrating..."

sum = 0

errors = 0

for x in range(0, 100):

#Get sensor value
v = grovepi.analogRead(sensor)
sum += v
except IOError:
print "Error"
errors += 1

if errors == 100:

print "unable to calibrate"

raise SystemExit

reference_value = sum / (100 - errors)

print "finished calibrating"
print "reference_value =", reference_value


while True:
#Get sensor value
sensor_value = grovepi.analogRead(sensor)

#Calculate angular velocity (deg/s)
velocity = ((float)(sensor_value - reference_value) * 4930.0) / 1023.0 / 0.67

print "sensor_value =", sensor_value, " velocity =", velocity

except IOError:
print "Error"

5.Run the demo.

sudo python

Schematic Online Viewer


[Eagle] Grove - Signal Axis Analog Gyro Eagle

[PDF] Grove - Signal Axis Analog Gyro Sch

[PDF] Grove - Signal Axis Analog Gyro PCB

[Datasheet] File Signal Axis Analog Gyro datasheet

[Code] Demo code on github

Tech Support & Product Discussion

Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.

Loading Comments...