Can I Use a Douloi Device as an EZ-B Controller for Inverse Kinematics in ARC?
I would like to know if the Synthiam ARC platform can support the use of Douloi devices as replacements for EZ-B controllers in an inverse kinematics setup. I have developed an industrial robot, as depicted in the provided images, utilizing two Douloi units connected through a fiber optic card to a Windows 486 desktop computer. This computer is presently running custom software developed in Pascal to manage the robot and log its movement paths.
I am considering migrating the robot control to Synthiam ARC, using the two Douloi units as my EZ-B controllers. Can ARC accommodate this configuration, and if so, what would I need to do to integrate these components effectively?
![Industrial Robot]


You don't use a motor controller as an EZB; you use a microcontroller as an EZB. Step #3 in the getting-started guide explains what an EZB is, which will be helpful to understand the difference. Think of an EZB as a tiny remote computer that can read and write to hardware. Think of it this way: You can connect a motor controller to an EZB (if the hardware is compatible).
You can connect any motor controller to your EZB or the PC based on the connection type. If it's USB, it's connecting to your PC. If it's UART, you can optionally connect it to an EZB. However, it's impossible to advise you on either option without knowing your hardware configuration and robot. The getting-started guide has excellent information that helps you create a template for your robot. You can get to step #1 here: https://synthiam.com/Support/Get-Started/how-to-make-a-robot/make-a-diy-robot
Inverse kinematics does not care what kind of controller, servo, or anything. It's agnostic because all it needs is to know the position of each angle. Whatever option you choose needs to have internal positioning measurements. You can read about the Inverse Kinematics robot skill here: https://synthiam.com/Support/Skills/Servo/Inverse-Kinematic-Arm?id=21839
In the case of the controller, you will use the manual to have commands sent to it, since it's not a commonly used piece of hardware. Locate the manual, open it on your PC, and look for the commands to instruct the position movements. Based on the communication type, I recommend using the Script servo robot skill. Essentially, this converts anything that you can communicate that contains positioning into a servo in ARC: https://synthiam.com/Support/Skills/Scripting/Servo-Script?id=19068
Below is some information to help clarify your situation:
EZ-B vs. Motor Controller:
An EZ-B is not simply a motor controller-you need a microcontroller that can read sensors and write commands to hardware. As DJ_Sures pointed out, you don’t use a motor controller as an EZ-B. Instead, the EZ-B is a tiny remote computer that acts as an interface between your PC (running ARC) and the various hardware components in your robot.
Douloi Devices:
The Douloi units you currently use are motor controllers. They lack the built-in capabilities (such as internal positioning measurement, servo-specific commands, and real-time I/O) that an EZ-B provides. The Inverse Kinematics robot skill in ARC only cares about knowing the joint angles (or positions) for each servo-it is agnostic as to how those values are provided. However, it requires that the device controlling the servos (or the equivalent motor) has internal position measurements and a means for sending position commands.
Integrating Douloi with ARC:
If you want to switch over to Synthiam ARC for your industrial robot, you have a couple of options: - Replace or Augment with an EZ-B:
The simplest route is to migrate the control hardware to an EZ-B (or EZ-B-compatible microcontroller). This allows you to use the ARC robot skills directly (e.g., the servo Script and Inverse Kinematics Arm) and ensures that servo or joint positioning information is available. - Using a Motor Controller with Position Feedback:
If you wish to keep the Douloi devices, your system must supply accurate and real-time position feedback. In this configuration, you’d need to implement the necessary command set (as defined by the Douloi’s manual) and map these commands to what ARC expects for servo positioning. In ARC, you can use the Script servo robot skill to convert any positioning data into an ARC servo control. This approach is more custom and would require you to develop a bridge between your robot’s internal positioning commands (via the Douloi) and ARC’s interface.
Steps to Proceed:
1. Review Your Hardware Capabilities:
Check if your Douloi devices provide internal measurements (or can be retrofitted for feedback) similar to an EZ-B’s servo control commands.
2. Check the Documentation:
Locate the Douloi manual and investigate which commands are available for position movement. These would need to be triggered by ARC panels or scripts.
3. Implement a Command Bridge:
Using the Script servo robot skill (https://synthiam.com/Support/Skills/Scripting/Servo-Script?id=19068), you could potentially translate your Douloi command set into the positioning and speed commands that ARC expects.
4. Test Thoroughly:
Inverse kinematics doesn’t care which controller is used-it just needs accurate joint position readings. Ensure that whichever method you choose provides those reliably.
Getting Started Resource:
For more detail on EZ-B hardware and building your robot template, review Synthiam’s getting-started guide here:
How to Make a DIY Robot
Feel free to ask follow-up questions if you need further clarification or additional help with your configuration!
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.
Thanks for the guidance, I will have to dig into the Douloi and the motor drives and encoders and the software. Still trying to get my head wrapped around this system. It have read through the guide and dug deep into the links. Need to research more of the tutorials.
It was a bit difficult finding some information about that Douloi, as their website doesn't have much detail. However, I found a website with a manual for Windows 3.1 from the mid-1990s for the product. The PDF manual that I saw mentioned that there is a DLL distributed with their application. The DLL has entry points that match the procedure names of their custom Pascal interpreter. While the files are unavailable, I guess the DLL is 16-bit because it's for Windows 3.1. That means a 16-bit DLL will not be compatible with current operating systems 30 years later.
Your best bet is not to attempt to reverse engineer the protocol or DLL. But instead, look at the software on the ancient 486 computer to see if there's a way you can use the computer as a proxy between newer ARC hardware. For example, if you could have the 486 connect to your newer laptop with a serial cable, you could send commands from the newer computer to the 486 dinosaur. That way, on the 486, you could have a program that listens to commands from the COM serial port and executes them against the Douloi hardware.
Or, you can contact the manufacturer, who appears to still have a website, albeit quite outdated. If they are still in business, they might be able to provide you with more information on how to use their device on hardware that's newer than a 486.
I have tried to reach the Douloi manufacturer with our success yet. I was also thinking of the same thing to see if we can communicate with the old 486.
Or what if I just by pass the old 486 and douloi? What would be the best hardware for the EZ-B to connect to the motor drives, encoders, etc?
I know very little about Inverse Kinematics and how to control that movement. However I've done a ton of work with controlling speed and position of motors that are monitored by encoders or potentiometers. There are a few nice motors controllers that work well for this but my favorite has been the Sabertooth motor controller with a Kangaroo daughterboard attached. The Kangaroo give the Sabertooth Speed and position control. I'll post a video below that @DJ did a few years ago showing this system.
These controllers are made by Dimension Engineering and can be bought directly from them or from a online store called The Robot Shop.
https://www.dimensionengineering.com/
https://www.robotshop.com/search?q=dimension%20engineering
Look at the manuals of operation for these devices on the Dimension Engineering website for more info on how they operate and see if they will work for your rig.
I don't know if these controllers will work with your setup. It sounds like you have a closed loop system that uses encoders for position so it may. At the very least this info may get you pointed in the right direction.
Good luck and have fun!
Dave’s suggestion is good if the hardware supports the kangaroo. The kangaroo can convert any motorized mechanism that has positioning feedback into a servo mechanism.
Inverse kinematics may be a complicated algorithm internally, but it’s really easy to use. All it needs is to use any mechanism with positioning feedback.
if you bypass the controller, you’ll need to understand what the motors and positioning sensors are. Easiest way forward is connect them to a kangaroo/saber tooth combo.
what kind of motors and positioning sensors are used?
First off thanks to everyone!! As you say I built this 30 years ago and have to take it out of storage which I will do today. I know I am powering it with 240v at 50 amps. AC. It is very powerful. I can't remember if the six motors are AC servos or DC servos. Most likely AC. I will get all the specs off it this afternoon. Hope you stay with me, the club kids really want to make this happen!!! Our goal is to build robots that pay for themselves and 4 times all adult income by building robots to work for them as the adults become robot managers.