The Mini 5A PWM DC Motor Speed Controller is a compact and efficient module designed to control the speed of DC motors or brightness of LEDs using Pulse Width Modulation (PWM) . It supports input voltages from 3V to 35V , handles up to 5A of current, and can deliver up to 90W of power, making it ideal for small motorized projects, fans, pumps, and LED dimming.
✅ Key Features:
Wide voltage range: 3V to 35V DC
Max output current: 5A (with heatsink )
Power output: up to 90W
High-efficiency PWM control for motor speed or LED brightness
Compact size with onboard knob for easy adjustment
Specifications:
Feature
Details
Input Voltage
3V–35V DC
Max Output Current
5A (with proper cooling)
Max Power
90W
Control Method
PWM (Pulse Width Modulation)
PWM Frequency
13kHz (typical)
Duty Cycle Range
0%–100%
Adjustment
Rotary potentiometer knob
Application
DC motor speed control, LED dimming, fans, pumps
Board Size
Approx. 32mm x 32mm x 15mm
Pin Connections Table 1
Board Sensor Pin Connection Speed Controller PWM in board PWM pin
Mini 5A PWM DC Motor Speed Controller - 3V-35V, 90W Max, LED Dimmer - Arduino Uno
Mini 5A PWM DC Motor Speed Controller - 3V-35V, 90W Max, LED Dimmer - Arduino Nano
Mini 5A PWM DC Motor Speed Controller - 3V-35V, 90W Max, LED Dimmer - Arduino Mega
Mini 5A PWM DC Motor Speed Controller - 3V-35V, 90W Max, LED Dimmer - ESP32
Mini 5A PWM DC Motor Speed Controller - 3V-35V, 90W Max, LED Dimmer - ESP8266
Mini 5A PWM DC Motor Speed Controller - 3V-35V, 90W Max, LED Dimmer - STM32
Mini 5A PWM DC Motor Speed Controller - 3V-35V, 90W Max, LED Dimmer - Raspberry Pi Pico
1 //ekostra.com
2 //electronics store in egypt
3 //+201008896258
4
5 // PWM pin 9 on Arduino Uno
6 #define PWM_PIN 9
7
8 void setup () {
9 Serial.begin (115200 );
10 pinMode (PWM_PIN, OUTPUT );
11 }
12
13 void loop () {
14 for (int speed = 0 ; speed <= 255 ; speed += 5 ) { analogWrite(PWM_PIN, speed); delay (30 ); }
15 for (int speed = 255 ; speed >= 0 ; speed -= 5 ) { analogWrite(PWM_PIN, speed); delay (30 ); }
16 }
1 //ekostra.com
2 //electronics store in egypt
3 //+201008896258
4
5 // PWM pin 9 on Arduino Nano
6 #define PWM_PIN 9
7
8 void setup () {
9 Serial.begin (115200 );
10 pinMode (PWM_PIN, OUTPUT );
11 }
12
13 void loop () {
14 for (int speed = 0 ; speed <= 255 ; speed += 5 ) { analogWrite(PWM_PIN, speed); delay (30 ); }
15 for (int speed = 255 ; speed >= 0 ; speed -= 5 ) { analogWrite(PWM_PIN, speed); delay (30 ); }
16 }
1 //ekostra.com
2 //electronics store in egypt
3 //+201008896258
4
5 // PWM pin 9 on Arduino Mega
6 #define PWM_PIN 9
7
8 void setup () {
9 Serial.begin (115200 );
10 pinMode (PWM_PIN, OUTPUT );
11 }
12
13 void loop () {
14 for (int speed = 0 ; speed <= 255 ; speed += 5 ) { analogWrite(PWM_PIN, speed); delay (30 ); }
15 for (int speed = 255 ; speed >= 0 ; speed -= 5 ) { analogWrite(PWM_PIN, speed); delay (30 ); }
16 }
1 //ekostra.com
2 //electronics store in egypt
3 //+201008896258
4
5 // PWM pin 25 on ESP32
6 #define PWM_PIN 25
7
8 void setup () {
9 Serial.begin (115200 );
10 pinMode (PWM_PIN, OUTPUT );
11 }
12
13 void loop () {
14 for (int speed = 0 ; speed <= 255 ; speed += 5 ) { analogWrite(PWM_PIN, speed); delay (30 ); }
15 for (int speed = 255 ; speed >= 0 ; speed -= 5 ) { analogWrite(PWM_PIN, speed); delay (30 ); }
16 }
1 //ekostra.com
2 //electronics store in egypt
3 //+201008896258
4
5 // PWM pin D1 on ESP8266
6 #define PWM_PIN D1
7
8 void setup () {
9 Serial.begin (115200 );
10 pinMode (PWM_PIN, OUTPUT );
11 }
12
13 void loop () {
14 for (int speed = 0 ; speed <= 255 ; speed += 5 ) { analogWrite(PWM_PIN, speed); delay (30 ); }
15 for (int speed = 255 ; speed >= 0 ; speed -= 5 ) { analogWrite(PWM_PIN, speed); delay (30 ); }
16 }
1 //ekostra.com
2 //electronics store in egypt
3 //+201008896258
4
5 // PWM pin PA8 on STM32
6 #define PWM_PIN PA8
7
8 void setup () {
9 Serial.begin (115200 );
10 pinMode (PWM_PIN, OUTPUT );
11 }
12
13 void loop () {
14 for (int speed = 0 ; speed <= 255 ; speed += 5 ) { analogWrite(PWM_PIN, speed); delay (30 ); }
15 for (int speed = 255 ; speed >= 0 ; speed -= 5 ) { analogWrite(PWM_PIN, speed); delay (30 ); }
16 }
1 //ekostra.com
2 //electronics store in egypt
3 //+201008896258
4
5 // PWM pin 15 on Raspberry Pi Pico
6 #define PWM_PIN 15
7
8 void setup () {
9 Serial.begin (115200 );
10 pinMode (PWM_PIN, OUTPUT );
11 }
12
13 void loop () {
14 for (int speed = 0 ; speed <= 255 ; speed += 5 ) { analogWrite(PWM_PIN, speed); delay (30 ); }
15 for (int speed = 255 ; speed >= 0 ; speed -= 5 ) { analogWrite(PWM_PIN, speed); delay (30 ); }
16 }
Project Notes: Single-direction PWM speed controller (no direction reversal, just speed via one PWM input).