Skip to the content
2 layers30 × 47.2 mmMotorDriverModule, the printed circuit board in 3D

Motor driver module for two brushed motors, allowing you to control higher voltage motors with lower voltage MCUs.

Size
30 × 47.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
11
Nets
6
Pads
24
Tracks, vias
66, 0
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
20 Aug 2026
Updated
20 Aug 2026

Overview

MotorDriverModule is an open-source printed circuit board by AlfredJT, from the AlfredJT/PWM-DC-Motor-Driver-PCB repository on GitHub, published under the MIT licence. It is a 2-layer board of 30 × 47.2 mm with 11 parts on 6 nets, routed with 66 tracks and 0 vias.

It is built around the 2N2222A and IRF540N. It belongs with the robots and motor control boards of this library.

Main components

2

README

README.md

PWM DC Motor Driver PCB

A high side MOSFET driver board that switches high current DC motors from a low voltage microcontroller PWM signal, using a separate gate-drive supply instead of driving the MOSFET gate directly off logic level.

Motor driver board

How It Works

Driving a MOSFET gate directly from an MCU's PWM pin works fine at low currents, but it doesn't scale well once you need to switch a real motor load and you often want the motor running on a completely separate, higher-voltage rail from the logic. This board solves that with a small gate-drive stage:

  • The IRF540N's gate is pulled up to the power rail through a 1kΩ resistor.
  • A 2N2222A transistor sits between the gate and ground, acting as the switch that controls the MOSFET.
  • When the MCU's PWM signal goes high, current flows through a 220Ω base resistor and turns the 2N2222A on, pulling the gate down to ground — MOSFET off.
  • When the PWM signal goes low, the transistor turns off and the 1kΩ resistor pulls the gate back up to the rail — MOSFET on.

The result is that a low-voltage logic signal fully controls a MOSFET switching a completely separate, higher-voltage motor supply.

Supporting components:

  • A 10kΩ resistor holds the transistor's base low by default, so the transistor — and therefore the MOSFET — stays off if the PWM pin is ever left floating.
  • A 0.1µF capacitor filters noise on the voltage rail.
  • A 1N5822 Schottky diode is placed across the motor to catch the flyback voltage spike generated each time the MOSFET switches off. Since motors are inductive loads that resist sudden changes in current, this diode is essential for protecting the MOSFET. The 1N5822 was chosen specifically for its fast switching speed and low forward voltage drop, which lets it keep up with the switching frequency.

PCB Schematic

PCB schematic

KFK-180 Motors

KFK-180 motors

A DC motor's spin direction is determined purely by the polarity of current through its windings. That means two KFK-180 motors can be wired with opposite lead polarity and driven off the same PWM signal while spinning in opposite directions.

Designing the Fan & Enclosure

Designed a fan impeller in Fusion 360, sized specifically for the KFK-180 motor's shaft and 3D printed it.

Fusion 360 fan design 3D printed fan

Final Application

Final enclosure cooling application

This driver module is used to configure a cooling system for a custom enclosure. By wiring the two fans with opposite polarity off the same PWM signal, one fan spins clockwise and the other counterclockwise at identical speed allowing one one to serve as intake and the other as exhaust. Thereby creating directional airflow through the enclosure without needing independent control channels.

Parts

11
QtyValueFootprintReferences
2PWM PinConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalPWM/GND1, VDD/GND1
2~TerminalBlock_Phoenix:TerminalBlock_Phoenix_PT-1,5-2-5.0-H_1x02_P5.00mm_HorizontalM1, M2
10.1uF Cap.Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mm0.1uF1
110K OhmResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal10K1
11K OhmResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal1K1
11N5822Diode_THT:D_DO-201AD_P15.24mm_Horizontal1N5822
1220 OhmResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal220Ω11
12N2222APackage_TO_SOT_THT:TO-92_Inline2N2222A1
1IRF540NPackage_TO_SOT_THT:TO-220-3_VerticalIRF540N1

Similar boards

  • 2 layers147.2 × 58.3 mmLi IonBatteryProtection, the printed circuit board in 3D

    Li IonBatteryProtection

    cnobile2012/Li-IonBatteryProtection

    Circuit to protect Li-Ion and Li-Po batteries at the cell level.

    81 parts6MIT
  • 2 layers101.5 × 83 mmSd2snes, the printed circuit board in 3D

    Sd2snes

    mrehkopf/sd2snes

    SD card based multi-purpose cartridge for the SNES

    154 parts722GPL-2.0
  • 2 layers279.4 × 203.2 mmZ180GDC, the printed circuit board in 3D

    Z180GDC

    lynchaj/rhyophyre

    Single Board Computer featuring Zilog Z180 processor and NEC µPD7220 Graphics Display Controller

    249 parts12
  • 2 layers99.1 × 99.1 mmQL Qsound10x10, the printed circuit board in 3D

    QL Qsound10x10

    alvaroalea/QL_QsoundQprint_clone

    A clone board of the Sound card for the Sinclair QL Computer.

    23 parts11
  • 2 layers156.5 × 67.5 mmNixieScanDisplay, the printed circuit board in 3D

    NixieScanDisplay

    profdc9/NixieClock

    A Nixie clock that uses IN-14 tubes and very generic components that can be easily sourced.

    106 parts10
  • 2 layers89.3 × 50 mmMM58167-ISA RTC, the printed circuit board in 3D

    MM58167-ISA RTC

    jensma-de/MM58167-ISA-RTC

    RTC module for the ISA slot. With schematics, project files in kicad and open source software to drive the clock.

    29 parts9
  • 2 layers97.6 × 76.8 mm12f675-mppt, the printed circuit board in 3D

    12f675-mppt

    rasberryrabbit/PIC12F675MPPT

    Solar MPPT circuit.

    45 parts9GPL-3.0
  • 2 layers14.6 × 13.6 mmChip and transistor, the printed circuit board in 3D

    Chip and transistor

    gidim/e61-gauge

    An analog temperature gauge for E61 espresso machines. A custom PCB drives a VID6606 stepper motor gauge needle, reading temperature from an NTC thermistor.

    15 parts8

Questions

How big is the MotorDriverModule PCB?

It measures 30 × 47.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the MotorDriverModule use?

11 parts, built around the 2N2222A and IRF540N. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the MotorDriverModule KiCad files?

From the AlfredJT/PWM-DC-Motor-Driver-PCB repository on GitHub, at the commit this page was made from: the board is MotorDriverModule/MotorDriverModule.kicad_pcb and its schematic MotorDriverModule/MotorDriverModule.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the MotorDriverModule design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).