

The N20 Motor is a small, compact DC motor manufactured by Arduino, designed for use in robotics, automation, and other motion control applications. Known for its high torque and efficiency, the N20 Motor is lightweight and versatile, making it an excellent choice for projects requiring precise and reliable motorized movement. Its compact size allows it to fit into tight spaces, while its robust design ensures durability and consistent performance.








The following table outlines the key technical details of the N20 Motor:
| Parameter | Value |
|---|---|
| Manufacturer | Arduino |
| Part ID | N20 Motor |
| Operating Voltage | 3V to 12V |
| Rated Voltage | 6V |
| No-Load Speed | 30 to 1000 RPM (varies by model) |
| Stall Torque | Up to 1.5 kg·cm |
| Stall Current | ~0.3A to 1.2A (varies by model) |
| Gear Ratio | 1:10 to 1:1000 (varies by model) |
| Motor Type | Brushed DC Motor |
| Dimensions | 12mm x 10mm x 26mm |
| Weight | ~10g |
The N20 Motor has two terminals for electrical connections:
| Pin | Description |
|---|---|
| Pin 1 | Positive terminal (connect to VCC) |
| Pin 2 | Negative terminal (connect to GND) |
Note: The polarity of the connections determines the direction of motor rotation. Reversing the polarity will reverse the motor's direction.
Below is an example of how to control the N20 Motor using an Arduino UNO and an L298N motor driver:
// Define motor control pins
const int motorPin1 = 9; // IN1 on L298N
const int motorPin2 = 10; // IN2 on L298N
const int enablePin = 3; // ENA on L298N (PWM pin)
void setup() {
// Set motor control pins as outputs
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(enablePin, OUTPUT);
}
void loop() {
// Rotate motor forward at 50% speed
analogWrite(enablePin, 128); // Set PWM duty cycle (0-255)
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
delay(2000); // Run for 2 seconds
// Stop the motor
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
delay(1000); // Pause for 1 second
// Rotate motor backward at 75% speed
analogWrite(enablePin, 192); // Set PWM duty cycle (0-255)
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
delay(2000); // Run for 2 seconds
// Stop the motor
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
delay(1000); // Pause for 1 second
}
Motor Does Not Spin
Motor Spins in the Wrong Direction
Motor Overheats
Motor Vibrates but Does Not Rotate
Q: Can the N20 Motor be powered directly from an Arduino UNO?
A: No, the N20 Motor requires more current than the Arduino UNO can supply. Use a motor driver or external power source.
Q: How do I control the speed of the N20 Motor?
A: Use PWM (Pulse Width Modulation) to control the motor's speed. This can be achieved using a motor driver and an Arduino.
Q: Can the N20 Motor be used for continuous operation?
A: Yes, but ensure proper cooling and avoid exceeding the motor's rated torque and voltage to prevent overheating.
Q: What gear ratio should I choose?
A: The gear ratio depends on your application. Higher gear ratios provide more torque but lower speed, while lower gear ratios provide higher speed but less torque.