Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started
Asked — Edited

Sparkfun Hbridge

This video demonstrates how to wire the SparkFun HBridge to the EZ-B

User-inserted image

User-inserted image

User-inserted image


Upgrade to ARC Pro

Your robot can be more than a simple automated machine with the power of ARC Pro!

The post under the video, i wrote this..


Motor Trigger connects to EZ-B
Motor Out connects to DC Motor
Motor +5 is the power to the motor (can be higher voltage, check datasheet)
HBridge +5 is the power to the chip (needs to be +5)

Easiest to connect PWM to +5. However, if you want to vary speed then connect the PWM to digital ports of the EZ-B. Then configure those ports to be used as Servos. The higher the servo, the more PWM will be sent which results in faster speed. Slow speed, lower servo.

And if you compare that against this image:

User-inserted image

And what you wrote is perfect:) So you got it sir! Now only notice that the Motor +5 should probably come from your battery directly. The Motor +5 is labelled VM. If you power the motor off the EZ-B, it may brown-out (depends on the load).

How many volts is your battery? How many volts does the motor take? Depends on your application if you can power the motor directly from your battery. Most cases you can. I always do because my batteries are either 6v or 7.4v

You will need 4 servo Cables

VM: Connect this directly to the Positive terminal of your battery

Servo Cable 1
AIN1: White
VCC: Red (+5)
GND: Black (gnd)

Servo Cable 2
AIN2: White
PWMA: Red (+5)
GND: Black (gnd)

Servo Cable 3
BIN1: White
STBY: Red (+5)
GND: Black (gnd)

Servo Cable 4
BIN2: White
PWMB: Red (+5)
*You do not neet to connect the 4th servo wire GND to anything because there are only 3 gnds on the motor controller board. Just snip the wire.
This is probably from my ignorance in electronics but...

Is there any need for concern when connecting an external battery pack for motor power supply with a higher/lower voltage than the EZ-B battery pack ie... 4.5-13V grounded against 5V?

And if i did miss something, where would you ground the external motor battery pack to on the Hbridge?
Hi Luis1983, welcome to you if you're new here!

We all got questions and this is the best place to ask em'. You are definitely correct in assuming that the motor driver can drive voltages higher than 5V, this board can use 4.5-13v up to a max of 15V. As DJ had mentioned above, just place your external battery positive voltage to the VM pin, and it may not have been mentioned, but connect one of the GND lines to the negative side of the battery and this will give your circuitry all a common ground reference as I believe all the GND lines on the motor driver board are connected together.
Hi all, got a couple questions about this Hbridge as I have a couple and want to use the PWM for variable speed, if I do does this mean I would use up another 2 digital (servo) ports on the EZB for a total of 6 ports to get this to work? If this is correct, do I just need to use the signal from these 2 extra ports for PWM?

Also, I'm not sure if my eyes are fooling me, but I've watched DJ's video above a few times and I'm sure that the white wire in this image should go to the outside of the board and black (ground) should be in the center of the board. Is this just an oops in the video or am I missing something?

User-inserted image
So I found some info that said that this Hbridge can be controlled with a PWM signal to the two Ain and Bin enable pins and just leave the PWM pins wired to the 5vdc as DJ recommended here. So I wired it up to the spec above and have no problems using the ARC Hbridge control.
So I started designing a C# program to control this Hbridge with PWM on the Ain and Bin pins. What I came up with works but there is a small glitch, and I have no idea if it is programming (timing), the hbridge or the EZB board.
Basically I'm using 4 servo controls to move the Hbridge. This works well, but the only way to stop it is to release the servo. You can stop the PWM signal by setting it to zero but this applies a brake function. So you can still go one direction with Ain 1 at servo position 50, but if Ain 2 is at position 0 (stopped) then it will be applying brake which will move, but it uses up power and won't allow maximum speed to be achieved. The solution was to use DJ's release servo command. However when I use this on all 4 pins, one seems get "set" which causes the robot to spin. It seems to be random on which one will get set.
So I've tried just releasing the ones that need releasing rather then all 4 before I initiate a pin. Example, I release Ain1 if I'm going to set Ain2 to a value. This seems to have cut down on the glitches, but I want it perfect:)
I've also tried using a timer to release them with different periods but I still see this glitch happening. I would like to blame the problem on the Hbridge, but I don't think this is it. I have no problem except when I try to release the servo, I have been successful at sending a different PWM signal to the Hbridge while it is on the move. Example, moving forward, so Ain1 and Bin1 receiving PWM, Ain2 and Bin2 released, I resend a new servo command to increase speed from 30 to 50, never get the glitch! But if I stop or change direction, meaning new arrangement of pins are enabled and disabled then I will get a problem almost a quarter of the time (estimated).

I would be more then willing to post my code here if someone wants to look at it, but right now it's a mess from trying to fix this thing. I will try to get the most stable configuration I can and post that later a bit cleaned up.

I'm using EZ-B SDK Windows v2011.12.05.00 if anyone thinks that a newer version will help I will give that a try, but it may be something electronic, maybe a resistor or capacitor would help, but I don't know much about that.

Thanks for any advice
Feel free to make fun of me if this is a silly question.

Can someone tell me what +5 means?

I'm so new and don't know one iota about wiring, but I can follow the video pretty well.
There are no silly questions, I think that came from a movie:)

+5 is just a way to designate the Positive hookup for the DC voltage. This means this connection would be hooked up to + 5 volts direct current. Other common voltages on circuits are +3 and +12 (there are lot more variations, but you will see this the most)

Hope that helps.
Thanks DJ,
That was an old post above, I let the smoke out of the sparkfun a while back and went on to use 2 VEX Motor Controller 29 units. They have worked great so far and are less expensive. One day when I play with a HBridge again I will try out the new PWM controls.
It looks like I've got some more questions fellas.

I'm positive I've wired this thing correctly but my motors aren't moving. I hope it's just something as simple as my battery doesn't have enough juice or something...

Here's a picture, maybe I missed something.

User-inserted image
South Africa
I looked on the site but I can't find the ezb where do I go to get it
South Africa
Is this the ezb
User-inserted image
.is this the ezb because it does not look like the 1 in your videos
Kinda wondering why you asked on the HBridge post.
Anyway here it is.
It has a cover on it.
South Africa
Can it be used as an arduino so he robot can control itself
Of course and it's way more powerful and feature rich than the Arduino....
South Africa
if i want to make something similar to a go kart will it work
South Africa
when i open ARC software for non programmers it is saying i need an application to open this document what application do i need to open ARC
United Kingdom
First, please make a new topic for each question that you have, your posts are in the incorrect topics and will a) not be seen by everyone meaning you have less chance of receiving the correct answer and b) disrupts the topic you have posted in.

To answer your question, you do not need any application to open ARC. ARC download is an installation file, running it will install ARC. Once installed ARC runs like any other windows application. Re-download it and try to reinstall if you have any problems. If you have further problems please start a new topic, post as much information as possible and someone will help you.
Do you have microsoft net framework 4.5 installed? You will need that to run ARC... Also what version of windows do you have? ARC needs Win 7 or 8...