MG400 and TCP/IP


after the API for the MG400 is no longer supported, I am now trying to program the Dobot-Arm MG400 via the TCP-IP protocol. The firmware is already installed. I hope you can help me with the following problems:

IP: Port: 29999 (dashboard port)
The commands: “EnableRobot, DisableRobot, ClearError, ResetRobot, SpeedFactor, User, Tool” work perfectly.
The command: “RobotMode” only returns the echo and not the mode of robot.
The command: “RunScript” only works if the script editor with the script to be started is open in DobotSCStudio.

IP: Port: 30003 (feedback port)
The 1440 bytes packet can only be evaluated up to byte position 31, the other values such as position are not representative. I read the 1440 bytes packet every 20ms, but the state of the digital inputs (for example) is only updated after about 2 to 5 seconds.
The commands: “MovJ and MovL” work perfectly but i can’t get the command for a circle to work. What is meant by: “This command needs to combine with other motion commands.”?

Greetings from Hannover in Germany


I’m also trying to do this and having issues.
I’ve also updated the firmware to
However, whilst EnableRobot, DisableRobot and ClearError work for me, the User and Tool commands do not. The response comes back indicating success but the changes haven’t actually worked. I can only change the User/Tool via the DobotStudio2020 gui.

Also, the previous API provided the types of alarm that were generated, this new api doesn’t seem to do that. Is there a way to get the alarm code and associated alarm text?

For the 1440 byte response, I’m able to see values beyond byte 31. The documentation has some of the types wrong, e.g. the RobotMode should be an unsigned Long not a double. I’ve not checked all of them but the “Tool Vector Actual” isn’t correct, it is showing zero for Z and the Y is showing what should be Z. “Tool Vector Target” does appear to be ok.

For now the old API seems to be still working in parallel, so I’ve had to mix the two solutions.


Ditto the above - the tool Tool Vector Actual bytes are not correct and do not reflect the actual position. Tool Vector Target is ok. Please advise on a timeline to fix.


Is there any update on this?
Also, with the update I can no longer change the user Cartesian coordinates frame on the old API and the new API doesn’t appear to provide the option at all. How is that supposed to be done now? It’s quite an important feature.


Exactly, good question. Unfortunately the new firmware doesn’t seem to be ready yet. When can I expect a correction? Unfortunately, I can’t work with the robot arm like this.


New controller version ( stable) has been released, can be downloaded at

MG400 Alarm code via TCP-IP

This link is not valid anymore.
Can I try lastest version?
I now use, but can’t connect after about 1000 times connecting.
And where is official firmware download page?


Hello, I re-uploaded the firmware, please download it


Hi all,

I believe that RobotMode() still not working even with Firmware version I am getting values like 53, 48, 52 instead of the range -1 ~ 9 ? Any idea what could be the reason ?

Thanks and regards
Hosam Elkoulak


Dear Hosam

Please provide a screenshot of the error

We use the port debugging assistant to test and there is no problem.

Best regards


Has Runscript command been solved or not?
How to resolve this problem?