Asked
I'm experiencing an intermittent issue with ARC where two out of my three EZ-B controllers lose their connection.
- I'm using direct USB connections from the computer's USB port through USB-to-serial converter cables connected to the EZ-B's camera ports.
- At startup, ARC connects to the two EZ-Bs using an initialization script. The EZ-B controllers connect properly to ARC, and commands can be sent without issue.
- Randomly, connections 0 and 2 will disconnect from the computer. This could happen to either connection or both, but at different times. It seems they don't disconnect simultaneously.
- The disconnections can occur within a few minutes of a successful ARC startup and initial connection to the EZ-Bs or after ARC has been running for an extended period.
- It doesn't seem to matter if data is actively being sent through the serial connection or not. Disconnects occur whether ARC is idle or executing commands from scripts.
- The EZ-B controllers do not lock up. I can simply click the reconnect button in the Connection Control within the Connection Skill, and the connection is reestablished between ARC and the EZ-B.
I'm seeking advice on what might be causing these disconnects and how to resolve the issue.
Could Windows 11 be interfering with the COM ports or doing something in the operating system that would cause these disconnects? Might electromagnetic fields (EMF) from nearby power cables induce such disconnections in the serial converter cables?
Thanks in advance for any suggestions.
Related Hardware EZ-B v4
Related Controls
Notepad
Connection Diagnostic

@DJ, so obvious, so brilliant. LOL, Thanks!
Below is some information and a couple of options you might consider so you don’t have to scroll through the Script Manager window to review connection events.
Option 1: Log Events to a Notepad Skill
If you want ARC to permanently keep a record of disconnects (including the time each occurred), one approach is to use the Notepad skill as your log file. You can update the Notepad with a new line each time a disconnect is detected. For example, in your JavaScript you can do something like this:
This function uses the current date/time to create a timestamp and then sends an "AppendText" command to your Notepad skill, which you can think of as your live log file. (Note: how Notepad accepts commands might vary by your ARC configuration; please adjust the ControlCommand parameters as needed.)
Option 2: Write to a File Using JavaScript (Advanced)
The ARC JavaScript environment is a protected scripting environment so it typically does not allow full file I/O access as in Node.js. If you need to write directly to a file on your computer, you would have to examine ARC’s documentation or use a custom robot skill that exposes file writing functionality.
For instance, if you create a custom skill (learn more here: Create Robot Skill), you might expose a command that writes text to a file. Then your script could call that ControlCommand with the proper parameters to log the event. This advanced method requires additional development but it offers a more permanent log saved on the hard drive.
Additional Tips
Print Only on Errors: DJ_Sures suggested and you agreed-only print/log events when a disconnect is detected instead of printing a message for every successful connection. This will reduce noise in your logs.
Timestamp Inclusion: As in the example above, always include a timestamp so you can see exactly when each disconnect or reconnect occurred.
Review ARC Logging Settings: ARC itself does create an event log that might be accessible from the system. You could check ARC’s documentation or settings (via Synthiam’s website at ARC Downloads) to see if there is an option to persistently save these logs aside from what your scripts print.
Let me know if you need further clarification on these options or help fine-tuning your script!
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.
Update:
I've installed a powered USB hub (3.0 Hub). I still am experiencing Com Ports 0 and 2 disconnecting. Mainly Com Port 0 and on occasion Com Port 2.
Com Port 1 seems very stable and I've never had an issue with it disconnecting.
While looking over ARC's Connection Skill's settings window under the COM/USB Connections tab I noticed that I have the RTS Enabled checked. @Athena (or anyone else), could this cause my issue?
Nice troubleshooting so far, Dave - you’re on the right track. Short answer: yes, RTS can cause problems in some setups, but it’s not usually the root cause of random COM disconnects. Here’s what RTS does, why it might affect your EZ-B connections, and a prioritized checklist of tests/fixes to find the real cause.
What RTS/DTR do and how they can affect devices
Practical tests (in order - quick to try first)
Disable RTS (and DTR if enabled) for the problematic connection(s)
Test direct PC connection (bypass hub)
Try different USB port(s) on the PC
Replace the USB-serial adapter or cable (swap with COM 1 adapter)
Drivers and Windows power settings
Check Windows Event Viewer
Use Connection Diagnostic and logs
Check EZ-B firmware, port wiring, and power on the EZ-B
Other suggestions and final checks
Quick recommended first steps for you right now
Would you like me to
Tell me which adapter models you’re using for COM0/1/2 (FTDI, Prolific, CH340, or built-in) and whether the adapters are identical - I’ll tailor the next troubleshooting 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.
I unchecked the RTS option with no improvement. More troubleshooting today.
Nice progress, Dave - good work ruling out RTS so far. Below I’ll give a prioritized troubleshooting checklist you can run through next, plus two ready-to-use JavaScript logging scripts you can drop into your Script Manager to permanently log disconnects (one appends to the Notepad skill, the other writes to a CSV-style file using an ARC-friendly approach). I’ll also list the data I need from you to make the scripts match your exact ControlCommand syntax.
Troubleshooting checklist (prioritized)
Swap adapters/cables (quick, high value)
Direct-to-PC test (bypass hub)
Replace the cable temporarily
Power & EZ-B supply
Windows power settings & drivers
Device Manager / Event Viewer
Connection Diagnostic + ARC status logs
EMI / cable routing & USB 3 interference
EZ-B camera port usage caution
Long-run bench test
Helpful links
Logging options (recommended)
Script A - Append to Notepad (recommended, easiest)
Notes for Script A:
Script B - Write to a CSV file (requires file-write support)
If you’d like, I can provide a small FileWriter robot skill template and step-by-step instructions to add it to ARC (Create robot skill -> add a simple file-write action). Creating that skill requires a bit more setup but gives you permanent files on disk.
What I need from you to customize things
If you want, I can:
Next recommended action right now
Want me to provide the exact ControlCommand lines for your project? Paste one example ControlCommand from one of your working scripts and I’ll make the logging script match it exactly.
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.