Skip to content

Encoder Gear Motor-25MM 95RPM


This is a gear motor that has an encoder to help users adjust the speed. The gear motor has a large torque, low loudness and easy to use. Besides, the encoder on this module has two outputs: output_A and output_B, to monitor the motor speed and direction of rotation, so that you can monitor the speed and then to adjust it in a closed-loop control.
The encoder output 2 signals with 90 degree phase difference. There will be 334 pulses on each of the signal for a round of the motor, with the rising & falling edge, you can get 334x2x2=1336 signals for a round of the motor, with a interval of 360/1336=0.2694 degree.

Encoder Gear Motor-25MM 95RPM.jpg


  • Working Voltage for Motor: 6~24 VDC
  • Rated Voltage for Motor: 12 VDC
  • Voltage for Encoder: 5 VDC
  • Motor Speed: 95 rpm@12V
  • Torque: 1.1
  • Motor Length: 65 mm
  • Motor diameter: 25 mm
  • Current: 250 mA
  • Motor Power: 1.25W
  • Weight: 86 g

Application Ideas

  • High precision non-contact temperature measurements
  • Thermal Comfort sensor for Mobile AirConditioning control system
  • Temperature sensing element for residential,commercial and industrial building airconditioning
  • Windshield defogging
  • Automotive blind angle detection
  • Industrial temperature control of moving parts
  • Temperature control in printers and copiers
  • Home appliances with temperature control
  • Healthcare
  • Livestock monitoring
  • Movement detection
  • Multiple zone temperature control – up to 127sensors can be read via common 2 wires
  • Thermal relay / alert
  • Body temperature measurement


Hardware Installation

Encoder Gear Motor-25MM 95RPM hardware.jpg Encoder Gear Motor-25MM 95RPM hardware2.jpg

Demo c0de

1.Download the library File:Encoder Gear Motor Library

2.Unzip it into the libraries file of Arduino IDE by the path: ..\arduino-1.0\libraries.

3.Open the code directly by the path:File -> Examples ->MsTimer2 ->Encoder_Gear_Motor.

#include <MsTimer2.h> 
#define ENCODER_A_PIN 2
long position;
long speed=0;
void setup(){
  MsTimer2::set(1000, flash);       
  attachInterrupt(0, read_quadrature, CHANGE);

void loop(){
   Serial.print("speed: ");
   Serial.print(speed/334, DEC);

void read_quadrature(){  

  if (digitalRead(ENCODER_A_PIN) == LOW){   
void flash()                      

4.Open the monitor of Arduino IDE, you can see the speed of the motor.
Encoder Gear Motor-25MM 95RPM test resullt.JPG