

The Encoder Metal Gearmotor 12V DC High Speed 300RPM by Bemonoc is a high-performance gearmotor designed for applications requiring both speed and precision. This motor operates at 12V DC and delivers a rotational speed of 300 RPM, making it suitable for robotics, automation, and other motion control systems. The integrated encoder provides precise position and speed feedback, enabling closed-loop control for enhanced accuracy.








Below are the key technical details of the Encoder Metal Gearmotor:
| Parameter | Value |
|---|---|
| Operating Voltage | 12V DC |
| No-Load Speed | 300 RPM |
| Rated Torque | 1.2 kg·cm |
| Stall Torque | 6.0 kg·cm |
| Gear Ratio | 1:34 |
| Encoder Resolution | 11 pulses per revolution |
| Shaft Diameter | 6 mm |
| Motor Dimensions | 70 mm x 32 mm x 32 mm |
| Weight | 200 g |
The motor comes with a 6-pin connector for power and encoder signals. The pinout is as follows:
| Pin | Name | Description |
|---|---|---|
| 1 | Motor+ | Positive terminal for motor power (12V DC) |
| 2 | Motor- | Negative terminal for motor power (GND) |
| 3 | Encoder VCC | Power supply for the encoder (5V DC) |
| 4 | Encoder GND | Ground for the encoder |
| 5 | Encoder A | Encoder channel A output (quadrature signal) |
| 6 | Encoder B | Encoder channel B output (quadrature signal) |
Motor+ and Motor- pins to a 12V DC power source. Ensure the power supply can handle the motor's current requirements.Encoder VCC pin and connect the Encoder GND pin to ground.Encoder A and Encoder B pins to a microcontroller or motor driver capable of reading quadrature signals.Below is an example of how to interface the motor and encoder with an Arduino UNO for speed measurement:
// Define encoder pins
const int encoderA = 2; // Encoder channel A connected to digital pin 2
const int encoderB = 3; // Encoder channel B connected to digital pin 3
volatile int encoderCount = 0; // Variable to store encoder counts
// Interrupt service routine for encoder channel A
void encoderISR() {
// Check the direction of rotation using channel B
if (digitalRead(encoderB) == HIGH) {
encoderCount++; // Clockwise rotation
} else {
encoderCount--; // Counterclockwise rotation
}
}
void setup() {
// Initialize serial communication
Serial.begin(9600);
// Configure encoder pins as inputs
pinMode(encoderA, INPUT);
pinMode(encoderB, INPUT);
// Attach interrupt to encoder channel A
attachInterrupt(digitalPinToInterrupt(encoderA), encoderISR, RISING);
Serial.println("Encoder initialized.");
}
void loop() {
// Print the encoder count to the serial monitor
Serial.print("Encoder Count: ");
Serial.println(encoderCount);
delay(100); // Delay for readability
}
Motor Does Not Spin:
Motor+ and Motor- pins.Encoder Signals Are Unstable:
Motor Overheats:
Incorrect Encoder Readings:
Q1: Can this motor be powered with a voltage other than 12V?
A1: While the motor may operate at lower voltages, its performance (speed and torque) will be reduced. Operating above 12V is not recommended as it may damage the motor.
Q2: What is the purpose of the encoder?
A2: The encoder provides feedback on the motor's position and speed, enabling precise control in applications like robotics and automation.
Q3: Can I use this motor without the encoder?
A3: Yes, the motor can be used without the encoder for simple applications, but you will lose the ability to monitor and control its position and speed accurately.
Q4: What type of motor driver is recommended?
A4: An H-bridge motor driver like the L298N or TB6612FNG is recommended for controlling this motor.
By following this documentation, you can effectively integrate the Encoder Metal Gearmotor 12V DC High Speed 300RPM into your projects for reliable and precise motion control.