Australia
Asked
Resolved Resolved by DJ Sures!

FT232RL To EZB UART Connection

Is it possible to connect an FT232RL USB-to-serial adapter to an EZB controller using the UART TX, RX, and GND pins, instead of connecting to the camera port with those same pins? I've attempted this setup without success. I assume there's a difference between the UART pins and the camera port pins. I'm utilizing the Connection robot skill in this setup.



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.
Serial Terminal by Synthiam
PC and EZB serial terminals for ARC: connect, monitor and send text/ASCII to serial devices. Supports COM, flow control, baud, DTR/RTS, hex

ARC Pro

Upgrade to ARC Pro

Elevate your robot's capabilities to the next level with Synthiam ARC Pro, unlocking a world of possibilities in robot programming.

Author Avatar
PRO
Canada
#1  

Short answer: Yes - but only if you wire it as a TTL (3.3V) serial link to the correct EZB UART pins, with a common ground, and the FT232 module set to 3.3V I/O. Do NOT assume the camera connector pins are identical to the EZB UART pins.

Below are the recommended checks, correct wiring examples, and troubleshooting steps.

  1. Important facts / gotchas
  • The EZB uses TTL UART levels (3.3V). An FT232RL must be set to 3.3V VCCIO (NOT 5V) or you will risk damage or unreliable comms.
  • Always share GND between FT232 and EZB.
  • The camera connector pins are not the same as the EZB UART digital pins. Use the mapped UART pins (or the expansion UART) shown in the EZB docs. See UART mapping in the EZB manual: https://synthiam.com/Support/Hardware/EZ-B-v4
  • If your goal is to let ARC connect to an EZB over a COM port, use the Connection robot skill and select the COM port assigned to the FT232. (Docs: EZB Connection https://synthiam.com/Support/Skills/Communication/EZB-Connection?id=16041)
  • If your goal is to talk to a peripheral device attached to EZB via a USBserial on the PC, clarify which side you want the serial link for (PCEZB vs PCperipheral).
  1. EZB UART pin mapping (use these, not the camera pins)
  • UART1: EZB TX = D5, EZB RX = D6
    • To wire FT232 to UART1: FT232 RX D5, FT232 TX D6, GND GND
  • UART2: EZB TX = D18, EZB RX = D19
    • FT232 RX D18, FT232 TX D19, GND GND
  • UART0 is on the expansion connector (regulated), not the D# header pins. Use expansion connector if you need UART0.
  1. Wiring summary (examples)
  • If using UART1 (D5/D6):
    • FT232 VCCIO jumper set to 3.3V (do not tie FT232 5V to EZB)
    • FT232 TX EZB D6 (EZB RX)
    • FT232 RX EZB D5 (EZB TX)
    • FT232 GND EZB GND
  • If using UART2 (D18/D19):
    • FT232 TX EZB D19
    • FT232 RX EZB D18
    • Common GND
  1. ARC / Connection skill setup
  • In ARC: Project Add robot skill Communication EZB Connection (if not already added).
  • Select the Connection index you want, choose the COM port for the FT232, set baud to match the EZB (115200 is common), and click Connect. (Connection skill doc: https://synthiam.com/Support/Skills/Communication/EZB-Connection?id=16041)
  • If connection fails, open the Serial Terminal skill and try that COM port at same baud to watch raw bytes.
  1. Troubleshooting checklist
  • FT232 VCCIO = 3.3V (VERY IMPORTANT).
  • Common ground connected.
  • TX/RX are crossed (FT232 TX EZB RX). Doubleswap if nothing shows.
  • No other program holds the COM port (close Arduino IDE, PuTTY, etc.).
  • Use Serial Terminal to check for any boot or response text.
  • Try enabling DTR/RTS in Serial Terminal if your adapter or wiring requires them (rare for simple UART).
  • Confirm you are wiring to the correct digital pins (D5/D6 or D18/D19) and not the camera header unless you know the camera header wiring. The camera header pins are separate and not interchangeable with the labeled D# pins.
  • If you intended to power the EZB from the FT232 3.3V rail - don’t. The FT232 cannot supply the EZB. Power the EZB normally and only share TX/RX/GND.
  1. Extra diagnostic steps
  • Use Serial Terminal (PC) skill to open the FT232 COM port at 115200 and type a simple known command to the EZB (or just watch for any bytes when powering the EZB).
  • If you want to make ARC connect to the EZB via COM automatically, configure the EZB Connection skill for that index and press Connect after wiring is correct.

References:

If you still have trouble, tell me:

  • Which EZB pins you wired to (D# or Camera header or Expansion),
  • Which FT232RL breakout you have and whether its VCCIO is set to 3.3V,
  • The baud rate you tried, and whether ARC or Serial Terminal shows any data or errors.

I can then give exact wiring for your board and a stepbystep test to confirm communication.


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

Athena said yes because the question focused on simply connecting a USB UART to any EZB UART port, without explaining why. Athena, the original poster is asking whether the EZB can be connected to any UARTS other than the camera port to avoid using WiFi to control it. The answer is no, you cannot. The Camera port is the only port you can use to control the EZB via the ezb protocol instead of Wi-Fi, due to its internal wiring.

You might be asking because you would like to use the camera and the ezb at the same time over a UART connection, rather than Wi-Fi, but that isn't possible because they're two different streams. Even if another uart could be used for the ezb protocol, the camera would still need its own uart to the PC because they're seperate streams. You see, networking (TCP) uses ports, and each port can have many connections, so that you can do many things at the same time. Where UART is a single stream of bytes, and you can't do many things at the same time. Well, without getting into a very complicated discussion of protocols, we'll keep it at "you can't".

The solution you're looking for is to use TWO USB UARTs to connect to the PC, one for the EZB and one for the CamCamerar. You can use a USB camera and get better resolution, etc...

Author Avatar
PRO
Canada
#3  

Short answer: DJ_Sures is correct for the common use-case. You can wire an FT232RL to the EZ-B’s general UART pins (D5/D6, D18/D19, etc.) for TTL serial communications with whatever device is on that UART - but you cannot replace the EZB "host"/ezb protocol USB serial interface with just any D# pin. The ezb protocol that ARC expects over a COM port is exposed on the EZB’s host/USB serial path (camera/expansion UART), not on the arbitrary D# UART lines. That’s why the camera/expansion header is the only port you can use for an ARC <-> EZB COM (ezb protocol) connection instead of WiFi.

Details and recommended options

  • Two different things people often mix up:
    • "I want to talk to a device connected to an EZB UART" - Yes, you can wire an FT232 to those UART pins (D5/D6 = UART1, D18/D19 = UART2) as long as you use TTL levels (3.3 V) and common ground. That gives you a serial link to whatever peripheral is on that UART, or lets you monitor that UART traffic in the PC Serial Terminal skill.
    • "I want ARC on my PC to talk to the EZB firmware (the ezb protocol) over serial instead of WiFi" - No, you must use the host/USB serial interface the EZB firmware exposes (camera/expansion/host serial). The D# headers are not wired into the EZB’s host USB bridge for the ezb protocol, so ARC won’t be able to treat them as a Connection-skill EZB COM connection.

Why this matters

  • UART = single byte stream tied to the MCU UART peripheral. The ezb protocol that ARC speaks to the EZB host uses the specific serial endpoint that is routed to the PC (camera/expansion/host). You can’t simply "reassign" the host serial to arbitrary D# pins without hardware changes.
  • If you need camera + ezb protocol over a single PC USB cable: the camera and ezb protocol are different streams. You cannot multiplex multiple independent streams over a single UART unless the device and firmware explicitly support multiplexing - EZB does not provide that on the general UART pins.

Practical options / solutions

  • Preferred: Use the EZB over WiFi (the normal ARC workflow). Use a USB camera on the PC if you need better resolution or independent video - this avoids the serial/stream multiplexing problem.
  • If you must avoid WiFi and need ezb protocol on a COM port: use the camera/expansion / host serial interface that exposes the ezb protocol to the PC. Connect your FT232 (or other USB-serial) only to the port that the EZB firmware uses for host communications. Make sure the FT232 VCCIO is 3.3 V and common ground is used.
  • If you need the camera and ezb protocol both on wired serial to PC (no WiFi): you’ll need two separate USB connections (two USB UARTs or a USB webcam + one USB-UART for the ezb protocol). That’s what DJ_Sures was recommending.
  • If you only want to talk to a peripheral connected to EZB’s UART (not to the EZB firmware): wire FT232 to D# UART pins (D5/D6 or D18/D19), VCCIO = 3.3 V, GND common. This will not make the EZB itself appear as an ARC Connection COM device.

How to test (safe checklist)

  1. Set FT232 VCCIO to 3.3 V (do not use 5 V).
  2. Connect GND common (FT232 GND <-> EZB GND).
  3. For a peripheral UART test:
    • FT232 TX -> EZB RX (e.g., D6 for UART1 or D19 for UART2)
    • FT232 RX -> EZB TX (e.g., D5 for UART1 or D18 for UART2)
  4. For ARC ezb-protocol COM connection: connect to the EZB host serial interface (camera/expansion) - do not use the general D# pins.
  5. In ARC:
    • Add/Use the Connection robot skill (Project Add robot skill Communication EZB Connection).
    • Select the COM port assigned to your FT232, set baud (115200 typical), and click Connect.
  6. If it won’t connect, open the Serial Terminal skill on that COM port so you can watch raw bytes and verify whether the EZB firmware is talking.

Useful links

If you want, tell me:

  • Your exact goal (control EZB from ARC over wired COM instead of WiFi? Or talk to a peripheral attached to EZB UART pins?), and
  • Which EZB pins you currently wired (D# or camera/expansion), and
  • Whether you need the camera stream at the same time.

I’ll give a step-by-step wiring + ARC Connection/Serial Terminal test for your specific setup.


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
Australia
#4  

I thought that was the case, otherwise other people would avoid using of the camera port for a USB connection. It means I have to install another camera in my InMoov robot. Taking the EZ camera out of the eye involves too much dismantling.

Author Avatar
PRO
Canada
#5  

You’re right - removing the EZ camera from the InMoov eye is a pain. You don’t have to; there are other practical ways to keep the eye camera and still get reliable control of the EZ-B. Below are the realistic options, what they require, and stepbystep actions you can take. I’ll also ask a couple quick questions at the end so I can give exact wiring / ARC steps for your situation.

Options (best least intrusive)

  1. Recommended: Keep the EZ camera where it is and use ARC EZ-B over WiFi (normal workflow)
  • Why: This is how ARC and the EZB are designed to work. No dismantling required and the EZ camera continues to work.
  • What to do: Put the EZB in AP or Client WiFi mode, then in ARC use the Connection robot skill to connect by IP (or scan). Connection docs: https://synthiam.com/Support/Skills/Communication/EZB-Connection?id=16041
  • When to choose: If you don’t absolutely need a wired COM port to the EZB. This gives full ARC features (movement, servos, camera stream, ezb protocol) with no extra hardware.
  1. Use a separate USB webcam on the PC (recommended if you want to avoid removing the eye camera)
  • Why: You keep your EZ camera in the eye on the EZB, but you don’t have to remove it to get a camera on the PC. A small USB UVC webcam can be mounted elsewhere (forehead, chest, other eye) with minimal effort.
  • Steps in ARC:
    1. Plug the USB webcam into the PC.
    2. In ARC: Project Add robot skill Camera (or add the Camera control).
    3. Select the PC USB camera device and set resolution/framerate.
    4. Use the EZB Connection skill to connect to the EZB over WiFi (for EZB control).
  • Benefits: Avoids dismantling and keeps video quality options (PC webcams typically give higher resolution than the EZ camera).
  • Camera skill docs / ARC downloads: https://synthiam.com/Products/ARC
  1. Wired COM connection for ezb protocol (only possible via host/expansion/camera serial interface - may require access to the camera/expansion connector)
  • Important: DJ_Sures’ point is accurate - the ezb protocol endpoint that ARC can use over a COM port is exposed on the EZB host/expansion (camera) serial path. The general D# digital UART pins (D5/D6, D18/D19) are MCU UARTs for peripherals, and are not the same physical host/USB serial endpoint that ARC expects for a full EZB COM connection.
  • Consequence: If the EZ camera or wiring blocks access to the host/expansion UART that exposes the ezb protocol to a PC, you may have to move or disconnect it - which is the dismantling you want to avoid.
  • If you can access the expansion/host header without removing the camera: you can attach an FT232 (or other USBUART) to that host serial interface and make ARC talk to the EZB as a COM device. FT232 wiring notes:
    • FT232 VCCIO must be set to 3.3V (NOT 5V).
    • Always common ground (FT232 GND EZB GND).
    • Do NOT power the EZB from the FT232.
    • ARC/Connection skill can then select that COM port and Connect.
  • If you cannot access the host/expansion UART without removing the camera: wired ezbprotocol COM to PC is not feasible without some dismantling.
  1. If you need to monitor or talk to peripheral UART devices attached to the EZB
  • You CAN connect an FT232 to the general UART pins (TTL) like:
    • UART1: D5 (TX from EZB), D6 (RX to EZB)
    • UART2: D18 (TX), D19 (RX)
    • Use FT232 RX EZB TX and FT232 TX EZB RX (crossed), and common GND. Set FT232 to 3.3V.
  • But: that link gives you access to the peripheral UART traffic - it does NOT make the EZB itself appear as a hostCOM device for ARC ezb protocol (unless you tap the host/expansion serial endpoint described above).

Other wired-ish alternatives

  • EZB Client Mode to ARC TCP Server: you can have the EZB connect to ARC (EZB client to ARC TCP server). This still uses WiFi but gives a stable, initiated connection from the EZB. See "EZB Connection" settings and enable the EZB connection server option. (This avoids the PC initiating the connection, but it still uses wireless network.)

Useful references

Quick checklist / decision guide

  • Want no WiFi and want ARC on COM port Do you have physical access to the EZB host/expansion header without removing the eye camera? If yes, you can wire FT232 to that host UART (3.3V, common GND). If no, you’ll need to remove or relocate the camera.
  • Want to avoid removing eye camera and still have a PC camera add a small USB webcam on the PC and use ARC camera skill (no dismantle).
  • Want to talk to a peripheral connected to EZB UART wire FT232 to D5/D6 or D18/D19 (3.3V, crossed TX/RX, common GND). This is fine for peripheral comms but not for ARC ezbprotocol host COM.

If you want, tell me:

  • Is your priority to avoid WiFi entirely, or just to avoid removing the EZ camera?
  • Do you need ARC on a wired COM port, or are you okay with ARC EZB over WiFi?
  • Can you access the EZB expansion/host header without taking the eye camera out? (or upload a short description of how the camera is mounted - I can’t view images, so describe where the connector is located)

I’ll give stepbystep wiring and the exact ARC Connection / Serial Terminal test for whichever option you pick.


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

I have just removed the WiFi method of connection for my InMoov robot. I find a SBC gives me USB ports for a microphone, touchscreen and camera as well as Bluetooth for an XBox controller. Most important of all, I have WiFi for internet and can use ChatGPT, previously not possible when WiFi is used for the connection.

Author Avatar
PRO
Canada
#7  

Nice - that’s a good move. Running ARC on an SBC with the EZ-B on a local USB/serial link gives you the PC resources (mic, touchscreen, higher-res webcam, internet/ChatGPT, Bluetooth controllers) while freeing WiFi for internet. A few tips, checks, and next steps so your InMoov runs reliably.

Quick summary of what to expect

  • EZ-B over USB/serial (COM) to the SBC: ARC can control the EZ-B via the Connection robot skill.
  • USB webcam on the SBC: use ARC’s Camera control (UVC) for higher resolution and easier placement - no need to remove the EZ camera from the eye.
  • Important limitation: when the EZ-B is connected to ARC via a COM port, ARC cannot use the EZ-B’s onboard camera stream. (That EZ camera stream is only available when the EZ-B is network-connected.) See the EZ-B v4 docs for details.

Step-by-step (USB EZ-B SBC ARC)

  1. Physically connect
    • Plug the EZ-B to an SBC USB port with the USB cable (do NOT rely on FT232 hack unless you have a reason - the EZ-B’s USB is the host serial path).
  2. Verify the COM port on the SBC
    • Linux (typical SBC): after plugging in, run:
      • dmesg | tail (or) ls /dev/ttyUSB* /dev/ttyACM*
      • If you see /dev/ttyUSB0 or /dev/ttyACM0, that is the device name.
      • If permissions prevent ARC from opening the port, add your user to the dialout group: sudo usermod -a -G dialout <your-user> then log out/in or reboot.
    • Windows: check Device Manager Ports (COM & LPT) for COM#.
  3. In ARC: add EZB Connection skill
  4. Use a PC USB webcam for vision
    • Plug USB webcam into the SBC.
    • In ARC add the Camera control/skill and select that USB camera device and desired resolution.
    • ARC Downloads / Camera docs: https://synthiam.com/Products/ARC
  5. Test & debug with Serial Terminal

Quick ARC script checks (examples)

  • Check EZ-B online:
var online = controlCommand("Connection", "GetStatus", 0);
print(online);
  • Get the configured address or COM name:
var addr = controlCommand("Connection", "GetAddress", 0);
print(addr);

(Place these in a Script control or run from Developer Console in ARC.)

Notes & gotchas

  • Camera availability: ARC cannot use the EZ-B camera when the EZ-B is connected via COM. Use a USB UVC camera on the SBC for vision instead.
  • Drivers/permissions on SBC: on Linux add user to dialout; on some SBCs you may also need to install FTDI/CDC drivers (most modern Linux has them built in).
  • Only one process can open the same COM port at a time - close other apps (Arduino IDE serial monitor, other terminals).
  • If you ever want the EZ-B to "connect into" ARC (EZ-B client mode), enable the EZB Connection "EZ-B Connection Server" option - useful if ARC is running headless on the SBC and the EZ-B should initiate the connection.

Questions so I can give exact step-by-step for your setup

  • Are you running ARC on the SBC (what OS: Raspberry Pi OS, Ubuntu, etc.) or on another PC?
  • How is the EZ-B physically connected right now (USB cable, FT232 adapter, or other)?
  • Do you want to keep the EZ camera in the eye and use a separate USB webcam for ARC, or are you okay moving the camera?

If you tell me OS + how EZ-B is connected, I’ll give the exact terminal commands to find the device node and the ARC Connection settings to use (and a Connection Established script example to safely initialize servos).


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.