Asked

Troubleshooting Non-Functional Servos Issue

I am currently using the latest version of ARC and have established a connection. I am working on a GalapagosBot with an EZ-B v4 connected to my Wi-Fi, as indicated by the green LED. While the camera is functioning correctly, none of the eight brand-new servos are operational. Does anyone have any idea why the servos might not be working?



Related Hardware (view all EZB hardware)
EZ-B V4 by EZ-Robot
EZ-B v4/2 robot controller: dual Cortex ARM, Wi-Fi, audio/video, 24 servo/digital ports, I2C/UART, camera and Synthiam ARC control for custom robots
Wi-Fi / USB
Servos 24
Camera
Audio
UART 3
I2C
ADC 8
Digital 24

Related Robot Skills (view all robot skills)
EZB Connection by Synthiam
Connects EZ-B I/O controllers to ARC via COM or IP (5 connections). Supports init scripts, battery monitoring, TCP/EZ-Script server and serial/I2C.
Servo Summary by Synthiam
All-in-one servo view showing and editing servo positions and speeds; add servos and resize the control to fit.

ARC Pro

Upgrade to ARC Pro

Harnessing the power of ARC Pro, your robot can be more than just a simple automated machine.

Author Avatar
PRO
Belgium
Thingiverse
#1  

hi anyone

it seems to connect to the wrong port , a V0 ports ? maybe its a bug ?

User-inserted image

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#2  

I can help troubleshoot - I can’t see the image, so please paste the exact text shown in the image or the ARC Status window. Meanwhile, try these checks and tests in order. I’ve included short JavaScript tests you can run inside ARC scripts to verify the connection and the servos.

  1. Quick questions (so I can narrow it down)
  • Are your hobby PWM servos plugged into the EZB digital ports (D0-D7) with correct G-V-S orientation?
  • What battery/voltage are you using for the EZB / servos? (e.g. 7.4V LiPo, AA pack, etc.)
  • Which EZB Connection index is used (usually index 0)?
  • Are there any robot skills installed that use virtual ports (Dynamixel, Feetech, etc.)?
  1. Why you might be seeing v0 instead of d0
  • v0..v99 are virtual ports created by plugin robot skills (Dynamixel, Feetech, etc.). If a robot skill is active that exposes virtual servos, some controls may show v-ports.
  • If your servos are hobby PWM servos physically on D0-D7 but the control is configured to v0, the control won’t talk to the physical servos. This is a configuration issue rather than the servos being bad (most likely).
  1. Physical / power checks (most common causes)
  • Verify G-V-S is correct on each servo cable (Ground, V+, Signal). Re-seat connectors.
  • Measure battery voltage while attempting to move servos. If voltage sags, the servos won’t move. Typical safe battery for many hobby servos is 6V-7.4V (check your servo spec). ARC/EZB port V is unregulated and follows Vin-be careful if Vin > 7.4V.
  • Ensure the EZB is actually powering the servo V pin and that ground is common.
  1. Confirm ARC EZB connection and index
  • Run this small test script in ARC to confirm the EZB connection (index 0 example):
// Check connection status for Connection index 0
var connected = controlCommand("Connection", "GetStatus", 0);
print("Connection index 0 connected? " + connected);

If false, connect the correct EZB index (Project Add robot skill Connection) or use the Connection control to Connect0.

  1. Confirm the servo control is using the correct ports
  • Open the servo Summary control (click the three-line/hamburger / kebab menu on the servo Summary skill window Settings).
  • For each servo entry, ensure Port is set to d0, d1, d2 ... (not v0). If they’re v0.. then change to the appropriate dX ports.
  • If you can’t change them or they revert, try removing the servo Summary control and readding it (Project ribbon Add robot skill servo Summary).
  1. Script test to move actual digital ports D0-D7
  • Paste this script into a JavaScript script in ARC and run it. It will move D0D7 to 90 (one at a time). Adjust ports and positions as needed.
// Test move servos on D0..D7 to 90 degrees
Servo.setPosition(d0, 90); sleep(500);
Servo.setPosition(d1, 90); sleep(500);
Servo.setPosition(d2, 90); sleep(500);
Servo.setPosition(d3, 90); sleep(500);
Servo.setPosition(d4, 90); sleep(500);
Servo.setPosition(d5, 90); sleep(500);
Servo.setPosition(d6, 90); sleep(500);
Servo.setPosition(d7, 90); sleep(500);
print("Servo test commands sent to D0..D7");

Notes:

  • Do NOT put port constants in quotes. Use d0, d1, etc.
  • If servos move with this script, the problem is UI/mapping in servo Summary (configuration), not the servos themselves.
  1. If script does NOT move servos
  • Run a single-port quick test to rule out code errors:
print("Move single servo test:");
Servo.setPosition(d0, 120); sleep(1000);
Servo.setPosition(d0, 60); sleep(1000);
print("Single servo test done");
  • Check if servos are released: maybe torque is off. Use Servo.release(d0) or ensure servo isn’t released. (If you used servo.releaseAll() earlier, you’ll need to re-command positions.)
  • Check the ARC Status window for messages when you send servo commands. Click COPY in the bottom status area and paste the text here.
  1. If servo Summary displays v0 and you don’t want virtual ports
  • Remove any robot skill(s) that create virtual ports (Dynamixel/Feetech plugin) if you’re not using them.
  • Delete and re-add the servo Summary control and explicitly assign d0..d7.
  1. Restart ARC / Power-cycle
  • Restart ARC and power-cycle the EZB (full power off then on). Sometimes ports or skills can mis-map after plugin load.
  1. Useful links

If you still have trouble, please paste the following here (I can’t view images):

  • The exact text from the ARC Status window (use COPY and paste).
  • The servo control settings text (what each servo port field shows: v0, d0, etc.).
  • Your battery voltage (measure while trying to move servos).
  • The output from running the script tests above.

I’ll use that info to tell you the next diagnostic steps. Would you like me to walk you through checking the servo Summary settings (which menus to open)?


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.
Author Avatar
PRO
Belgium
Thingiverse
#3  

@athena

the batterie is new and fully charged . i never use ports like V0 in any off my projects . the servo's are original ez robot HD new ones .

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#4  

Thanks - that helps. Since I can’t view images, please paste the exact text shown in the ARC Status window or the servo settings that show "v0". Meanwhile, try these steps in order so we can isolate the issue.

Quick checklist (reply with these values)

  • Exact battery voltage (measured with a multimeter while trying to move a servo).
  • Which Connection Index are you using for the EZ-B (usually 0)?
  • Do the servo cables go to EZ-B digital ports D0-D7 physically? (Confirm G = ground, V = power, S = signal orientation.)
  • Paste any ARC Status text after you press COPY in the bottom status area.
  • Paste what the servo Summary shows for each servo port (e.g., v0, d0, v1, ).

Why this commonly happens

  • A control configured to use virtual ports (v0..v99) will not talk to physical PWM servos on d0..d23. Virtual ports are created by certain robot skills (Dynamixel, Feetech, etc.). If your servo Summary entries show v0 while your servos are physically plugged into D0..D7, the UI mapping is wrong - not a servo hardware failure.
  • Power sag or incorrect wiring/orientation is the single most common reason servos appear dead even if new.

Step-by-step checks & fixes

  1. Confirm the EZ-B connection (run in an ARC JavaScript script)
var connected = controlCommand("Connection","GetStatus",0);
print("Connection index 0 connected? " + connected);

If false - open the Connection robot skill, select the correct COM/IP and Connect (use index 0 if you only have one EZ-B).

  1. Verify battery under load (important)
  • With servos powered and trying to move them, measure battery voltage at the EZ-B VIN terminal. Report that number here.
  • Reminder: EZ-B port V is unregulated and follows Vin. If Vin > ~7.4V and your servos are 6V/7.4V rated, damage may occur. If voltage sags below ~6V while moving servos, they may not respond.
  1. Test a single physical servo on D0 with a simple move script
print("Single servo test D0");
print("Released? " + IsReleased(d0));
Servo.setPosition(d0,120); sleep(1000);
Servo.setPosition(d0,60);  sleep(1000);
print("Single servo test done");
  • If the servo moves, hardware and power are OK and the issue is the servo Summary mapping/UI.
  • If it does not move, double-check wiring orientation (G-V-S) and battery voltage while the command runs.
  1. If multiple servos are attached, try this quick sequential test for D0-D7
Servo.setPosition(d0,90); sleep(350);
Servo.setPosition(d1,90); sleep(350);
Servo.setPosition(d2,90); sleep(350);
Servo.setPosition(d3,90); sleep(350);
Servo.setPosition(d4,90); sleep(350);
Servo.setPosition(d5,90); sleep(350);
Servo.setPosition(d6,90); sleep(350);
Servo.setPosition(d7,90); sleep(350);
print("Sent positions to D0..D7");
  1. Correct the servo Summary mapping (kebab menu / settings)
  • Open the servo Summary control window in ARC.
  • Click the three-line menu (top-right / kebab/hamburger) Settings.
  • For each servo entry: click Edit (or the port field) set Board Index to the EZ-B index you use (likely 0) choose the digital port (d0, d1, d2, ...) - not v0.
  • Save and repeat for each servo.
  • If the UI keeps reverting to v0 or won’t let you select d0..d7: remove the servo Summary control and re-add it (Project Add robot skill servo Summary). Then reconfigure ports to d0..d7.
  1. Check for virtual-port robot skills
  • Go to your Project and look for skills that create virtual servos (Dynamixel, Feetech, etc.). If you’re not using those, close/disable them temporarily - they can add virtual port mappings that confuse some controls.
  • After disabling those, re-open servo Summary and reassign ports to the physical d0..d7 pins.
  1. Power and release state
  • If servos were previously released with Servo.releaseAll(), torque might be off. The scripted move commands will re-energize them normally, but check IsReleased(d0) (as shown earlier) and re-command positions.

What to paste back here (so I can give the next targeted step)

  • Output from the connection check script (connected? true/false).
  • Output from the single-servo test (did it move? Did you see any ARC status messages?).
  • Exact battery voltage measured while running a move command.
  • The ARC Status area text (use COPY and paste it here).
  • The servo Summary settings text (what each servo port shows - paste the lines).

Helpful links

If you want, I can walk you step-by-step through opening the servo Summary settings (which menus to click) - tell me which ARC window/control you currently have open and I’ll guide you.


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.
Author Avatar
PRO
Belgium
Thingiverse
#5  

@athena

whats the name off the download folder when you download ARC and , were you can find , my projects , my stl's , my servo profiles ?

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#6  

Good question - here are the default ARC folders and where to look for each item you asked about.

Important links

Default folder locations (Windows)

  • ARC program (application files / executable)

    • C:\Program Files (x86)\Synthiam Inc\ARC by Synthiam
  • Shared downloads / skills / example assets (available to all users)

    • %ProgramData%\Synthiam Inc\ARC by Synthiam
    • In Explorer you can paste:
      C:\ProgramData\Synthiam Inc\ARC by Synthiam
      
  • Your projects, user-created skills, 3D files (STL), servo profiles and per-user data

    • %USERPROFILE%\Documents\ARC
    • In Explorer:
      C:\Users\<your-username>\Documents\ARC
      

Where to find specific things

  • My Projects

    • Look in your Documents\ARC folder. Each project and your personal settings are stored in that per-user folder.
  • STL / 3D files

    • If an STL is embedded in a project it will usually be inside the project folder under Documents\ARC (or in a 3D subfolder).
    • Downloaded or shared 3D assets and examples can also be under ProgramData\Synthiam Inc\ARC by Synthiam (shared assets).
  • Servo profiles / fine-tune files

    • These are normally saved into your user Documents ARC folder (the same per-user data location). If you used the servo control "Save/Load" dialogs, check:
      C:\Users\<your-username>\Documents\ARC
      
    • If you don’t see them, do a Windows search for files containing "servo" or search by extension/type you used (e.g. *.json, *.txt) from Explorer:
      • Search examples: *.stl or *servo*

Quick steps to open these folders now

  • Open Windows Explorer and paste one of these into the address bar:
    • Shared assets: C:\ProgramData\Synthiam Inc\ARC by Synthiam
    • Your personal ARC folder: C:\Users\<your-username>\Documents\ARC

If you want, tell me:

  • Your Windows user name (or paste the output of typing %USERPROFILE% in Explorer) and I’ll give the exact path to check.
  • Or I can give step-by-step instructions to locate a specific file (an STL or servo profile) on your machine - which would you like me to help find?

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.
Author Avatar
PRO
Belgium
Thingiverse
#7  

@athena

found that default folder .

Author Avatar
PRO
Belgium
Thingiverse
#8  

@athena

is there a pluging folder some were ?