

The Gear Motor with Integrated Encoder by Naroote is a versatile and efficient component that combines a motor, a gearbox, and an encoder into a single unit. This design allows for precise control of speed, torque, and position, making it ideal for applications requiring high accuracy and feedback. The integrated encoder provides real-time feedback on the motor's rotation, enabling closed-loop control systems for enhanced performance.








| Parameter | Specification | 
|---|---|
| Operating Voltage | 6V to 12V | 
| Rated Current | 0.5A to 1.2A (depending on load) | 
| Gear Ratio | 1:30 | 
| Encoder Resolution | 11 pulses per revolution (PPR) | 
| Maximum Torque | 2.5 kg·cm | 
| No-Load Speed | 200 RPM (at 12V) | 
| Shaft Diameter | 6 mm | 
| Operating Temperature | -10°C to 50°C | 
| Dimensions | 70 mm x 30 mm x 25 mm | 
| Weight | 120 g | 
The gear motor with an integrated encoder typically has 6 wires for connection. Below is the pin configuration:
| Pin/Wire Color | Function | Description | 
|---|---|---|
| Red | Motor Power (+) | Connect to the positive terminal of the power supply. | 
| Black | Motor Power (-) | Connect to the negative terminal of the power supply. | 
| Green | Encoder A Output | Outputs the first channel of encoder pulses. | 
| Yellow | Encoder B Output | Outputs the second channel of encoder pulses. | 
| Blue | Encoder Power (+) | Connect to the positive terminal of the encoder power supply (5V). | 
| White | Encoder Power (-) | Connect to the ground of the encoder power supply. | 
Powering the Motor:
Connecting the Encoder:
Reading Encoder Signals:
Controlling the Motor:
Below is an example of how to connect and use the gear motor with an integrated encoder with an Arduino UNO:
// Define encoder pins
const int encoderPinA = 2; // Green wire
const int encoderPinB = 3; // Yellow wire
volatile int encoderCount = 0; // Variable to store encoder count
void setup() {
  pinMode(encoderPinA, INPUT); // Set encoder pin A as input
  pinMode(encoderPinB, INPUT); // Set encoder pin B as input
  // Attach interrupt to encoder pin A
  attachInterrupt(digitalPinToInterrupt(encoderPinA), encoderISR, CHANGE);
  Serial.begin(9600); // Initialize serial communication
}
void loop() {
  // Print the encoder count to the Serial Monitor
  Serial.print("Encoder Count: ");
  Serial.println(encoderCount);
  delay(500); // Delay for readability
}
// Interrupt Service Routine (ISR) for encoder
void encoderISR() {
  // Read the state of encoder pin B
  int stateB = digitalRead(encoderPinB);
  // Determine direction based on state of pin B
  if (stateB == HIGH) {
    encoderCount++; // Clockwise rotation
  } else {
    encoderCount--; // Counterclockwise rotation
  }
}
Motor Not Spinning:
Encoder Signals Not Detected:
Inconsistent Encoder Readings:
Motor Overheating:
Q: Can I use a 3.3V microcontroller with this encoder?
A: Yes, but ensure the encoder's output signals are compatible with the microcontroller's input voltage levels.
Q: What is the purpose of the encoder?
A: The encoder provides feedback on the motor's rotation, enabling precise control of speed and position.
Q: Can I reverse the motor's direction?
A: Yes, by reversing the polarity of the motor power wires or using an H-bridge motor driver.
Q: How do I calculate the motor's speed using the encoder?
A: Count the encoder pulses over a fixed time interval and multiply by the encoder resolution.
This concludes the documentation for the Gear Motor with Integrated Encoder by Naroote.