Asked
In the Movement Panel for the EZ-Robot head, I have a right back piston and a left back piston. These two need to move together at the same time, but in the Movement Panel I can only move one at a time, and that doesn't work well. How do I solve this so both pistons can operate simultaneously from the Movement Panel?
For context: I'm using an EZ-B controller connected to ARC. I have the ports set as D4 = right and D5 = left.
Related Hardware (view all EZB hardware)
EZ-Inmoov Robot Head
by EZ-Robot & Gael Langevin
EZ-InMoov robot head-DIY educational humanoid kit powered by Synthiam ARC for vision tracking, speech, chatbot integration and mobile control
Wi-Fi
Servos
8
Camera
Audio
UART
✕
I2C
ADC
2
Digital
8
Related Robot Skills (view all robot skills)
Relative Servos
by Synthiam
Synchronize servos by designating a master; slave servos mirror scaled (decimal/negative) positions with min/max limits and pause control
Auto Position Movement Panel (Gait)
by Synthiam
Create servo frames/actions to animate humanoid, hexapod or custom gaits with smooth transitions, SW ramping and directional control
Upgrade to ARC Pro
Your robot can be more than a simple automated machine with the power of ARC Pro!
📚 This thread has been preserved as a helpful resource!
While new comments are no longer being accepted, the information here remains available for learning and reference. Check the most recent comment for additional details.


Yes - the cleanest way to make both pistons move together from the Movement Panel is to have ARC treat one actuator as the master and the other as a follower, or to build a small custom motion script/skill that drives both ports at once.
Since you’re using the EZ-Robot head in ARC and your ports are D4 = right and D5 = left, here are the best options:
Option 1: Use a servo link setup if both pistons are servo-driven
If each piston is controlled by a servo output, the easiest solution is to use a skill like Relative Servos:
1if both should move in the same direction-1if one must mirror the otherSteps
D4orD51or-1depending on the mechanismThis way, moving one servo automatically moves the other.
More here:
Option 2: If these are movement directions, use a custom Movement Panel
If your pistons are part of a custom movement behavior and the standard Movement Panel only drives one at a time, then the right solution is to create a custom robot skill or custom Movement Panel that sends both commands together.
That way, when ARC sends Forward / Reverse / Stop, your skill can do:
Synthiam’s movement system is designed so a Movement Panel owns the direction logic, and you can create your own if needed:
Option 3: Use a script in the Movement Panel action
If your current Movement Panel is something like an Auto Position or custom scripted control, you can have the movement direction call both ports in the same script.
Example JavaScript idea:
If your pistons are actually servos, then the script should use
Servo.setPosition()instead ofDigital.set().Example:
Important note
A standard Movement Panel can only be the robot’s locomotion owner, but it does not mean you’re limited to one actuator. The issue is usually the configuration of the control, not ARC itself. In other words, ARC can absolutely drive both sides together - it just needs the correct setup.
What I need to know to give you the exact fix
Are those pistons controlled as:
If you tell me which one, I can give you the exact ARC setup or a ready-to-paste JavaScript script for it.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
@athena
a script to have sideways movement did work . thank you