Category Archives: Motors

All about the L298N H-bridge motor controller module

Oh boy, was I confused about this module at first! I found a fair amount of bits and pieces about it, but could not find the complete info that I was looking for. So I decided to create this tutorial for others who want to understand it better. I’m not an expert, but I have figured it out well enough to make what I think is a very clear and complete basic ‘primer’ on this device. Whether it’s right for your project is up to you to determine, but here’s info about the module itself, and especially about the mysterious jumpers (at least they were the biggest mystery to me).

What is it?

This module is a very inexpensive and convenient package based on the L298 dual full-bridge rectifier chip made by ST Microelectronics. It can be used to drive speed and direction for one servo or two standard DC motors, and drive other inductive loads like relays and solenoids. It can be controlled by microcontrollers like the Arduino.

Here is the description of the chip (not the module) from ST: The L298 is an integrated monolithic circuit in a 15-lead Multiwatt and PowerSO20 packages. It is a high voltage, high current dual full-bridge driver designed to accept standard TTL logic levels and drive inductive loads such as relays, solenoids, DC and stepping motors.

You can see the data sheet on their website here: .

You could just purchase the chip and component parts and wire up your own parts, but this complete module is probably cheaper than the combined parts, and it’s certainly more convenient. As of January, 2017, the modules are selling on ebay for under $2.00! At this price they’re from China of course, but you can purchase them at higher prices in the United States if you can’t wait for the long shipping times from China.

I’ve read in forums that the L298 chip is about 15 or 20 years old, so there are better(?) chips available now. People seem to like the Pololu A4988 .  Stepper motor current limiting is apparently one of the big improvements, but none of the current-limiting chips come in this neat module format that I’m aware of. So this L298N module is fun and handy, certainly great for testing and little projects, but be careful if you need current-limiting features when driving stepper motors.

How to use it

If you buy from the auctions on Ebay you get the typical Chinese-translated-to-English descriptions that are neither complete nor understandable. And searching for other resources on the internet or YouTube results in some great information, I was not able to find any one source that was all-inclusive like I’m hoping this one is (for a basic primer anyway).

So here’s how you use this little beauty to control the speed and direction of a simple dc motor.

You can use only this module and a power supply to control the motor direction and have it run at either full speed or stop completely. You need a micro controller like an Arduino if you want to control the speed of your motor anywhere between full speed and off. I’ll assume you are familiar with an Arduino. If not, you’ll need to learn that first.

Powering the module —

It runs on from 5 to 35V. That means you can run your motors, servos, or other objects anywhere in that range. Click the photo for a larger version.

The module itself needs 5V for its internal logic and can generate the 5V through its own regulator if you input from 7 to 12V. If you run your motors under 7V or over 12V, the internal regulator will not function and you will need to apply your own external 5V to the module.

There is a jumper that applies your input voltage to the internal 5V regulator on the module. You must not use that jumper if you input less than 7V or more than 12V. Less than 7V and the regulator can’t do its thing to create a regulated 5V. More than 12V and you will burn out the 5V regulator.

A red LED will light when the internal 5V is active.


So you use PWM (pulse width modulation) to control the speed of the motor, and two ‘enable’ pins to control the direction.

…More coming soon…

My new CD is available now!


cauldron                    junction box

Learn About Halloween

And other animated gadgets and props!

Get 17 videos and close-up photos!

CD mailed to you — or download right now!

Click here to see the complete ‘Witch’s Legs in Cauldron’ video on youtube

Click Here to Learn More and Order!


Ways to Lift Lids (as in opening coffin lids for Halloween props)

I thought I would offer some ideas on different ways to open box lids. My main motivation has been finding a good way for lifting the lid of small Halloween coffin props, but the techniques can be used for many other applications as well.

I love to play around making these things as a hobby, but I need to make smaller versions of these because I don’t have enough room for full-sized ones. Here’s an example of a nice full-sized one by MrTmartindale on YouTube.

Seeing as I was recently playing around with pulleys I thought I would start with probably the most basic way to lift a lid — with a string!

open2a            open3a

There are a lot of potential problems with this arrangement:

It’s visible.

You need to reverse the polarity on the motor for up and down directions.

It takes up a lot of space.

It needs a lot of parts: string, string pulley, pulley support, motor, motor pulley, motor mount, and some way to reverse the motor direction.

More ideas and videos coming soon…

Using Arduino Nano and a relay to fire a solenoid

In my previous post I talked about using a motor, a cam, and a switch to fire a solenoid. That just wasn’t going to work because it was too hard to get the right pace of the solenoid firing. The motor voltage changed its speed, and the cam idea was too difficult to adjust the cam shape and location.

In this post I’m showing how I switched to the Arduino Nano to control the firing rate of the solenoid. With the Arduino, it’s a 30-second program change to change the rate of the solenoid firing as opposed to the ridiculously difficult process with motor and cams.

The first video below shows the solenoid firing using the default settings in the sample ‘Blink’ program in the Arduino IDE.


The video below shows the solenoid firing after I modified the delay settings in the ‘Blink’ program.

Some motor and switch mounting ideas

Trying to find a way to mount things like motors, solenoids and switches is often a big challenge. Trying to find the right bracket, the right screws, and the right locations for those items in your experimental projects can be tough.

So I thought I’d show a few tips and tricks that I use.

First, my goal: I was trying to set up a little solenoid to bang against a miniature box to make a ‘chattering’ effect for a mini ‘monster in a box’ project, kind of like this Halloween monster in a box video (fast forward to about 1 min, 25 seconds to see the box chatter).

I started by experimenting with a little hobby motor. It wasn’t powerful enough to attach a cam straight away to rattle the box on its own so I had to find gears or levers, or something, to get some mechanical advantage.

The box in the video uses a cam attached to an electric drill, but I wanted something much smaller for my little project.

I started out using a cam to trigger a micro switch, which would energize a solenoid in rapid succession. (See my next post to see the solenoid fire.)

Instead of trying to find the right size and shape of a motor mount for my initial testing of things, I just used hot glue to secure some little blocks of wood to my test base (a 12″ square piece of press board). Then I put a little dab of hot glue on the motor and on the micro switch to secure them to the proper height of wood blocks.

Click on the photos to see larger versions.


Using blocks of wood is a fantastically simple way to make the right heights and locations. I was able to put away my box of sheet metal, tin snips, and other miscellaneous hard-to-use metal mounting hardware!

You can see my little blue cam that I also used hot glue for. I glued it to the motor shaft for a temporary attachment. Hitting the switch with the first cam — the brown pointy one you can see laying there — didn’t keep the switch activated long enough to fire the solenoid properly so I made the blue cam that kept the switch activated for about 5 times as long.The hot glue made it very easy to swap cams and re-glue.

The motor rotates at 300 to 600 RPM depending on the voltage applied (3 to 6 volts). That was way too fast with either cam, so I had to find another solution (see my post about using the Arduino instead of a motor). But the mounting techniques of wood blocks and hot glue have been a big headache-reliever for me over trying to find or fabricate metal mounts.