loading

Today, I'm going to show you how to make an Arduino motor shield (driver) at a low cost. It works splendidly, its posses almost all the characteristics of the original Arduino motor shield. It's almost considered as a clone. The original Arduino motor shield has the same motor driver chip (L298), the only difference with it, is the package type, my project contains the vertical version of the chip L298 (with a "N").

Structure:
It's controlled using 4 PWM pins. The connections are: 11&10 for the R-Motor and 6&5 for the L-Motor. With the help of eight fast recovery diodes (1N4937) it shows a very fast response of stopping/ braking, that's why I'm going to use it for the national SUMOBOT competition.

What Is A Motor Shield?
A motor shield is a circuit that drives different loads such as motors, lights and etc... The Arduino Board (Microcontroller) itself isn't designed to operate high current loads, that's why we use motor shields, it is a circuit that is controlled by your arduino board to drive high power accessories.

Cost:
It only cost me P363.75 (Converted: $8.87)! The prices would decrease to P262.50 (Converted: $6.40) if I sticked to the original plan, since it's for competitional purposes, I substituted some parts with a higher rate of response.

About The Guide:
The guide includes the datasheet, schematic diagram, PCB layout, Arduino test files and etc.... All you need is an hour and the 6 step instructable.

Specs:
____________________________________________________
Voltage Range: 5- 50 volts
Current Range: 2-4 Amperes
Power: 25w @75°C
Working Temparature: -40°C to 150°C
Board Compatibility: Arduino Uno
Motor Outputs: 2 Motors (Left & Right)
Possible Robot Movements: Left, Right, Forward, Backward & etc..
PWM Pins: [12&11] [6&5]

The PCB layout is my original design, it was created using Fritzing Software, please ask for permission if anyone is willing to modify and republish it.


This Instructable is dedicated to the: DB Makati ROBOTICS Team
(Merry Christmas & A Happy New Year!!)


Here's A Video Of My Sumobot Containing The DIY L298N Motor Driver Circuit:

Step 1: Parts & Materials

I bought my parts from ALEXAN, a local electronic store with tons of branches (Found Only In The Philippines). Everything is cheap here, the links that I gave are only alternative for online purchases. My real price list and spending is a lot different and cheaper. If you live in the Philippines, you can buy parts from DEECO, Alexan, E-Gizmo or Raon.

Parts:
- L298N Motor Driver Chip
- 7806 Regulator Chip 
- 1N4937 Fast Recovery Diode
- 1 Ohm ¼ watt Resistor
- Screw Terminal Blocks
- PCB Board (Regular or Photo-positive)
- Male or Female Pins (Used to connect to Arduino)
- Heatsink (Bought or DIY)

7806 Regulator Chip = (Substitute: 7805- 7809)
1 Ohm ¼ watt Resistor = (Substitute: Up to 10 Ohms)

1N4937 Fast Recovery Diode = (Substitute: 1N4007 or 4148)

First of all, thank you for the great instructable!! <br>Unfortunately, I have a problem- my motor shield only drives the motor when the usb cable of the arduino is connected. I really can't understand why this is happening.. Can you think of a possible reason?
<p>I just reviewed the PCB board layout and it does appear to connect Vin and GND correctly on the pins. If you use a 7805 voltage regulator - it may be the problem. Follow my logic. The Vin goes through the Arduino on board voltage regulator and if it is getting 5 volts, it won't be able to supply 5 volts. Based on the datasheet of the 7805 - you should have at least 2 volts higher then the voltage out. So it needs to be at least 7 volts. So they may keep the arduino from running correctly. I don't know the tolerances of the Vin voltage and from arduino to ardunio, it may also very.</p><p>If the pictures - he show a 7806. </p>
That happened to me several times, I also felt frustration before, but I solved the problem. I manufactured 10 of these shields for the school. Be sure to read my instructions below thoroughly, and inspect your PCB carefully!<br> <br> <span style="font-size: 12.0px;">1st.) Power source should be connected to the Motor shield</span><br> <span style="font-size: 12.0px;">2nd.) You forgot to solder the 7805 regulator chip</span><br> <span style="font-size: 12.0px;">3rd.) The 7805 Regulator's pins aren't connected properly</span><br> <span style="font-size: 12.0px;">4th.) You forgot a jumper (the short one in the lower right)</span><br> <span style="font-size: 12.0px;">5th.) There's a broken line in your PCB</span><br> <br> If this doesn't work try to contact me again. Thanks!<br> <br> <br> <br>
Hi, excellent instructable. <br>If you put a silicon diode (1N4001) in forward mode between pin 2 of 7805 and ground you will have aprox 5.7 volts at the output pin. <br> <br>Regards
I'm not sure. I only use the circuit with PWM pins coming from the Arduino. Probably it will work, but i don't think the output pin will retain the voltage from the input pin.
Very cool!
Indeed I was impressed by your heat sink
Very interesting instuctable. I was surprised how well your pcb came out. All the ones I make turn out rubbish! Any special tricks? :) Thank you again and ill be reading this in depth later!
I print only one time on glossy paper. Transfer that to a clean piece of copper pertinax board, put a hot iron ont for 3 min, then use the point of the iron to really press down the edges and then throw it in water and rub off the paper. <br>Etching in HCl H2O2. No real problems
Thanks! The trick is in the toner ink transfer method is to use a sheet of acetate then, over lap them three times :)))
you mean print it 3 times on the same sheet?
looks great!! <br>Did not know Alexan. May come in handy
Great Instructable for the Robotics Community !
Merry Christmas to you as well and a most prosperous new year <br> <br>Great Ible well done
<p>please i wnat the fritzing file of this project plese</p>
<p>thanks </p>
<p>can this run servo motors?</p>
<p>hey... can you help me make a 20A or 30A motor Sheild for Arduino??</p>
<p>thanks this one really helped me with my robot</p>
<p>well done.</p><p>As you mention price as a factor, can i advise a ready made motor shield such as this one </p><p><a href="http://www.aliexpress.com/item/L293D-Motor-Drive-Shield-dual-for-arduino-Duemilanove-Motor-drive-expansion-board/32341780904.html?spm=2114.01010208.3.20.QS82OV&ws_ab_test=searchweb201556_1,searchweb201644_4_505_506_503_504_301_502_10001_10002_10016_10005_10006_10003_10004_401_62,searchweb201560_5,searchweb1451318400_6150,searchweb1451318411_6450&btsid=7d4de09d-e760-48a0-bfe9-ca2f748e187f">http://www.aliexpress.com/item/L293D-Motor-Drive-S...</a></p><p>for only 2.10 euro = about 100 php</p>
<p>why do you use 4 pwm pins every motor uses only 1 pwm pin my project need to use the 4 left pwm if I connect 2 pwm to this motor controller and by the way very nice instructable it really helped</p>
<p>Finally i made it. Still Haven't tested it... Will update shortly. Thanks a lot for this awesome instructable. </p>
<p>can i use this motor driver in the following project</p><p><a href="http://www.instructables.com/id/Arduino-Ultimate-Obstacle-Avoiding-Robot/" rel="nofollow">http://www.instructables.com/id/Arduino-Ultimate-O...</a></p><p>please tell me its urgent</p>
Hey its not necesary to give 18v everytime right?
<p>Thanks for this instructables, i was inspired to do my own but unfortunately there is something wrong with my design. The only difference with my design to yours was i did not connect the enable pins to vcc. I'll used it for my pwm signal.</p><p>the problem is when i connect a power supply of around 12 volts, the dc power supply shut down, especially when i connect the +5v and ground to microcontroller vin and gnd. What is the possible reason? Im not that expert so please help me. Thanks in advance.</p>
On your schematic, is that 18v supply on the diodes and in the lm7805? If yes, where will i get that?
<p>Great tuto ! :D</p><p>Does the L298HN work for that ? ( <a href="http://www.rs-particuliers.com/WebCatalog/Circuit_de_commande_pour_moteur_en_pont_complet__L298HN__Double_driver_de_moteur_Full_Bridge__MULTIWATT_H_15-456434.aspx" rel="nofollow">http://www.rs-particuliers.com/WebCatalog/Circuit_...</a> )</p><p>Can I have the fritzing project please ?</p><p>Thank you ;)</p>
<p>very good project, easy to do and use.</p><p>it took me about 3 hours to execute the full project, from the corrosion until programing the arduino.</p><p>thanks for all ;) </p>
<p>Awesome! :D</p>
<p>Ps: i made it with just scrap material </p>
<p>can we use it for ur Phone Controlled FPV Rover (Fast &amp; Agile) project</p>
<p>Yes and I mentioned it clearly in the FPV Rover instructable. </p>
<p>sorry i asked this before reading the other lible</p>
<p>Hi. The L298N schematic what are the inputs for pin 12, 10, 7, 5(inputs 4, 3, 2, 1)?</p>
<p>It should be connected to the Arduino's PWM pin. </p>
<p>I could provide circuit diagrams for sensors and motors, help me please, thanks you, great instructable</p>
<p>No need, there's a schematic diagram above. What can I help you with? </p>
<p>Ok but what did you use to power circuit and motor circut to connect ultrasonic sensors, see what happens q bakelite and there are many circuits of these, thanks!</p>
<p>It looks like you're new to Arduino :| You have to learn the basics of Arduino before attempting this project. Here's a great tutorial: <a href="http://www.instructables.com/id/Beginner-Arduino/" rel="nofollow">Beginner Arduino</a> </p>
<p>I am kind of confused about the bottom part since Im a newbie in electronics. you see, you made the top part which is the clone wbout the bottom part where the clonse is sitting on?, did you buy it or did you also made it?</p>
<p>I have soldered the circuit but I am getting two pins shorted on the L298N IC when tested using multimeter. Please help </p><p>THANK YOU !!</p>
Hello. I have one question. Current range is from 2 to 4 Amps. Is this for one motor or both? Because i have two 3.3A motors. If not, is there any way to modify the motordriver for higher current?
<p>Hey, congrats on your great instructable! <br>Could you please tell me, if there should be connection between paths as shown in the attached image(green colour)? Without any modification, the circuit is open for right motor. Greetings! :)</p>
<p>Thanks!</p><p>Yup, there should be a line there but it doesn't really matter since the other pin is for wider screw posts. You can just connect the gap with lead. </p>
Can i use it for my tamiya double gearbox? with 4xAA NiHM batteries for motor supply?
Yes! I used it with my&nbsp;<a href="http://www.instructables.com/id/My-Mini-Sumobot-500g-Prototype/" rel="nofollow">SUMOBOT</a>, it also has a tamiya twin gearbox installed.<br> <strong>Here</strong>: <a href="http://www.instructables.com/id/My-Mini-Sumobot-500g-Prototype/" rel="nofollow">http://www.instructables.com/id/My-Mini-Sumobot-500g-Prototype/</a>
<p>How do I know the shield works .... Is it possible to figure that out <br>without hooking it up to the Arduino uno. One more thing my shield was <br>flipped during etching I hope that won't affect the operation of the IC <br>as far as the architecture it is the opposite of yours. Another thing is <br> that the 5v battery is not able to power this thing up. Let me know <br>what you think. be nice be nice</p>
<p>The lines for the schematics are too thin I tried this with the transparent (screen printing paper). Is it possible you can make the schematic lines thicker including the little pin holes it is not easy getting the hole to go through. Thanks. If you can adjust the PCB schematics I will really appreciate it. </p>

About This Instructable

164,099views

532favorites

License:

Bio: Hi I'm Angelo! I am a 18 y/o college sophomore taking my majors in BS-ECE at the DLSU. I use my course as ... More »
More by ASCAS:Build A Bluetooth Boombox Speaker (from scratch)  DIY Life-Size Phone Controlled BB8 Droid Rig A Car Horn To Your Alarmclock! 
Add instructable to: