Grove - Mouser Encoder

Grove - Mouser Encoder is a type of mechanical incremental rotary encoder with feedback data of rotary direction and rotary speed[1]. It features standard Grove interface that will save your lots of work in wiring and programming. Also, it is well adapted to heavy duty and a harsh environment. This product can be applied in toys, robots, and consumer input devices.

Note that the rotating speed is designed to be less 1000 rad/min(radian per minute).



It is versatile for different applications in hash environment such as toys, robotics and consumer input devices.


  Min. Typical Max.
Operating voltage(V)   3.3 5.5
Operating current(mA)   10 13
Duty(constant speed)   50%  
Phase difference(constant speed)   π/4  
Pulse per circle   12  

Note there are no knob included in product list. Because we think it will make this encoder more versatile for different environments.

Note you can find dimensions file in PDF format, and you can customize a knob according to the dimensions.

Tip: you can just use a suitable hexagonal screwdriver bit if you only are building a prototype for your project.

Hardware Overview

Grove interface
Connect main control board such as Seeeduino board with driver board.
Hexagonal opening
A opening you pass a knob through.

Parts list

Parts name Quantity
Grove - Mouser Encoder(no knob included) 1 PCS
Grove - Universal Cable 1 PCS

Get started

This section will show you how to build an IDE environment for building applications with Grove - Mouser Encoder.

Refer to Seeeduino V4.2(It is exchangeable with Arduino board) for how to build a complete an IDE for your applications, or read Arduino guide if you use Arduino original board.


  1. Duty circle will be bigger if the speed of rotating is slow.
  2. The pulse width(PW) will not be the same if rotating speed is not constant.
  3. The rotating speed is supposed to be low than 1000 rad/min or it will lead to narrow output PW or cause damage to this encoder.
  4. The output voltage will be uncertain(high or low voltage) for no rotating circumstance since the position of pulse inside this encoder is not certain.

Basic demo

This demo show how to detect position and detect direction.

Material required


Connect materials like follows:


/* Read Quadrature Encoder
* Connect Encoder to Pins encoder0PinA, encoder0PinB, and +5V.
* Sketch by max wolf /
* v. 0.1 - very basic functions - mw 20061220
int val; 
int encoder0PinA = 3;
int encoder0PinB = 4;
int encoder0Pos = 0;
int encoder0PinALast = LOW;
int n = LOW;
void setup() { 
    pinMode (encoder0PinA,INPUT);
    pinMode (encoder0PinB,INPUT);
    Serial.begin (115200);
void loop() { 
    n = digitalRead(encoder0PinA);
    if ((encoder0PinALast == LOW) && (n == HIGH)) {
        if (digitalRead(encoder0PinB) == LOW) {
        } else {
        Serial.println ("/");
    encoder0PinALast = n;
  1. Copy the code and flash it into the controller board.
  2. Open monitor window.
  3. Turn the screwdriver bit to left or left to see what will happen.

The output:


Schematic files

Copyright (c) 2008-2016 Seeed Development Limited ( /
This static html page was created from