

The N20 Motor Custom is a small, high-torque DC motor manufactured by Arduino, designed for use in robotics, automation, and other precision-driven applications. Known for its compact size and efficiency, this motor is ideal for projects requiring reliable performance in a small form factor. Its versatility makes it a popular choice for hobbyists and professionals alike.








The following table outlines the key technical details of the N20 Motor Custom:
| Parameter | Value |
|---|---|
| Manufacturer | Arduino |
| Part ID | Motor N20 Custom |
| Operating Voltage | 3V to 12V |
| Rated Voltage | 6V |
| No-Load Speed | 300 RPM to 12,000 RPM (varies by model) |
| Stall Torque | Up to 1.2 kg·cm |
| Stall Current | 1.2A (at 6V) |
| Gear Ratio | 1:10 to 1:1000 (varies by model) |
| Motor Type | Brushed DC Motor |
| Dimensions | 12mm x 10mm x 26mm |
| Shaft Diameter | 3mm |
| Weight | ~10g |
The N20 Motor Custom has two terminals for electrical connections:
| Pin | Description |
|---|---|
| V+ | Positive terminal for power input |
| V- | Negative terminal for power input |
Note: The motor's direction of rotation can be reversed by swapping the polarity of the V+ and V- connections.
Below is an example of controlling the N20 Motor Custom using an Arduino UNO and an L298N motor driver:
// Example: Controlling N20 Motor Custom with Arduino UNO and L298N Motor Driver
// Define motor control pins
const int motorPin1 = 9; // IN1 on L298N
const int motorPin2 = 10; // IN2 on L298N
const int enablePin = 11; // 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 in one direction
digitalWrite(motorPin1, HIGH); // Set IN1 high
digitalWrite(motorPin2, LOW); // Set IN2 low
analogWrite(enablePin, 128); // Set speed (0-255)
delay(2000); // Run for 2 seconds
// Stop the motor
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
delay(1000); // Pause for 1 second
// Rotate motor in the opposite direction
digitalWrite(motorPin1, LOW); // Set IN1 low
digitalWrite(motorPin2, HIGH); // Set IN2 high
analogWrite(enablePin, 128); // Set speed (0-255)
delay(2000); // Run for 2 seconds
// Stop the motor
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
delay(1000); // Pause for 1 second
}
Note: Adjust the analogWrite value to control the motor speed. A value of 0 stops the motor, while 255 runs it at full speed.
Motor Not Spinning
Motor Overheating
Noisy Operation
Inconsistent Speed
Q: Can the N20 Motor Custom be used with a battery?
Q: What is the maximum load the motor can handle?
Q: Can I control the motor without a motor driver?
Q: How do I reduce motor noise?
This concludes the documentation for the N20 Motor Custom. For further assistance, refer to Arduino's official support resources.