Asked
I have recently purchased some heavy-duty robots capable of handling a payload of approximately 50 pounds. I am interested in connecting these robots to Synthiam ARC software for enhanced control and programming capabilities. Could someone guide me on how to establish this connection? What hardware and interfaces are required to successfully integrate these robots with ARC?
Related Hardware (view all EZB hardware)
Arduino Leonardo
by Arduino
Connect Synthiam ARC to Arduino Leonardo via USB using EZB firmware to control GPIO, PWM, servos, and ADC; enable DTR in ARC connection.
USB
Servos
12
Camera
Audio
UART
Varies
I2C
ADC
Varies
Digital
Varies
Related Robot Skills (view all robot skills)
TCP Script Server Raw
by Synthiam
TCP server for ARC accepting EZ-Script, JavaScript or Python commands, letting controllers send commands and receive line-terminated responses
Requires ARC
v8
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

You’re heading down a path that may lead to frustration. Working with proprietary hardware is incredibly challenging without knowledge of reverse engineering. Many automation manufacturers don’t want their hardware to be controlled by anything other than their own software, thereby locking customers into their ecosystem.
This is because it’s easier to copy hardware than to reproduce software. China can reproduce any hardware because, at the end of the day, they’re the manufacturers of it anyway. Or at least, they make the components.
So to protect themselves, big names in automation lock you in.
That doesn’t mean there isn’t information out there from others who have reverse-engineered your hardware.
This thread/question would benefit from including information about the products. Athena, I, or anyone can’t provide answers or direction because it’s a guessing game at this stage without knowing what products you're using. What hardware? What product model numbers? What protocols? What software is being replaced? Etc etc
I also didn’t understand the original question, so Athena took my guidance - interpreting that you wanted ARC instances to talk to each other. I’m going to remove the past comments because this has become a very confusing thread. What you’re asking is how to directly connect ARC to a proprietary robot hardware, correct? I edited the original question to make it easier to understand.
I’ll remove the questions about asking Athena to show you a communication example using Print() doesnt relate to each other. Print() is used to print out text to the console. To communicate with something other than a console, you’d use UDP, HTTP, com, uart, etc commands. But on top of that, you’d need to assemble the protocol packets for communication with those commands.
All the unknowns are
You might also find that their software has an api or SDK if you’re lucky! But it’s impossible to know without any information about what you’re working with.
Below is some guidance on how to approach integrating your heavyduty robots with Synthiam ARC:
1. Define the Communication Interfaces
Since your robot is built around an Arduino Leonardo with EZB Firmware, the default communication methods available in ARC are:
USB (serial over USB):
This is used by ARC to communicate with your EZB firmware. You can use the Serial Terminal (PC) robot skill to send and receive data or the TCP Script Server Raw if you prefer a network approach.
Digital/Analog I/O:
ARC controls servos and reads sensors via the digital ports (d0-d23) or ADC ports (ADC0-ADC7) on the EZB. For heavy-duty actuators or relays that handle higher power, you will likely need additional motor controllers or drivers with proper interfacing hardware.
Before you begin, consider questions such as:
What communication ports do your heavy-duty controllers offer? (USB, RS-232, RS-485, Ethernet, etc.)
What protocols are used by your proprietary hardware (if available)?
How does the manufacturer specify interfacing with their controllers?
2. Hardware Interfaces and Controllers
For a smooth integration with ARC, the following hardware components are generally required:
EZ-B Controller or Compatible Microcontroller:
Your Arduino Leonardo running EZB Firmware is one option. If you need more robust I/O or industrial-grade connections, you might consider using an EZ-B-compatible controller that is rated for heavier loads.
Motor Drivers/Controllers:
Heavy-duty robots typically require motor drivers that handle high current loads. These drivers must interface with your controller (Arduino/other microcontroller) via digital signals, PWM outputs, or even serial/ethernet commands.
Communication Converters (if needed):
If your heavy-duty robot controllers use another interface (e.g., RS-232 or RS-485), you might need USB-to-serial converters or dedicated interface boards. ARC’s Serial Terminal skill can then communicate via the appropriate COM port on your PC.
Power and Signal Isolation:
For robots carrying payloads around 50 pounds, ensuring the proper power supply, isolation of signals, and using industrial-grade connectors becomes crucial for reliability and safety.
3. Configuring ARC to Communicate with Your Robot
When integrating the hardware:
Set Up the Connection in ARC:
Utilize Synthiam’s Scripting Capabilities:
Develop a Custom robot skill (if required):
If the robot’s interface isn’t fully supported by the existing skills, consider creating a custom robot skill. Use our step-by-step guide on creating custom robot skills here:
Create a Custom Robot Skill.
4. Gathering Additional Information
Since heavy-duty and proprietary robots may have unique requirements, consider these questions:
The answers to these questions will help clarify whether you can directly interface ARC with the controllers or if you need a custom intermediary (or even reverse engineering of the protocol).
5. Next Steps
Make a list of all interfaces, ports, and communication protocols available on your heavy-duty robots.
Use the Serial Terminal or TCP Script Server skills to send simple commands to the robot’s interface and monitor the responses.
Once you have established basic communication, write custom scripts or robot skills to achieve the control you need.
The DIY Robot Tutorial provides useful insights into connecting and controlling various custom robots with ARC.
In Summary
Integrating heavy-duty robots with ARC involves ensuring that your controller (Arduino Leonardo with EZB Firmware) can communicate with the robot’s actuators and sensors using a supported interface (USB/serial or TCP/IP). You’ll need to verify the communication hardware (motor drivers, interface converters, power supplies) and determine whether the proprietary system can be interfaced directly or whether customization (or reverse engineering) is necessary.
Could you provide more details on:
This information will help narrow down the best integration approach using Synthiam ARC. If you have more questions or need further clarification about a particular step, feel free to ask!
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.
Hi there again DJ, didn't realize you responded a while ago-usually it notifies me. Yes I see what you are talking about with them basically keeping their software in house. I have recently figured a way to integrate the two with the use of switches 5 switches produces 32 inputs after I write the code on their robot to analyze the switches. It's not as good as really communicating through typical means but it's a start. I did receive some feedback from your staff but it never continued on. I did recently receive another patent for flood proofing structures. It may change some people's lives. Will keep working your ARC with the real robot. So far I've been able to weld, plasma cut, wood route, drill in steel, cut with circular saw stair stringers and many many other things. It's going to be cool to ask it to pick up bin 15 and drop off at bin 3--- with voice recognition and mm precision.
Great progress - nice work getting physical I/O working as a fallback. That’s a pragmatic and often reliable way to start when a direct protocol/API isn’t available. Below I’ll give practical next steps, safety notes, and an example of how to wire that 5-switch scheme into ARC so you can map "bin 15 bin 3" style commands, plus suggestions to increase precision and reliability as you move forward.
Key questions (so I can tailor next advice)
Immediate ARC integration using 5-switch (5-bit) input If your Arduino Leonardo (with EZB firmware) can read the 5 switches on digital pins d0..d4, you can poll them in an ARC script, decode the 5-bit number (0-31) and map that to actions (move to bin X, pick, place, etc.). Below are the important points and a JavaScript example to get you started.
Hardware notes
ARC workflow (high-level)
JavaScript example (poll switches d0..d4, decode, map to action)
Notes about the sample:
Options if the switches are on the proprietary robot controller
Improving reliability & precision (moving beyond switches)
How to create a robot skill / hook custom mapping
Safety suggestions
Next steps I can help with
This is a solid start - once you get repeatable state detection from the switches, we can extend to closed-loop position or vision-based precision so the robot can reliably pick bin 15 and place to bin 3 with mm precision. Want me to prepare a ControlCommand example that calls a Movement/Arm skill for a 3-step pick/place routine?
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.
@Athena The model of robot is a Borunte BRTIRUS1820A and has the ability to use Modbus TCP. You may be able to look into the Borunte brand and see other types of communications that may be better suited for it. Does ARC have the ability to communicate with it?
Short answer: Yes - ARC can work with a Borunte BRTIRUS1820A that supports Modbus TCP. You have two practical, reliable integration approaches depending on how much you want ARC to speak Modbus directly vs. using a small "gateway" program or microcontroller.
Below I’ll outline the options, show a recommended approach (HTTP-to-Modbus gateway using Python) with code you can run on the same PC as ARC, explain how to call it from ARC, and list next steps and safety notes.
Direct in-ARC (if a Modbus robot skill/plugin exists)
Recommended: Small gateway service (HTTP or TCP) + Modbus client
Python gateway (example)
Would you like:
Tell me the register map or just the key registers (target bin register, start command coil/register, status register) and I’ll prepare a tailored gateway + the exact ARC script to control it.
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.