Welcome to Synthiam!

Program robots using technologies created by industry experts. ARC is our free-to-use robot programming software that makes features like vision recognition, navigation, and artificial intelligence easy.

Get Started
Asked — Edited

Motor Control

Hello! I have connected two motors to the EZ-B using an HBridge and can turn the motors on simultaneously for the same amount of time through commands such as Forward(). Is it possible to control the motors separately (e.g. one on and the other off, one rotating clockwise and the other counterclockwise, etc.) when using only one HBridge?


Upgrade to ARC Pro

Unleash your creativity with the power of easy robot programming using Synthiam ARC Pro

United Kingdom
Yes, PWM controls in ARC will rotate the motor, 2 for each motor (1 clockwise, 1 anti-clockwise).

Using EZ-Scripts you could have a script that sets the robot moving forwards, reverse, stop, spin on the spot left, spin on the spot right, wide sweeping turn forwards, backwards etc.
I can still only get the motors to run simultaneously and not independent of each other.

How can I combine the EZ-scripts with the PWM controls?

Also, is there a timer built into ARC?
Did you solve the problem on how to control each motor independently? I looking for the same solution. I posted my question on Mar 20/13
To control the motors separately, you will need to create a simple EZ-Script control for each one. The HBridge is a Movement Panel, which is for moving your robot. Movement means Forward, Left, Right, Reverse and Stop.

To control invididually, you will use an EZ-Script control or EZ-Script Manager control.

HBridges work by setting the logic to match the Truth table. Truth table means what voltages need to be applied to what pins to have the motor move a specific direction.

If you connect the channel 1 of the motor controller to pins D0 and D1, then you can create scripts like this...

Forward Channel 1


Set(d0, on)
Set(D1, off)

Reverse Channel 1


Set(d0, off)
Set(D1, on)

Stop Channel 1


Set(d0, off)
Set(D1, off)

If you connect the channel 2 of the motor controller to pins D2 and D3, then you can create scripts like this...

Forward Channel 2


Set(d2, on)
Set(D3, off)

Reverse Channel 2


Set(d2, off)
Set(D3, on)

Stop Channel 2


Set(d2, off)
Set(D3, off)

The only reason you need the PWM is if the PWM is connected to the motor controller for speed. The PWM triggers the speed in which the motor controller will power the motor. The PWM does not need to be connected. If it is not connected, the jumper pins on the 2.5 motor controller need to be in place. Without PWM connected, your motor will run at full speed.