Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Direct driving of a MOSFET H-Bridge from a PIC MCU

Not open for further replies.


Newbie level 5
Dec 16, 2005
Reaction score
Trophy points
Activity points
driving p channel mosfet


we're currently designing a servo controller for these motors that we've started getting made up **broken link removed**. The idea is to make a 'servo beater' for robotics applications, retailing at $15 - $20. Basic specs to include a variety of gearboxes (and nominal RPM outputs 40 ~ 250RPM), quadranture encoding, RSXXX, I2C, SPI, PWM, analogue, arbitrary (absolute & relative) positioning commands, arbitrary torque output commands, temperature overload control / feedback... etc.

To keep the costs down, and becuase we simply don't have board space for a driver, we wanted to drive the MOSFET H-bridge direct from our MCU. For the N-channel MOSFETS (currently Fairchild FDFS6N303), we're proposing to use a 10k pulldown, and a 100R series drive resistor.

I'm a little unsure though what to do about the P-Channel (currently a Fairchild FDFS2P103). Is that simply the case of a 10k pullup, and a 100R series drive resistor?

Quick specs - motor stall current is about 1.5A. Supply voltage is 4-6v, pwm switching is variable between 2 and 8khz to minimise audio noise approaching discontinuous operation, and switching loss at higher power levels. Are there any other gotcha's for driving this motor that anyone can think of?

I've tried hunting high and low for some info on direct drive of P-channel MOSFETS, but all the Microchip designs seem to use drivers (presumably becuase of the voltage levels involved).

Thanks, Tom.

Fast Components - the best way to buy components!
**broken link removed**

mosfet h bridge

Directly driving the P-ch like that only works if the motor supply votage, and hence the P-ch source voltage is about 5V. Otherwise, the p-ch will turn on all the time.

If the voltge is higher, then you need a transistor n-ch or npn to drive the p-ch. If the motor voltage is really high, then the p-ch will need a zener (12V) between its G-S to prevent it from failure and you need to increase the 100ohm series resistor to a value that will result in an acceptabel Zener current.
For example, if the motor voltage is 24V and the Zener is 12V, then when the p-ch is driven on, the current through the Zener is Iz=(24V-12V)/Rseries. Accepting 5mA through the Zener means a series resistor of about 2.2kohm. The resistor between the G-S has been neglected in the above calulation, but you get the idea.

mosfet h-bridge

Within your budget you can also afford some integrated solution for H-bridge,
such as:

or L298N


These bridges, typically designed for STEP motors include 2 Hbridge you
may use in parallel for higher currents, thermal protection, current sensing,
extra current protection diodes...

You can directly attach chip pin (i1, i0 and Enable) to two uC digital out and
1 PWM pin in order to modulate current and direction.

driving mosfet


thanks for the help. In the end we decided to use a ATMEGA48, as it's got a lot more power and is cheaper than the pic. Also it appears that Zetex do a MOSFET H-Bridge in an SM8 package which is ideal, given the space requirements on the board.

It would appear that becuase of the low voltage drive and the fact that the MCU and motor drive power bus are the same, direct drive of the FETS will work - I'll just have to buid it and see I guess!

Thanks again,


Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to