Ultrasonic Collision Script icon Ultrasonic Collision Script Ultrasonic sensor triggers custom script on object detection; configurable interval & min distance, with optional forward-only trigger for navigation. Try it →
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

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

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#17  

Thanks - you’ve done a lot of troubleshooting already. Given what you described (camera OK, servos never work, reinstall/blank project didn’t help, plugins removed), the issue is either:

  • a configuration/mapping problem in ARC (controls still pointing at the wrong port), or
  • a power/wiring issue, or
  • hardware damage to the EZ-B I/O subsystem (camera can work even when the bottom I/O board is damaged).

Let’s run a few quick, targeted checks to isolate which of those it is. Do them in order and paste back the outputs where asked.

  1. Confirm ARC sees the EZ-B and which address/index it's using
  • In ARC create a JavaScript script and paste/run:
var connected = controlCommand("Connection", "GetStatus", 0);
var addr = controlCommand("Connection", "GetAddress", 0);
print("EZ-B index 0 connected: " + connected);
print("EZ-B index 0 address: " + addr);
  • Paste the printed output here. If connected = false, stop and tell me; if true, continue.
  1. Copy the ARC Status/connection log (very important)
  • Open the status area in ARC (bottom area) and press COPY, then paste the entire copied text here. This often shows the exact firmware handshake and errors (tells us whether the I/O processor responds).
  1. Quick EZ-B health checks (run these in ARC JavaScript)
print("EZB.isConnected(0): " + EZB.isConnected(0));
print("EZB CPU Temp (degC): " + EZB.getCPUTemp(0));
  • Note: I also want the EZ-B startup sound behavior - when you power the EZ-B do you hear the startup chime? Yes / No?
  1. Measure battery / servo power (manual step)
  • Use a multimeter and measure the battery voltage at the EZ-B VIN while you attempt to move servos. Report the voltage idle and while commanding a move.
  • Typical checks: if using a 2S pack you should see ~7.4V nominal; if voltage sags below ~6V while moving, the servos likely won't respond.
  1. Direct servo test on D23 (run in ARC JavaScript)
  • Make sure the servo is physically plugged into the header that corresponds to D23 (confirm orientation G=ground, V=+V, S=signal).
  • Run this script (paste and run):
print("Single servo test on d23 starting");
print("IsReleased(d23) = " + IsReleased(d23));
Servo.setPosition(d23, 120);
sleep(1000);
Servo.setPosition(d23, 60);
sleep(1000);
print("Servo.getPosition(d23) = " + Servo.getPosition(d23));
print("Single servo test complete");
  • Tell me: (a) what the script printed, and (b) did the servo physically move?
  1. If D23 did not move - try the exact same servo in a different port (e.g., move the servo plug to D0 and re-run the script with d0)
  • This checks for a bad/shorted D23 header. If the servo moves on D0, D23 header may be damaged or mis-wired.
  1. If servo still does not move on any port, try a known-good servo or try one of the servos on another controller (if available)
  • This isolates bad servo vs EZ-B power/I/O.
  1. If camera works but servos / I/O do not, check for I/O firmware response
  • From the ARC status log you copied earlier: if the connection hangs at "firmware ID" or you see messages about failing to get the I/O firmware ID (or missing startup audio), that strongly suggests the lower I/O board is not responding. Paste that status log here - I can interpret it and confirm whether the EZ-B’s I/O subsystem is likely damaged. (This is a known symptom: camera stream can still work while the bottom I/O board is damaged.)
  1. Project / My Projects missing and download icons
  • Default projects folder: %USERPROFILE%\Documents\ARC
    • Check Explorer for C:\Users<yourname>\Documents\ARC - is it empty or missing? If it’s missing, you can recreate the folder and ARC will save new projects there.
  • If you cannot find old projects, search the whole disk for "*.arc" or "Documents\ARC" or the project filenames you recall, and also check the Recycle Bin.
  • The Edge icon showing in Downloads is a Windows file-association/icon display issue and not related to ARC directly - it doesn’t affect servo operation. If you want I can give steps to reset your default browser and file associations after we solve the servo problem.
  1. If you want a fast way to determine if the EZ-B is likely damaged
  • Do steps 1-3 above and paste the ARC Status log. If the status shows the connection stops at the firmware ID request or you see messages indicating the I/O board did not return its firmware ID (or the startup sound didn’t play), tell me and we’ll proceed with the I/O-damage diagnostics.

Useful links while you test:

Which test would you like to run first? If you run the scripts above, paste their output and the ARC Status log and I’ll interpret exactly what it means and give the next steps.


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
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#18  

Nomad did you try a different port? Maybe that port is damaged? Do you know if the servo actually works? Maybe the servo is damaged?

Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#20  

Are you sure that EZB v4 works at all? Maybe it is damaged?

There is an option in the web admin http://192.168.1.1 on the EZB v4 where you can test moving servos from the web interface

Author Avatar
PRO
Belgium
Thingiverse
#21  

dj

i cant get on that web 192.168.1.1 i do can on the web from the ezbv 192.168.0.130 i open the ezbv and there was a loose magnet inside . can this make a short?

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#22  

Thanks - good info and that video is useful (servo works on IoTiny so the servos themselves are OK). Let’s quickly isolate whether the EZ-B v4’s I/O is responding (software/config) or the EZ-B hardware I/O board is damaged.

Please follow these steps in order and paste back the results you see.

  1. Test servos from the EZ-B web admin (fast hardware check)
  • Connect your PC to the EZ-B’s Wi-Fi (AP mode) or ensure you can reach the EZ-B IP.
  • Open a browser and go to: https://192.168.1.1
  • On the web admin page look for a servo / Port test area (or any "Hardware", "Ports", "Servo Test" panel). Use the on-screen controls to move the same physical port (D23) where your servo is plugged in.
  • Observe:
    • Does the servo move when you command it from the web admin? Yes / No?

If it moves from the web page the EZ-B I/O is responding and the problem is ARC configuration (we’ll fix servo Summary mapping).
If it does NOT move but the camera still streams likely the bottom I/O board is not responding (common symptom when the camera still works but servos/I/O do not).

  1. Check EZ-B startup audio and ARC connection log
  • Power-cycle the EZ-B while standing next to it: do you hear the startup chime/sound? Yes / No?
    • No startup chime + camera working often indicates the I/O (bottom) board isn’t responding.
  • In ARC, open the Status area (bottom) and press COPY. Paste the full status log here. I will read the firmware handshake and confirm whether ARC is failing at the I/O firmware ID.
  1. Quick ARC scripting checks (run these in a JavaScript script in ARC)
  • Connection / address check:
var connected = controlCommand("Connection","GetStatus",0);
var addr = controlCommand("Connection","GetAddress",0);
print("EZ-B index 0 connected: " + connected);
print("EZ-B index 0 address: " + addr);
  • Single-port servo command (test D23):
print("Single servo test starting on d23");
print("IsReleased(d23) = " + IsReleased(d23));
Servo.setPosition(d23,120);
sleep(1000);
Servo.setPosition(d23,60);
sleep(1000);
print("Servo.getPosition(d23) = " + Servo.getPosition(d23));
print("Single servo test complete");
  • Paste the printed outputs and tell me if the servo physically moved.
  1. Power checks (important)
  • While running the servo test, measure battery voltage at the EZ-B VIN with a multimeter.
    • Report idle voltage and voltage while commanding movement. Large sag (< ~6V for a 2S pack) will stop servos from moving.
  1. Quick port swap test (if D23 doesn’t move)
  • Move the same servo lead from D23 to another digital port (e.g., D0) and re-run the single-port test using d0.
    • If it moves on D0 but not D23 that header or the bottom I/O at that header may be damaged.
    • If nothing moves on any port I/O/firmware issue or power problem.
  1. If web admin can’t move servos AND camera still works
  • That is a strong sign the bottom I/O board is not responding (common: camera still streams because the top/comm board is OK). Paste the ARC Status log (step 2) and let me confirm - I’ll point to the exact lines that show a firmware ID failure.
  1. If web admin CAN move servos (I/O OK)
  • We’ll fix ARC configuration:
    • Open servo Summary kebab menu Settings
    • Make sure the servo entry uses Board Index = 0 and Port = d23 (not v0).
    • Set Min/Max and test.
    • If the UI is forcing v0 even in a blank project, tell me and paste the ARC Status log - I’ll give exact steps to remove any lingering virtual-port skill references.

Additional non-invasive checks you can do now

  • Confirm the EZ-B startup chime.
  • Run the web-admin servo test.
  • Run the two JavaScript scripts above and paste outputs.
  • Paste the ARC Status log (COPY then paste).

I’ll interpret the status log and the test results and give the next step (repair steps, reseat suggestions, or exact ARC fixes). Do you want step-by-step help opening the EZ-B web admin now?


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
#23  

@athena

i can reboot the ezbv from the web page . the two test didn work ( missing string quotes ) i notest that the V0 on the iotiny stil there but , servo moves ..

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#24  

Good - thanks for the update. Let’s get you exact, corrected test scripts and clear next steps so we can narrow this down quickly.

  1. Corrected JavaScript tests to run in ARC
  • Connection check (ARC EZB index 0)
// Connection check for EZ-B index 0
var connected = controlCommand("Connection","GetStatus",0);
var addr = controlCommand("Connection","GetAddress",0);
print("EZ-B index 0 connected: " + connected);
print("EZ-B index 0 address: " + addr);
  • Single-servo movement test (directly move D23)
// Single servo test on d23
print("Single servo test starting on d23");
print("IsReleased(d23) = " + IsReleased(d23));
Servo.setPosition(d23, 120);
sleep(1000); // milliseconds
Servo.setPosition(d23, 60);
sleep(1000);
print("Servo.getPosition(d23) = " + Servo.getPosition(d23));
print("Single servo test complete");

Notes on these scripts:

  • Do not put the port constants in quotes (use d23 not "d23").
  • Use print() (not console.log()).
  • Paste the exact printed output you get after running each script.
  1. Web admin servo test (use the EZ-B IP you can reach) You said you can reach the EZ-B at 192.168.0.130 - use that instead of 192.168.1.1. Steps:
  • Open browser https://192.168.0.130 (or http://192.168.0.130 if https fails).
  • Login if prompted.
  • Look for a "Hardware / Ports / servo Test" area (depending on firmware UI naming).
  • Select the physical port where the servo is plugged (D23) and try moving it from the web slider/buttons. Tell me: does the servo move from the EZ-B web admin?
  1. Interpretations & next steps based on results
  • If the connection script shows connected = false stop there and paste that output. We need the ARC Status log (see step 4).
  • If the connection script shows connected = true but the servo script DOES move the servo:
    • That means EZ-B I/O is responding and the problem is an ARC configuration/mapping issue (e.g., your servo Summary or other control is pointing to a virtual port like v0). I’ll give exact steps to reassign to d23 and remove virtual-port mapping.
  • If connected = true but the servo script DOES NOT move AND the web-admin servo test also does NOT move:
    • That strongly suggests the EZ-B I/O (bottom I/O board) is not responding or is damaged - especially because you said camera still works. Paste your ARC Status log (next step) and the web-admin test result and I’ll confirm.
  • If web-admin moves the servo but ARC scripts do not: ARC-side configuration problem - we’ll reassign ports.
  1. Please paste the ARC Status log
  • In ARC, open the bottom status area and press COPY. Paste the entire copied text here. That log will show the firmware handshake and can confirm whether the I/O board is returning its firmware ID (key diagnostic).
  1. Quick hardware checks while testing
  • Battery voltage at the EZ-B VIN (idle and while you attempt the move).
  • Confirm G-V-S orientation on the servo plug and that the servo is firmly seated.
  • You mentioned a loose magnet inside the unit: remove any foreign object and inspect carefully for burnt components, scorched traces, or loose/bent pins. A metal object could short and damage I/O traces - if you see scorch marks or smell burnt electronics that supports hardware damage.
  1. Virtual ports (v0) clarification
  • v0..v99 are virtual ports created by some robot skills (Dynamixel, Feetech, etc.). They don’t control physical EZ-B D ports unless a plugin maps them. For a PWM hobby servo on the EZ-B, you must configure the control to use d23 (not v0). If ARC keeps offering v0, we’ll remove the offending skill or re-add a clean servo Summary and explicitly choose d23.

What I need from you now

  • Run the two corrected scripts above and paste the printed outputs.
  • Try the web-admin servo test at https://192.168.0.130 and report whether the servo moves.
  • Paste the ARC Status log (COPY from ARC bottom area).
  • Tell me the battery voltage while testing.
  • Tell me whether you removed the magnet and if you noticed any visible damage.

I’ll interpret the outputs and give the next precise action (re-map ports in ARC or steps to further validate/repair the EZ-B I/O). Would you like step-by-step screenshots showing where to set the port to d23 in the servo Summary?


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.