MOSFET as an ESC for Mini Brushed Motors

mosfet-in-the-middle-of-dozens-of-bjt-transistor-on-top-of-brown-table

Using a MOSFET as an ESC for Mini Brushed Motors

Mini brushed motors are widely used in small RC vehicles, drones, DIY robots, and hobby electronics projects. To control their speed, we often need an Electronic Speed Controller (ESC). While commercial ESCs are available, they can be bulky or expensive for compact applications.

In this article, we’ll show how to build a simple, one-directional ESC using a single MOSFET and a PWM signal from a microcontroller like an Arduino. This solution is ideal for cases where the motor only needs to spin in one direction—like driving a small fan, wheel, or propeller. It's a low-cost and efficient way to add variable-speed control to your project.

mini-dron-in-a-hand-and-grass-in-the-back-ground
mini-brushed-motor-and-green-propeller-in-hand

1. Why Use a MOSFET?

MOSFETs (Metal-Oxide-Semiconductor Field-Effect Transistors) are powerful switches used to control high currents efficiently. When used with brushed DC motors, they allow:

  • Fast switching for PWM control
  • Low heat dissipation due to low on-resistance
  • Compact and cost-effective solutions compared to motor driver ICs
IRF540 transistor Pinout and internal representation

2. How Brushed DC Motors Are Controlled

Brushed DC motors increase their speed with higher voltage. To achieve smooth speed control, we don’t vary the voltage directly—instead, we apply Pulse Width Modulation (PWM), a technique that rapidly turns the motor's power on and off. The average power depends on the PWM duty cycle.

However, a microcontroller alone cannot supply enough current to the motor. We use a MOSFET as an electronic switchthat is controlled by the microcontroller’s PWM output, allowing it to handle much higher currents safely.

PWM Signal

3. Choosing the Right MOSFET

To build a reliable ESC, choose a logic-level N-channel MOSFET. Key specifications to look for:

  • Low RDS(on) (to reduce heat and power loss)
  • Gate threshold voltage ≤ 2.5V (to be driven by 3.3V or 5V logic)
  • Current rating ≥ 2× motor stall current

Recommended MOSFETs:

IRLZ44N: ~1.0V (Gate Threshold), 47A (Max Continuous Current)

IRL540N: ~2.0V (Gate Threshold), 28A (Max Continuous Current)

AO3400: ~1.5V (Gate Threshold), 5.8A (Max Continuous Current)


4. What Is Motor Stall Current?

The stall current is the highest current your motor will draw—typically when it first starts or when it is blocked from turning. It's important to size your MOSFET accordingly to prevent overheating or failure.

You can estimate stall current with:

Istall=VsupplyRmotorI_{\text{stall}} = \frac{V_{\text{supply}}}{R_{\text{motor}}}

Measure the resistance between the motor terminals with a multimeter (when it's not spinning).

5. Simple One-Directional ESC Circuit

Components:

  • N-channel logic-level MOSFET
  • Flyback diode (e.g., 1N5819 or Schottky diode)
  • Arduino or other microcontroller
  • Mini brushed motor
  • Power supply (battery or DC adapter)

Wiring:

  • Motor positive terminal → +V (battery or power)
  • Motor negative terminal → MOSFET drain
  • MOSFET source → GND
  • Gate → PWM pin on microcontroller (optional 100Ω resistor in series)
  • Flyback diode across motor terminals (cathode to +V, anode to motor-)
circuit-using-mosfet-as-uni-esc-for-brushed-motors
using-mosfet-as-uni-esc-for-brushed-motors

6. Arduino Example Code

This sketch gradually speeds the motor up and then slows it down by adjusting the PWM duty cycle.

1const int motorPin = 9; // PWM-capable pin
2
3void setup() {
4 pinMode(motorPin, OUTPUT);
5}
6
7void loop() {
8 // Ramp motor speed up
9 for (int speed = 0; speed <= 255; speed++) {
10 analogWrite(motorPin, speed);
11 delay(10);
12 }
13
14 // Ramp motor speed down
15 for (int speed = 255; speed >= 0; speed--) {
16 analogWrite(motorPin, speed);
17 delay(10);
18 }
19}
20

7. Tips for a Reliable ESC

  • Always use a flyback diode to protect the MOSFET from voltage spikes when switching the motor off.
  • Add a small capacitor (100nF–1µF) across motor terminals to reduce electrical noise.
  • Use a gate resistor (100Ω) if you're experiencing signal ringing or noise.
  • For motors drawing more than 1A, add a small heatsink to the MOSFET.

8. When to Consider Full ESC or H-Bridge

The one-MOSFET ESC is excellent for:

  • One-way motion
  • Low- to moderate-current brushed motors
  • Space-constrained designs

But for more advanced features, such as:

  • Reversing direction
  • Braking
  • Remote control support

You’ll want to look into full ESCs or H-bridge ICs like the L298NDRV8871, or integrated RC ESCs.

Conclusion

Using a MOSFET as a one-directional ESC is a practical, inexpensive way to control mini brushed motors. With just a few components, you can build a compact and responsive speed controller suited for a wide range of DIY electronics and robotics projects. It’s a great entry point into understanding motor control and power electronics.

Or you can explore other categories

Arduino robot and rover

Electronics

A DIY made aircraft rc model with a transmitter

RC Flight Physics

Children looking into a microscop in turns

Microscopy