Asked — Edited

JD Robot Connection Issue

Hi all,

I recently acquired a used JD robot and am experiencing difficulty connecting it to ARC through the EZ-Robot EZ-B v4. Each time I try to connect, the connection fails. Although I have already reset the EZ-B v4, my PC can successfully connect to it, indicated by the blue light blinking on the back. Interestingly, I am able to connect to and utilize the camera in ARC without any issues.

I'm unsure what's causing this, especially since I never encountered a similar problem with my Roli robot. I would greatly appreciate any assistance or insights into what might be going wrong.

Thank you!

@Athena



Related Hardware (view all EZB hardware)
JD Humanoid by EZ-Robot
JD humanoid robot kit - WiFi-enabled, 16 DOF with metal-gear servos; easy, fun, educational, available from the EZ-Robot online store.
Wi-Fi / USB
Servos 24
Camera
Audio
UART 3
I2C
ADC 8
Digital 24

Related Robot Skills (view all robot skills)
ARC integration for SSC-32 servo controllers via PC COM or EZ-B/Arduino UART; maps V0-V31, configurable baud, enables servos in ARC skills.
USB control for Pololu Maestro (6/12/18/24) via ARC Vx ports. Maps Vx to Maestro channels; supports position, speed, acceleration, release.

ARC Pro

Upgrade to ARC Pro

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

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#1  

Thanks - let’s troubleshoot this stepbystep. Since you can see the camera in ARC but the EZB v4 connection fails, that gives useful clues. Please try the checklist below and paste any status/log text you get (I cannot view images - include the exact text).

  1. Quick checks (most common causes)
  1. Get basic status from ARC (run these in a JavaScript script or the Script Console)
  • Get the configured address for connection index 0:
var addr = controlCommand("Connection","GetAddress",0);
print("Address: " + addr);
  • Check whether ARC thinks the EZB is connected:
var status = controlCommand("Connection","GetStatus",0);
print("Connected?: " + status);

Copy/paste the printed values here.

  1. Test TCP reachability to the EZB
  • If you connect by IP, try a telnet / port test from your PC to the EZB (replace 192.168.1.1 with your EZB IP): Windows CMD:
telnet 192.168.1.1 23

PowerShell:

Test-NetConnection -ComputerName 192.168.1.1 -Port 23

If port 23 is filtered/blocked the test will fail. Paste the Test-NetConnection output if available.

  1. Use the Connection Diagnostic skill (verbose logs)
  • Add Project -> Add robot skill -> General -> Connection Diagnostic
  • In that skill: press Ping EZB and then Copy Log to Clipboard
  • Paste the log text here (do not post screenshots - paste the exact text)

Docs & download links:

  1. Firmware / Mode checks
  • Camera working suggests the EZB’s IP/HTTP is reachable. The connection channel uses a TCP socket/protocol the firewall or firmware may block. Try:
    • Reboot EZB and PC.
    • If the EZB is in "client" mode (connects to ARC), ensure ARC’s TCP EZB Server (if used) is enabled. If EZB is in AP mode, ensure your PC is on the EZB’s WiFi or they’re on the same router/subnet.
    • If firmware mismatch is suspected, consider reflashing the EZB firmware: https://synthiam.com/Support/Hardware/Hardware-Overview
  1. Power & wiring
  • Confirm JD’s power is supplying the EZB properly. Brownouts or low voltage can make the EZB appear to boot (camera works) but fail protocol services. Tell me what battery/how you power JD.
  1. Extra checks if using USB/COM
  • If using COM: open Device Manager, confirm COM port number. In the EZB Connection skill choose that COM and the correct baud. If another app (Putty, serial monitor) is using that COM, close it.

What I need from you now

  1. Are you connecting by WiFi (IP) or USB/COM? What exact address or COM port are you using?
  2. Output of the two ControlCommand prints (Address & Connected?) from step 2.
  3. Result of TestNetConnection or telnet (if using IP).
  4. Paste the Connection Diagnostic log text if you ran it.
  5. ARC version and Windows version.
  6. Any exact error message shown in the ARC status area - paste the text.

I’ll walk through the results and give the next targeted steps (firewall rules, port tests, or firmware updates). Would you like the commands as a single script you can paste into ARC’s Script Console?


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

Oh, one thing to check is if the led goes red after ezb connection from arc. If so, check the rgb led eyes connection. That red led after ezb connection from ARC means the i2c connection to the eyes leds isn’t successful.

You can always remove the rgb led robot skill from the project and try connecting to see if that fixes it.

but these instructions only apply if the red led is on steady after ezb ARC connection.

#3   — Edited

Also, I’ll chime in and suggest using the JD Bare project. I don’t believe the Bare project has the rgb animator robot skill, so it should run successfully without the RGB eyes.

Also, as Athena mentioned, the best way to diagnose connectivity issues is with this document: https://synthiam.com/Support/troubleshooting/Troubleshoot-WiFi-Connections

It provides a step-by-step list of items to check to narrow down the cause of the issue.

#4   — Edited

There is no sound when the unit powers up. I also ran the powershell command you gave me. It took a few seconds and responded back that it connected.

This time I used the JD bare project to test. I also copied the debug log if this helps. Pasted below:

EZB 0: 2026/03/19 20:16:06 -04:00 Discovered EZ-B v4.x/2 (192.168.1.1:24) (Type: Camera).

EZB 1:
EZB 2:
EZB 3:
EZB 4:
Windows version: Microsoft Windows NT 10.0.19045.0
Synthiam account: [email protected]
Screen Resolution: 1280x720 (96x96 DPI, 150% scaling)
Discovered EZ-B v4.x/2 (192.168.1.1:23) (Type: EZ-B v4.x/2).
ARC Pro Version: 2026.03.17.00
Adding 4 robot skill(s) to page 0:
- ARC.UCForms.FormConnection (Connection)
- ARC.UCForms.FormAutoPositionerMovement (Auto Position)
- ARC.UCForms.FormEZRobot (My Robot)
- ARC.UCForms.FormNotes (Notepad)

Attempting connection on 192.168.1.1:23
Connected to 192.168.1.1:23 (tx timeout: 2000, rx timeout: 2000, tx buffer: 20000 rx buffer: 20000)
Reports EZB v4 OS With Comm 2
Firmware 'EZ-B v4.x/2 Native Firmware' (0x02) on 'EZ-Robot EZ-B v4.x/2' supports the following capabilities:
- ADC with 12 bit Resolution
- Can stream Audio v4 codec
- Reports battery voltage
- Reports CPU temperature
- Read/Write Digital I/O Ports
- Hardware UART TX/RX with DMA buffer and adjustable baud rate
- I2C Master
- LIPO battery protection & shutdown
- PWM Duty on digital ports
- PWM servos on digital ports
- PWM servos on digital ports can release their position
- servo speed for PWM servos on digital ports
- Has NVRam configuration and can be restored to default settings
- Transmit Uart TX on all digital ports
- Adjustable I2C clock speed
- Configurable UART TX digital port baud timing
- Ultrasonic Ping distance sensor support
- 12 Byte Unique Identifier
- Can stream video v4 codec
- Native UART Connectivity from ARC
- Native WiFi Connectivity from ARC
- Broadcasts to ARC's PnP network scanner

TCP Comm Error: Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
Sent: 2
Bytes Expected: 12
Received (0 bytes):
Disconnected
EZ-B v4.x/2 Native Firmware ID: 0-0-0-0-0-0-0-0-0-0-0-0
Setting battery monitor voltage: 7.0
Setting battery protection: True
Not connected attempting to initEZB from Connection Control. System.Exception: Not connected
at EZ_B.Uart.SetBaudClock(BAUD_RATE_ENUM baudRate, Int32 clockSpeed)
at ARC.UCForms.FormConnection.OW7aAtYCSNDpdsq98M2j(Object , BAUD_RATE_ENUM , Int32 )
at ARC.UCForms.FormConnection.GjYysyYqjdR(Int32 , ConfigurationFormV2 )
Connected
EZB Not Responding:Unable to connect to 192.168.1.1:23. This PC appears to be connected to a network with the IP address that was specified. However, the connection could not be established with the EZB.

I was unable to run the Java code you gave me, due to lack of time. Any ideas? Also the rgb eyes are slowing the blue x pattern.

@Athena

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#5  

Thanks - good details and the debug log is very helpful.

Summary of what I see from your log

  • ARC discovers the EZ-B v4 and the camera (192.168.1.1).
  • ARC opens the TCP connection to port 23 (Test-NetConnection succeeded).
  • ARC receives no/invalid response from the control channel and disconnects (TCP Comm Error / Native Firmware ID = all zeros).
  • There is no startup sound from the unit when powered on (this is important - it often means the lower board or inter-processor comms are not healthy).
  • You say the RGB eyes are affecting the blue X pattern; that fits the DJ_Sures hint about the RGB/I2C eyes interfering.

Actions to try (in order)

  1. Disable or remove the RGB / "RGB Animator" robot skill
  • Why: A bad I2C device or bad RGB skill can cause the EZ-B to report failures or stall during initialization. DJ_Sures’ tip is exactly this - remove/disable the RGB eyes skill and try again.
  • How:
    • In ARC, find the RGB Animator / RGB Eyes skill window.
    • Click the three-line kebab (hamburger) menu on the top-right of that skill window.
    • Either uncheck "Enabled" (if present) or choose "Remove" / "Delete" (to remove the skill from the project). Alternatively toggle the power icon on the skill title bar to disable it.
    • Save and try connecting again.
  • Also try your JD Bare project (you already tried - good).
  1. Power & hardware check (no startup sound)
  • The lack of the startup chime is a major clue. The v4 plays a chime at boot when the two onboard processors communicate successfully. No chime can mean:
    • The lower board (speaker, audio codec, or the secondary processor) is not responding.
    • A wiring or power issue to the lower board.
  • Steps:
    • Power-cycle the robot (power off, wait 10s, power on).
    • Confirm the battery/adapter voltage is correct and stable. Tell me battery type/voltage so I can advise safe thresholds.
    • Check speaker connection if you're comfortable opening the shell - sometimes the speaker is disconnected.
    • If possible test with a known-good EZ-B or test the board in another robot to isolate hardware.
  1. Windows firewall / Antivirus (re-check)
  • Even if Test-NetConnection succeeded, an antivirus or firewall can still block or interfere. Temporarily disable third-party AV (Avast, McAfee, Norton) and Windows Firewall for a quick test.
  • If disabling fixes it, create a Windows Firewall rule to allow ARC (ARC.exe) and allow TCP port 23 for that app or allow the ARC program through the firewall.
  1. Run an ARC script to attempt connect + print status
  • Paste this into ARC’s Script Console (JavaScript). It will show the configured address, try to connect, and print status. Use index 0 unless you use another slot.
var addr = controlCommand("Connection", "GetAddress", 0);
print("Configured Address (idx 0): " + addr);

var status0 = controlCommand("Connection", "GetStatus", 0);
print("Initially Connected? " + status0);

// Try a connect command
print("Attempting Connect0...");
controlCommand("Connection", "Connect0");

// give it a few seconds to establish
sleep(2000);

var statusAfter = controlCommand("Connection", "GetStatus", 0);
print("Connected after Connect0? " + statusAfter);

// If connected, print a final status
if (statusAfter == true) {
  print("Connected OK. Try camera and actions now.");
} else {
  print("Still not connected. Copy/paste the Connection Diagnostic log after running the Ping EZB button.");
}
  • Paste any printed output here.
  1. Use Connection Diagnostic and paste the text (you already did - thanks)
  • Your log is telling: "Native Firmware ID: 0-0-0-0" which typically indicates the EZ-B control channel is not replying correctly. That points to either firmware corruption or failing hardware (or some service on the EZ-B blocking the protocol).
  1. Try USB / COM connection if possible
  • If the EZ-B v4 supports USB/serial connect for diagnostics, try connecting with USB to the PC and connect via COM in the EZB Connection skill. If USB/COM works, that narrows the problem to the WiFi comms/firmware.
  1. Consider reflashing / restoring firmware (advanced)
  • If the EZ-B fails to fully respond on TCP (Native Firmware ID zeros) and you have no startup sound, re-flashing firmware (or restoring NVRAM defaults) may fix corrupted firmware. Only proceed if you’re comfortable with firmware flashing steps. Firmware info: https://synthiam.com/Support/Hardware/Hardware-Overview
  • If you want, I’ll give step-by-step firmware restore instructions - tell me if you want to try that.
  1. Netstat check (to see if any other program is grabbing the connection)
  • Open an elevated Command Prompt and run:
    • netstat -ano | findstr 23
  • If you see an established connection already using that remote IP/port, that might explain the issue. Paste results here.

Immediate next steps for you

  1. Disable/remove the RGB Animator / RGB Eyes skill (kebab menu/power toggle) and retry connection. Tell me the result.
  2. Run the short JavaScript script above in the Script Console and paste the output.
  3. Confirm:
    • Are you connecting to the EZ-B directly in AP mode (PC WiFi -> EZ-B network) or through a router? (Which mode?)
    • How are you powering JD (battery type/voltage / adapter)?
    • Do you have third-party antivirus installed? (yes/no)
  4. Share the output of netstat (if you run it) and tell me if you hear any chime on power-up after the power-cycle.

If disabling RGB fixes it, I’ll show how to properly re-add/configure the RGB (or a hardware check on the LED harness) so it won’t interfere. If disabling doesn’t fix it, we’ll move to firmware restore or test USB/COM and I’ll provide step-by-step commands.

Would you like the firmware restore instructions now or wait until we confirm the RGB skill and power/chime behavior?


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.
#6  

The clue is no startup sound - the bottom board of the ezb has been damaged. It’s not a functional ezb v4.

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#7  

Good - that matches the log and the symptom (no startup chime). The behavior you described plus the debug log (Native Firmware ID = all zeros, no firmware response) strongly indicates the lower board (the "bottom board" that handles audio, IC to the RGB eyes, and inter-processor communications) is not responding. That is usually a hardware fault on the EZB v4, not a simple ARC configuration problem.

What this means

  • Camera streaming uses the video pipeline and can still appear to work even when the lower board is dead.
  • The missing startup chime is an important diagnostic: the lower processor that plays the chime is not communicating.
  • The log entry showing a zeroed firmware ID and the TCP Comm Error means the control channel is not replying (hardware or corrupted firmware), and with no chime the likely cause is hardware failure of the lower board.

Recommended next actions (safe, ordered)

  1. Quick physical checks (safe)
  • Power-cycle the robot (power off wait 10s power on). Confirm no chime.
  • Inspect the speaker cable connector (if comfortable opening JD): make sure the speaker is plugged in and wires aren’t broken. Check for loose ribbon connectors between the boards. Do not probe power rails unless you are experienced with electronics.
  • Look for visible damage: burn marks, cracked components, or corrosion.
  1. Confirm via USB/COM (if available)
  • If you can connect the EZB by USB/serial to the PC, try a COM connection in the EZB Connection skill. If USB/COM also shows the same zero firmware ID or no response, that further points to a hardware failure.
  1. Disable RGB / RGB Animator (you already tested JD Bare - good)
  • You already tried JD Bare. That’s the correct test: disabling/removing the RGB eyes skill and testing with the Bare project helps rule out I2C device problems. The fact JD Bare still fails supports a board-level fault.
  1. Diagnostic evidence you already supplied (helps confirm)
  • The Connection Diagnostic log you pasted shows: discovery & camera OK, TCP to port 23 succeeds, but the firmware ID returned is all zeros and ARC logs TCP Comm Error and "Connected EZB Not Responding." This is exactly what we expect when the lower board does not reply.
  1. Firmware restore? Possibly, but low probability of success
  • Reflashing or restoring firmware can recover software-corruption cases. However, when there is no startup sound and the lower processor does not respond at all, reflashing rarely fixes it because the problem is usually a hardware failure.
  • If you want to try firmware restore anyway, tell me and I’ll give stepbystep instructions. I’ll also include how to back up your current project first.
  1. Replace or repair the EZB v4 lower board
  • Because the lower board appears damaged, the practical fix is to replace the EZB v4 (or the faulty sub-board if you have a parts source and repair skills). If you plan to replace the EZB, back up any ARC projects and record servo center positions and custom settings before removing hardware.
  • Reference: ARC hardware/firmware overview - https://synthiam.com/Support/Hardware/Hardware-Overview

Useful references (re-posted)

Questions so I can help you next

  1. Do you want to try reflashing/restoring firmware (I’ll provide exact steps), or would you prefer guidance for replacement/repair?
  2. Can you connect the EZB to your PC by USB and see a COM port in Device Manager? (yes/no)
  3. Are you comfortable opening the JD shell to check/reseat the speaker and board connectors? (yes/no)
  4. What battery/power are you using right now (type and voltage)?

If you want to try a firmware attempt, I’ll provide a safe stepbystep guide you can follow. If you prefer replacement, I can point to the correct EZB v4 hardware pages and give tips for removing/installing it safely and preserving your servo calibration and project data. Which path would you like to take?


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
#8   — Edited

I can expand on why it is surely a damaged ezb v4.

the top pcb of the ezb is the communication processor and antenna. The bottom board is the I/O processor. When the ezb powers on, the communication processor sends initialization commands to the i/o processor, which in turn plays audio startup sound.

if the sound doesn’t play, it could be the speaker but most likely not. But here’s why I know it’s not a damaged speaker and it is a damaged bottom board processor.

The connection stops at firmware ID request. The top board processor accepts the incoming connection, handles the ezb protocol handshake, and then hands off the connection to the IO processor. The IO processor returns its unique firmware ID thats hardcoded in itself. In the connection log you shared, the firmware ID isn’t returned. So tbe IO processor is damaged.

The reason the camera works is because the communication processor handles the video stream to the camera port.

So, the verdict is that you have an ezb v4 with a good top pcb but a damaged bottom pcb. Thats the most common issue when an ezb has been shorted out. That ezb has been damaged by shorting the IO pins to high current. The ezb v4 has protection on all the IO, but it can only handle so much. The previous owner of your JD had shorted or applied high voltage to the IO pins.