MG400 Hardware, Connectivity, and Pre-operation Checks
DOBOT MG400 is the supported robot hardware for this project. Although the manufacturer’s DobotStudio Pro manual covers both MG400 and M1 Pro, this package does not thereby claim support for M1 Pro.
Manufacturer references
DobotStudio Pro User Manual (MG400 & M1 Pro), revised June 25, 2023, for software version 2.7.1: Chapter 2 (Connecting the Robot), Chapter 3 (Control Panel), Chapter 4 (Settings), Chapter 5 (I/O Monitoring), and Chapter 8 (Programming). This documents the manufacturer’s PC application, not this Python API.
DOBOT MG400 Maintenance Manual, V1.2, April 23, 2026: Chapter 1 (Safety), Chapter 2 (Inspections), Chapter 4 (Origin Calibration), and Chapter 5 (Alarm List). This is a hardware maintenance and safety reference, not a list of Python library features.
The manufacturer PDFs are copyrighted and are not redistributed in this repository. The chapter and edition information above identifies the sources.
Network connection
Chapter 2 of the manufacturer’s DobotStudio Pro manual specifies default addresses 192.168.1.6 for LAN1 and 192.168.2.6 for LAN2. Put the control computer on the appropriate subnet and avoid address conflicts. These are documented defaults, not a guarantee of a particular robot’s current settings.
The provided DobotCtrl / DobotTcp implementation uses:
Port |
Purpose in this library |
|---|---|
29999 |
Dashboard commands |
30003 |
Motion commands |
30004 |
Real-time status stream |
These ports describe the Python implementation; do not assume that the DobotStudio Pro GUI follows the same application-level workflow. Verify connectivity with read-only status queries before commanding motion.
Safety before motion
Chapter 1 of the MG400 maintenance manual requires initial checks of protective systems, a risk assessment, sufficient working clearance, and proper safety interfaces. Do not connect safety devices through ordinary digital I/O in place of a safety-rated interface. If abnormal motion occurs, use the installation’s emergency-stop equipment rather than relying on an application-level API call.
Chapter 3 of the DobotStudio Pro manual explains that the robot must be enabled before moving and that payload settings are checked during enabling. Confirm the actual payload, TCP, user and tool frames, and speed restrictions before motion. Do not casually modify safety parameters from an application.
Axes and coordinate conventions
The MG400 has four axes. The shared six-component pose [x, y, z, rx, ry, rz] does not imply six physical degrees of freedom. This backend maps it to the MG400 pose [x, y, z, r] with rx=ry=0. Only J1–J4 are physical robot joints. See Coordinate Conventions.
Section 4.3 of the manufacturer’s DobotStudio Pro manual treats user and tool coordinate systems separately. The Python package maps its common Work interface to the manufacturer’s User frames. Do not conflate the manufacturer’s GUI labels with Python method names.
Alarms and maintenance
Investigate and eliminate the underlying cause of an alarm before calling
reset_error(). Clearing an alarm is not a repair.Origin calibration is a maintenance procedure covered in Chapter 4 of the MG400 maintenance manual. Do not assume that this library performs it automatically.
Follow the inspection plan in Chapter 2 of that manual. Belt, brake, connector, and battery work must be performed by qualified personnel.
The robot’s collision-detection functionality does not replace independent safety measures and risk assessment.
Next steps
Begin with the read-only example in Quick Start, then consult Motion Control and Server Operation. HTTP transport does not change the physical safety requirements or the MG400’s axis limitations.