DC Motor Speed Control

I've used an H-Bridge to control motors going forwards and backwards with the arduino. Now I'd like to also be able to control the speed of the motors in either direction. I researched a bit and found a MOSFET may be needed, but can you bypass the MOSFET by sending PWMs from the arduino?

If a MOSFET or some other external hardware is needed, a link/instuctions to such a circuit would be much appreciated.


I think it is possible to use PWM with the H bridge you already have.

Interesting, thanks. link? tutorial? further help?

Not sure if this is any help, but I've been playing with this motor shield: http://www.ladyada.net/make/mshield/

It's quite substantial and the library that comes with it allows you to easily control things like motor speed and such. Example being: motor.setSpeed(255);

TRy to check this at instructables :


well what hbridge are you using?

I've used PWM before to control a Hbridge. i used the L298 HBridge chip. I just made sure I was using PWM lines on the arduino and used the analogWrite function

Thanks for the links. I'm using a L293NE from ti. So just pulse the hbridge with some pwm to control the speed?