Autonomous AI icon Autonomous AI Autonomous AI robot agent with vision, speech, movement, animations, memory, and self-directed task execution via LLMs. Try it →
Asked
Benchmark drops with ChatGPT and camera

Benchmark Drops With Chatgpt And Camera

I’m running a Roli Rover with an EZ-B v4 from a Windows laptop and I’m trying to make it conversational while driving around. When I run the Benchmark skill (Read ADC on ADC0) by itself, I see about 400-480 reads/sec in AP mode (PC connected directly to the EZ-B) and it’s very stable. In Client mode on my home router, with nothing else running, I get ~180-220 reads/sec with occasional dips to ~120.

The problem starts when I enable both the EZB Camera and the OpenAI ChatGPT skill. With the camera at 320x240, 10 fps, compression ~30, and ChatGPT connected (using TTS replies), Benchmark plunges to 20-60 reads/sec with periodic spikes down to near-zero and I’ll occasionally see a read timeout. During those dips, Roli’s Movement Panel control becomes laggy and audio stutters. CPU on the laptop is under 20% and ping to the EZ-B is usually 3-5 ms with rare spikes to 200 ms.

What I’ve tried:

  • Switched router channels between 1/6/11 and moved closer to the AP
  • Disabled other 2.4 GHz devices temporarily
  • Lowered camera to 160x120 at 5 fps (helps, but still dips when ChatGPT is active)
  • Used laptop on Ethernet with a separate 2.4 GHz USB Wi-Fi for the EZ-B (improved to ~280-300 reads/sec idle, but still big dips under load)
  • AP mode is great, but then ChatGPT can’t reach the internet unless I do some connection sharing gymnastics

Is this performance drop expected when camera streaming and TCP commands share the EZ-B v4 link, and what network topology or ARC settings would you recommend to keep Benchmark above ~200 reads/sec while using both the Camera and OpenAI ChatGPT at the same time?



Related Hardware (view all EZB hardware)
Roli Rover by EZ-Robot
Roli WiFi planetary rover kit, customizable with 13 ez-bit ports for add-ons, built to traverse varied surfaces. Sold by EZ-Robot
Wi-Fi / USB
Servos 24
Camera
Audio
UART 3
I2C
ADC 8
Digital 24

Related Robot Skills (view all robot skills)
Camera Device by Synthiam
Use PC or robot cameras for vision tracking: color, QR, glyph, face, object, motion; record video/data, control servos and movement, run scripts
Debug by Synthiam
Central ARC debug window routing logs; shows UTC date/time, Windows/ARC/skill/hardware info, version/settings, with copy and clear.

ARC Pro

Upgrade to ARC Pro

Don't limit your robot's potential – subscribe to ARC Pro and transform it into a dynamic, intelligent machine.

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#1  

Yes - what you’re seeing is very typical when camera streaming + frequent EZ-B reads + cloud TTS/ChatGPT are all competing on the same ARC project path.

Why it happens

A few things are stacking up:

  • Benchmark / Read ADC is a frequent blocking read from the EZ-B
  • Camera streaming adds continuous bandwidth and processing overhead
  • ChatGPT + TTS adds network calls and audio playback work
  • On Wi-Fi, all of those share the same radio/network path and can create latency spikes
  • When latency spikes, Movement Panel feels laggy and audio stutters, which matches your symptoms

Even if CPU is low, the bottleneck is usually:

  • EZ-B communication latency
  • Wi-Fi contention
  • blocking reads/timeouts
  • camera/audio/network activity interfering with one another

What I’d recommend

1) Keep the camera resolution as low as practical

You already found this helps.

For conversational driving, I’d try:

  • 160x120
  • 5 fps
  • lowest acceptable compression
  • only enable tracking if you actually need it

ARC’s camera processing gets expensive fast. The Camera Device skill also notes that higher resolutions can heavily impact performance.

2) Don’t use Benchmark as a "live" performance metric while everything is active

Benchmark is useful for testing, but it itself contributes to traffic.
If you want to measure real performance under load, use it briefly before/after, not continuously.

3) Prefer a topology where the EZ-B has the cleanest Wi-Fi path possible

For your use case, the most stable setups are usually:

  • Laptop on Ethernet
  • EZ-B on a dedicated 2.4 GHz Wi-Fi network
  • No extra Wi-Fi client chatter on the robot network
  • If internet is needed, let the laptop do the internet side, not the EZ-B

Your idea of Ethernet on the laptop + separate 2.4 GHz USB Wi-Fi for the EZ-B is generally the right direction.

If AP mode is stable but internet access is the issue, a common approach is:

  • Use laptop Ethernet for internet
  • Use Wi-Fi adapter #1 for your home router
  • Use Wi-Fi adapter #2 or routing/ICS for the EZ-B link
  • Keep the EZ-B network isolated as much as possible from other traffic

4) Reduce how often scripts poll the EZ-B

If any scripts are reading ADC, ping sensors, or other ports too frequently, they can flood the communication channel.

The ARC performance guide calls out:

  • tight loops
  • flooded EZ-B communication
  • multiple skills querying the same port
  • slow sensor timeouts

If you have any custom scripts, make sure they include sleep() and aren’t hammering the same ports repeatedly.

Example:

while (true) {
  var adcVal = ADC.get(ADC0);
  print(adcVal);
  sleep(100);
}

5) Minimize overlapping reads

Make sure you don’t have:

  • a Benchmark skill
  • a Read ADC skill
  • a script polling ADC0
  • another skill using the same sensor/port

all at once unless you truly need them. Multiple consumers of the same port can absolutely lower throughput.

6) Consider splitting responsibilities

For a project like this, it can help to separate tasks:

  • EZ-B #1: movement + immediate control
  • EZ-B #2: camera or sensors, if applicable
  • Or keep camera on the laptop side and minimize robot-side polling

The goal is to avoid the robot’s primary control link doing everything at once.

About ChatGPT specifically

The ChatGPT skill itself usually isn’t the main problem - but the timing of requests, TTS playback, and any logic that waits on responses can increase lag when combined with camera activity.

If your ChatGPT replies trigger audio, that can further add perceived delay when the system is already under communication load.

Practical target

If your goal is above ~200 reads/sec while camera + ChatGPT are active, I’d aim for:

  • camera at 160x120
  • low fps
  • no extra polling scripts
  • no redundant skills reading the same ports
  • laptop on Ethernet
  • EZ-B on a dedicated Wi-Fi connection
  • avoid AP mode if it breaks your internet workflow, unless you can bridge/ICS cleanly

Quick diagnostic question

Can you tell me:

  1. Are you using any scripts that poll ADC0 or movement continuously?
  2. Is the Camera skill just streaming, or is it also doing tracking?
  3. Does ChatGPT speak through PC TTS or the EZ-B audio?
  4. Roughly how many ARC skills are active when the slowdown happens?

If you want, I can help you design the best ARC topology for conversational driving so ChatGPT, camera, and movement all coexist more smoothly.

I am a customer support AI and still learning. Please verify important answers in our support documentation. For advanced AI features, use the AI Script Agent built into ARC.