References: §8 Control, Communication and Programming Interfaces

Back to §8 Control, Communication and Programming Interfaces

Provenance

References · 110

Each number in the text points here. Every entry states its confidence class in words and keeps its evidence one click away. How to read the labels.

Key to the badges
Confidence: Verified
A manufacturer or IntelliMake document says so, or it was observed directly. It does not mean anyone measured it at S6.
Confidence: Inferred
Reasoned from Verified facts. The reasoning is printed with the record.
Confidence: Assumed
Plausible but untested. The record says how it would be checked.
Kind: Gap
Not known. No figure or answer is given in its place.
Kind: Contradiction
Sources disagree. Both sides are shown, and the site does not pick one silently.
Kind: Recommendation
Project advice drawn from the records it cites. Not a fact about the machine and not a confidence class, so the filter never hides it.
Awaiting cell access
Awaiting cell access: could be confirmed or corrected once the physical S6 cell can be observed.
This project's simulation and agent design, not the physical cell
This project's simulation and agent design, not the physical cell.
  1. Confidence: Verifiediface-501

    The record says

    UFACTORY's common specifications for the xArm 5, 6 and 7 list four programming routes: UFACTORY Studio, Python, C++ and ROS.

    Evidence · 2 citations

    8.1 xArm5/xArm6/xArm7 Common Specifications

    UFACTORY xArm Hardware Manual (online), 8. Technical Specifications · UFACTORY · Section heading

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-15

    Programming | UFACTORY Studio, Python/C++/ROS

    UFACTORY xArm Hardware Manual (online), 8. Technical Specifications · UFACTORY · 8.1 table, 'Programming' row

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-15

  2. Confidence: Verifiediface-535

    The record says

    The xArm 5/6/7 AC and DC control boxes each have 8 configurable digital inputs (CI) and 8 general digital inputs (DI), 8 configurable (CO) and 8 general (DO) digital outputs, 2 analog inputs, 2 analog outputs and 1 RS-485 master port.

    Evidence · 3 citations

    8.1 xArm5/xArm6/xArm7 Common Specifications

    UFACTORY xArm Hardware Manual (online), 8. Technical Specifications · UFACTORY · Section heading

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-15

    I/O Interface | 8×CI+8×DI(Digital In) 8×CO+8×DO(Digital Out)

    UFACTORY xArm Hardware Manual (online), 8. Technical Specifications · UFACTORY · 8.1 controller table, 'I/O Interface' row (AC and DC columns identical)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-15

    2×AI(Analog In) 2×AO(Analog Out) 1×RS-485 Master

    UFACTORY xArm Hardware Manual (online), 8. Technical Specifications · UFACTORY · 8.1 controller table, 'I/O Interface' row

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-15

  3. Confidence: Verifiediface-547

    The record says

    The xArm manual says digital I/O can be used to communicate with other machines or PLCs if a common GND (0 V) is established and the machine uses open-drain outputs. An I/O cable from the control box to other equipment must not exceed 30 m unless extension testing shows it works.

    Evidence · 2 citations

    If general GND (0V) is established and the machine uses open-drain output technology, digital I/O and other can be used device communication

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.2.3 Communicate with other Machines or PLCs (chapter text is not split by model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    The length of the I/O cable that used to connect the Control Box with other mechanical and plant equipment must not exceed 30 meters unless it is feasible after the extension testing.

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.1 Electrical Alarms and Cautions

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  4. Confidence: VerifiedAwaiting cell accessops-712

    The record says

    Asked whether the lab opens UFACTORY Studio in a web browser or with the desktop app, the answer given on 2026-10-23 was the desktop app, and that learners should download it.

    Awaiting cell access: this could be confirmed or corrected once the physical S6 cell can be observed.

    Reasoning: Verified as a dated report of how Studio is opened in the lab, as of 2026-10-23 and no further. The question was about the lab, where the xArm 6 is operated from Studio (int-089); the answer names no arm. It names no Studio version and no computer, and no inspection is recorded. It says that the lab uses the desktop app and that learners should download it; it says nothing about whether the browser route UFACTORY's Studio manual describes works.

    Evidence · 1 citation

    2 desktop app, so they should download it if that was not explicitily said

    Owner statements from 2026-09-24 onward (verbatim; S40 and later) · Derek Stringfellow · Statement S244 (2026-10-23), answer 2, to whether the lab opens UFACTORY Studio in a browser or with the desktop app

    Derek Stringfellow, project record · Project-internal record · retrieved 2026-10-04

  5. Confidence: Verifiedres-539

    The record says

    UFACTORY's UFACTORY Studio page offers the Studio app as downloads for Windows, macOS and Linux. Suits beginners and novices.

    Evidence · 1 citation

    Download
    Windows
    Download
    MacOS
    Download
    Linux

    UFACTORY Studio product and download page · UFACTORY · Download buttons (read 2026-10-23)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  6. Confidence: Verifiediface-504

    The record says

    UFACTORY Studio is reached through a web browser without installing any software; the manual lists Chrome, Firefox, Safari and Chromium-based Microsoft Edge as compatible.

    Evidence · 1 citation

    UFACTORY Studio can be accessed through a browser directly without installing any software. Now it's compatible with browsers: Google Chrome/ Firefox/ Safari/ Microsoft Edge(Chromium kernel).

    UFACTORY Studio User Manual (online), 1. Preface · UFACTORY · 1. Preface, second paragraph

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  7. Confidence: Verifiedint-089

    The record says

    UFACTORY Studio is currently understood to be the primary means of operating the cell's arms manually.

    Evidence · 1 citation

    The UFACTORY Studio is currently what is understood to be the primary means of manual operations

    Owner statements from 2026-09-24 onward (verbatim; S40 and later) · Derek Stringfellow · Statement S145 (2026-10-07)

    Derek Stringfellow, project record · Project-internal record · retrieved 2026-10-04

  8. Confidence: Verifiediface-536

    The record says

    The xArm manual says the control box I/O can be used with many devices, including pneumatic relays, PLCs and emergency stop buttons, and that all I/O must comply with its electrical specifications.

    Evidence · 2 citations

    The I/Os are extremely flexible and can be used in many different devices, including pneumatic relays, PLCs, and emergency stop buttons.

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4 Controller Electrical IO (chapter text is not split by model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    All the I/O must comply with the specifications.

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4 Controller Electrical IO

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  9. Confidence: Verifiediface-522

    The record says

    UFACTORY's common specifications for the xArm 5, 6 and 7 give the arm's communication protocol as 'Private TCP(custom)', and both the AC and DC control boxes communicate over Ethernet.

    Evidence · 3 citations

    8.1 xArm5/xArm6/xArm7 Common Specifications

    UFACTORY xArm Hardware Manual (online), 8. Technical Specifications · UFACTORY · Section heading

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-15

    Robotic Arm Communication Protocol | Private TCP(custom)

    UFACTORY xArm Hardware Manual (online), 8. Technical Specifications · UFACTORY · 8.1 table, 'Robotic Arm Communication Protocol' row

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-15

    Communication Method | Ethernet | Ethernet

    UFACTORY xArm Hardware Manual (online), 8. Technical Specifications · UFACTORY · 8.1 controller table, 'Communication Method' row

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-15

  10. Confidence: Verifiedcomp-711

    The record says

    TCP stands for Tool Center Point. With no TCP offset set, the default tool coordinate system sits at the flange center; a TCP offset, in mm, moves it to the actual tool point.

    Evidence · 3 citations

    TCP: Tool Center Point.

    UFACTORY Studio User Manual (online), 2. Glossary · UFACTORY · Glossary, 'TCP' (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    If the TCP offset is not set, the default tool coordinate system is located at flange center.

    UFACTORY Studio User Manual (online), 2. Glossary · UFACTORY · Glossary, 'Tool Coordinate System'

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Set the relative offset between the default tool coordinate system at flange center and the actual tool coordinate system, with distance unit of mm.

    UFACTORY Studio User Manual (online), 2. Glossary · UFACTORY · Glossary, 'TCP Offset'

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  11. Confidence: Verifiedint-009

    The record says

    S6 is a UFactory xArm 6 cobot that handles parts after processing, routing them to inspection, rework or shipping.

    Evidence · 1 citation

    Handles parts after proces. routing them to inspection, rework, or shipping.

    IntelliMake Phase 1 Factory: Autonomous Production Demonstrator (infographic) · IntelliMake.org · S6 station label and description

    © IntelliMake.org. Used with permission; redrawn for this platform. · Cleared for use by its owner · retrieved 2026-09-21

  12. Confidence: Verifiediface-502

    The record says

    The UFACTORY Studio user manual lists the xArm 6 among the models it applies to.

    Evidence · 1 citation

    Apply to model: xArm5, xArm6, xArm7, UFACTORY 850, Lite6.

    UFACTORY Studio User Manual (online), 1. Preface · UFACTORY · 1. Preface, 'Apply to model'

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  13. Confidence: Verifiediface-503

    The record says

    UFACTORY Studio is a graphical application for controlling the robotic arm: with it a user can set parameters, move the arm in Live Control, and build a motion trajectory by dragging and dropping Blockly code blocks.

    Evidence · 2 citations

    UFACTORY Studio is a graphical user application for controlling the robotic arm.

    UFACTORY Studio User Manual (online), 1. Preface · UFACTORY · 1. Preface, first paragraph

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    With this application, you can set parameters, move the robotic arm in Live control, and create a motion trajectory by simply drag and drop the code blocks of Blockly.

    UFACTORY Studio User Manual (online), 1. Preface · UFACTORY · 1. Preface, first paragraph

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  14. Confidence: Verifiedcomp-536

    The record says

    The xArm can be programmed with UFACTORY Studio or with Python, C++ and ROS (the manual gives this in common for the xArm 5, 6 and 7); the product page says the Python/C++ SDK is open source and ROS/ROS2 packages are available.

    Evidence · 2 citations

    Programming UFACTORY Studio, Python/C++/ROS

    UFACTORY xArm Hardware Manual (online), 8. Technical Specifications · UFACTORY · 'Programming' row (section '8.1 xArm5/xArm6/xArm7 Common Specifications': applies to all three models)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-15

    Fully functional open-source Python/C++ SDK provides more flexible programming. ROS/ROS2 packages are ready-to-go.

    UFACTORY xArm product page · UFACTORY · Overview, 'Powerful and open source SDK at your fingertips' (xArm product page, which covers the xArm 5, 6 and 7)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  15. Confidence: Verifiediface-506

    The record says

    Blockly, in UFACTORY Studio, programs the arm by dragging and dropping code blocks without writing code, and its toolbar can convert a Blockly program to Python code.

    Evidence · 2 citations

    Blockly is a graphical programming tool that can be programmed to control the robotic arm by dragging and dropping code blocks without the need to write the code manually.

    UFACTORY Studio User Manual (online), 5. Blockly · UFACTORY · 5. Blockly, introduction (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Convert to Python:Convert to Python code.

    UFACTORY Studio User Manual (online), 5. Blockly · UFACTORY · 5.1 Interface Overview

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  16. Confidence: InferredAwaiting cell accessops-711

    The record says

    UFACTORY Studio's connection screen, as used with the xArm 850 at S2 and reported on 2026-10-23, has an IP search field for the arm and a Connect Server button: the operator enters the IP address from the control box and clicks Connect Server. No reading of the screen with the xArm 6 is recorded.

    Awaiting cell access: this could be confirmed or corrected once the physical S6 cell can be observed.

    Why we infer this: Inferred, not observed with the xArm 6. The report (S241, 2026-10-23) is of UFACTORY Studio's connection screen as it was used with the xArm 850 (recorded in that arm's course), as of that date and no further. The xArm 6 is operated from the same Studio software, whose manual lists the xArm 6 among the models it applies to (iface-502), and the xArm 6's Studio read 2.7.0 on 2026-10-16 (int-610), so its connection screen is inferred to have the same IP search field and Connect Server button; the screen was seen with the 850, and a different Studio version may lay it out differently. No screenshot of the connection screen is recorded, and no inspection is recorded. The same report says the Connect page's 'Open UFACTORY Studio' step 1 is incorrect; it makes no statement about the browser route the Studio manual's connection chapter describes (iface-505).

    Evidence · 2 citations

    There is an IP search for the arm and connect button, you enter the IP from the control box and click on the Connect Server button

    Owner statements from 2026-09-24 onward (verbatim; S40 and later) · Derek Stringfellow · Statement S241 (2026-10-23), on the Connect page's 'Open UFACTORY Studio' steps; the report is of Studio as used with the xArm 850

    Derek Stringfellow, project record · Project-internal record · retrieved 2026-10-04

    Open UFACTORY Studio step 1 is incorrect.

    Owner statements from 2026-09-24 onward (verbatim; S40 and later) · Derek Stringfellow · Statement S241 (2026-10-23), the same paragraph, its first sentence

    Derek Stringfellow, project record · Project-internal record · retrieved 2026-10-04

  17. Confidence: Verifiediface-505

    The record says

    UFACTORY Studio is opened by entering the control box's IP address followed by ':18333' in a browser, for example 192.168.1.201:18333.

    Evidence · 3 citations

    Enter 'IP+:18333' on the browser to access UFACTORY Studio.

    UFACTORY Studio User Manual (online), 3. Connection · UFACTORY · 3.2 Software Connection (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    The IP of control box is 192.168.1.201

    UFACTORY Studio User Manual (online), 3. Connection · UFACTORY · 3.2 Software Connection, example

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Access link: 192.168.1.201:18333

    UFACTORY Studio User Manual (online), 3. Connection · UFACTORY · 3.2 Software Connection, example

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  18. Confidence: Verifiediface-529

    The record says

    The xArm manual lists four ways to network the control box: directly to the PC (the recommended method), through a router by Ethernet cable, through a router with the PC on Wi-Fi, or through a network switch. The Wi-Fi option is not recommended because of delay and packet loss.

    Evidence · 5 citations

    There are four ways of network settings for the robotic arm.

    UFACTORY xArm Hardware Manual (online), 2. Hardware Installation · UFACTORY · 2.2.3.3 Controller Networking (chapter applies to models XF1305, XI1305, XS1305; text not split by model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    The control box is directly connected to the PC(Recommended connection method).

    UFACTORY xArm Hardware Manual (online), 2. Hardware Installation · UFACTORY · 2.2.3.3 Controller Networking

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    The control box, PC and router are connected by Ethernet cable.

    UFACTORY xArm Hardware Manual (online), 2. Hardware Installation · UFACTORY · 2.2.3.3 Controller Networking

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    Note: It is not recommended because of the delay and packet loss of wireless connection.

    UFACTORY xArm Hardware Manual (online), 2. Hardware Installation · UFACTORY · 2.2.3.3 Controller Networking

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    The control box, PC and network switch are connected by Ethernet cable.

    UFACTORY xArm Hardware Manual (online), 2. Hardware Installation · UFACTORY · 2.2.3.3 Controller Networking

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  19. Confidence: Verifiediface-530

    The record says

    The arm's default IP address is in the 192.168.1.xxx range, and the Studio manual says to make sure the PC and the control box are on the same network segment.

    Evidence · 1 citation

    The default IP of robotic arm is 192.168.1.xxx, please make sure that the IP address of the PC and control box are on the same network segment.

    UFACTORY Studio User Manual (online), 3. Connection · UFACTORY · 3.2 Software Connection (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  20. Confidence: Verifiediface-554

    The record says

    At the tool side of the xArm there is a 12-pin female avionic-socket industrial connector that supplies power and control signals to grippers and sensors on the tool.

    Evidence · 1 citation

    At the tool side of the robotic arm, there is an avionic socket 12-pin female industrial connector. This connector provides power and control signals for the grippers and sensors used on a particular robotic arm tool.

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 Tool IO (chapter text is not split by model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  21. Confidence: Verifiediface-557

    The record says

    The xArm manual warns that the connected tool and gripper must not cause danger when power is cut, such as a workpiece dropping from the tool.

    Evidence · 1 citation

    Make sure that the connecting tool and the gripper do not cause any danger when the power is cut, such as dropping of the work-piece from the tool.

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 Tool IO, DANGER (chapter text is not split by model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  22. Confidence: Verifiedsafety-544

    The record says

    The xArm manual warns never to connect a safety signal to a non-safety PLC, and says failure to follow this warning may result in serious injury or death due to an invalid safety stop function.

    Evidence · 1 citation

    Never connect a safety signal to a non-safety PLC.Failure to follow this warning may result in serious injury or death due to an invalid safety stop function.

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.1 Electrical Alarms and Cautions, DANGER [series text: names no single model]

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  23. Kind: RecommendationAwaiting cell accessThis project's simulation and agent design, not the physical cellsafety-599

    Project advice

    Until the S6 emergency stops, guarding, Control Box position and risk assessment are confirmed at the cell, act as though none of them exists: stay out of the xArm 6's working area while it runs, and do not rely on a safeguard nobody has confirmed.

    Awaiting cell access: this could be confirmed or corrected once the physical S6 cell can be observed.

    This is advice from this project, based on: safety-586 Gap, awaiting cell access safety-587 Gap, awaiting cell access safety-588 Gap, awaiting cell access safety-589 Gap, awaiting cell access safety-511 Verified

    Why: The manual says no people should be in the working area during operation, and none of the S6 safety provisions it calls for has been confirmed. Assuming they exist would put people at risk if they do not.

  24. Kind: Gapcomp-538

    Not known

    No dedicated teach pendant for the xArm 6 is documented in the xArm manual or the product page: they describe programming through the browser-based UFACTORY Studio, the SDKs and hand teaching.

    Evidence · 2 citations

    Web-based technology compatible with all major browsers.

    UFACTORY xArm product page · UFACTORY · Overview, 'Graphical interface for beginner-friendly programming' (xArm product page, which covers the xArm 5, 6 and 7)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Hand teaching, lightweight, space-saving and easy to re-deploy to multiple applications

    UFACTORY xArm product page · UFACTORY · Overview, 'Flexible deployment with safe feature' (xArm product page, which covers the xArm 5, 6 and 7)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  25. Confidence: Verifiediface-508

    The record says

    The xArm Python SDK is installed from PyPI with 'pip install xarm-python-sdk', and only Python 3 is supported.

    Evidence · 2 citations

    pip install xarm-python-sdk

    xArm-Python-SDK README · UFACTORY · Installation, 'Install from pypi' (SDK documentation is not model-specific)

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    Only Python 3 is supported.

    xArm-Python-SDK README · UFACTORY · Installation

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  26. Confidence: Verifiediface-548

    The record says

    The xArm manual warns never to connect a safety signal to a non-safety PLC, because an invalid safety stop function may result in serious injury or death. Its safety I/O exist in redundant pairs that must be kept in two separate branches, and there are two fixed safety inputs: an emergency stop input and a protective stop input.

    Evidence · 5 citations

    Never connect a safety signal to a non-safety PLC.Failure to follow this warning may result in serious injury or death due to an invalid safety stop function.

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.1 Electrical Alarms and Cautions (chapter text is not split by model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    All safety I/Os exist in pairs (redundancy) and must be kept in two separate branches.

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.1 Safety IO(EISI)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    There are two fixed safety inputs:

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.1 Safety IO(EISI)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    The robotic arm emergency stop input is only used for the emergency stop of the device.

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.1 Safety IO(EISI)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    The protective stop input is used for all types of safety protection.

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.1 Safety IO(EISI)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  27. Confidence: Verifiediface-207

    The record says

    Python will be the primary coding method for the IntelliMake cell.

    Reasoning: Verified as the plan stated for the cell. This project's reading: primary is not only, so Blockly stays taught as a UFACTORY Studio skill.

    Evidence · 3 citations

    Blockly will not be used due to the freedom of programming we will need, so our coding will be in Python.

    Owner statements from 2026-09-24 onward (verbatim; S40 and later) · Derek Stringfellow · Statement S172 (2026-10-09), item 2

    Derek Stringfellow, project record · Project-internal record · retrieved 2026-10-04

    explain how to use bloky to perform movments

    Owner statements from 2026-09-24 onward (verbatim; S40 and later) · Derek Stringfellow · Statement S235 (2026-10-23), on the course's Step 2 assignment, one of the things the operating pages should explain

    Derek Stringfellow, project record · Project-internal record · retrieved 2026-10-04

    1.8 Python will be the primary coding method used.

    Owner statements from 2026-09-24 onward (verbatim; S40 and later) · Derek Stringfellow · Statement S254 (2026-10-26), answering decisions 10-26 §1.8

    Derek Stringfellow, project record · Project-internal record · retrieved 2026-10-04

  28. Confidence: Verifiediface-513

    The record says

    The ReadMe of UFACTORY's ROS 2 package xarm_ros2 says all its following (quick-start) instructions are based on the xArm 6, and xArm 5 or 7 users should use the proper parameters or file names.

    Evidence · 1 citation

    All following instructions will base on xArm6,please use proper parameters or filenames for xArm5 or xArm7

    xarm_ros2 ReadMe (humble branch) · UFACTORY · 5. Quick start, Reminder 3

    © UFACTORY Inc., xArm-Developer/xarm_ros2, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  29. Confidence: Verifiediface-532

    The record says

    UFACTORY Studio's Device Info page shows the arm's IP address, subnet mask, broadcast address and default gateway, and the manual says to mark a changed IP address on the control box.

    Evidence · 2 citations

    Display the IP address of the robotic arm, subnet mask, broadcast address, and default gateway.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.5.1 Device Info, Network Settings (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    If you change the IP address, be sure to mark it on the control box.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.5.1 Device Info

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  30. Confidence: Verifiediface-537

    The record says

    Controller inputs CI0-CI7 can be configured as General Input, Stop Moving, Safeguard Reset, Offline Task, Manual Mode, Reduced Mode or Enable Robot; DI0-DI7 support the same functions except Stop Moving, Safeguard Reset and Reduced Mode.

    Evidence · 1 citation

    Quote not shown (over 40 words). See the source at: 3.4 Configurable IO table, input functions (chapter text is not split by model).

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4 Configurable IO table, input functions (chapter text is not split by model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  31. Confidence: Verifiediface-538

    The record says

    Controller outputs CO0-CO7 and DO0-DO7 can each be configured as General Output or as a status signal: Motion Stopped, Robot Moving, Error, Warning, Collision, Manual Mode, Reduced Mode, Offline Task Running, Robot Enabled, or Emergency Stop is Pressed.

    Evidence · 2 citations

    Quote not shown (over 40 words). See the source at: 3.4 Configurable IO table, output functions (chapter text is not split by model).

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4 Configurable IO table, output functions (chapter text is not split by model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    Manual Mode | Yes | Yes | Reduced Mode | Yes | Yes | Offline Task Running | Yes | Yes | Robot Enabled | Yes | Yes | Emergency Stop is Pressed | Yes | Yes

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4 Configurable IO table, output functions

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  32. Confidence: Verifiediface-540

    The record says

    Three of the Studio controller input functions act on the arm through I/O: Offline Task triggers Blockly projects through I/O, Enable Robot enables the arm, and Manual Mode lets the arm be dragged freely while the input stays low.

    Evidence · 3 citations

    Offline Task: Offline Task can add multiple Blockly to be triggered through I/O.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.2 Controller IO, IO Function (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Enable Robot: Enable the robotic arm by triggering IO.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.2 Controller IO, IO Function

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Manual Mode: When set as Manual Mode, the robotic arm can be dragged freely when the input signal remains low level.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.2 Controller IO, IO Function

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  33. Confidence: Verifiediface-539

    The record says

    In UFACTORY Studio, configured input functions are triggered by a low-level signal. An input can be used freely in a Blockly or SDK program only when it is set as General Input, otherwise functions conflict; for example, if CI0 is configured as an offline task it should not be used in any program.

    Evidence · 2 citations

    The following functions (if configured), can be triggered by low-level input signals.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.2 Controller IO, IO Function (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Quote not shown (over 40 words). See the source at: 7.2.2 Controller IO, General Input.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.2 Controller IO, General Input

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  34. Confidence: Verifiediface-541

    The record says

    In UFACTORY Studio the controller digital inputs CI0-CI7 and DI0-DI7 read high by default, the digital outputs CO0-CO7 and DO0-DO7 are low by default, and the analog outputs AO0 and AO1 are 0 V by default (range 0-10 V).

    Evidence · 3 citations

    Digital Input: CI0-CI7, DI0-DI7, High level by default.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.2 Controller IO, IO State (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Digital Output: CO0-CO7, DO0-DO7, Low level by default.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.2 Controller IO, IO State

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Analog Output: AO0, AO1, 0V by default, [0-10V].

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.2 Controller IO, IO State

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  35. Confidence: Verifiediface-555

    The record says

    The xArm tool connector's pins: +24 V on pins 1-2, 0 V (GND) on 3-4, user RS-485 A/B on 5-6, tool outputs TO0/TO1 on 7-8, tool inputs TI0/TI1 on 9-10, and analog inputs AI0/AI1 on 11-12.

    Evidence · 6 citations

    1 | Brown | +24V (Power) | 7 | Black | Tool Output 0 (TO0)

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 Tool IO pin table, row 1/7 (chapter text is not split by model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    2 | Blue | +24V (Power) | 8 | Grey | Tool Output 1 (TO1)

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 pin table, row 2/8

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    3 | White | 0V (GND) | 9 | Red | Tool Input 0 (TI0)

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 pin table, row 3/9

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    4 | Green | 0V (GND) | 10 | Purple | Tool Input 1 (TI1)

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 pin table, row 4/10

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    5 | Pink | User 485-A | 11 | Orange | Analog input 0 (AI0)

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 pin table, row 5/11

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    6 | Yellow | User 485-B | 12 | Light Green | Analog input 1 (AI1)

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 pin table, row 6/12

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  36. Confidence: Verifiediface-563

    The record says

    UFACTORY Studio's End Effector IO page refreshes at 5 Hz and lists tool digital inputs TI0-TI4 (low by default), outputs TO0-TO4 and analog inputs TAI0-TAI1 (0 V by default, 0-3.3 V).

    Evidence · 4 citations

    Update Frequency: 5HZ.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.1 End Effector IO (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Digital Input: TI0, TI1, TI2, TI3, TI4, low level by default

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.1 End Effector IO

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Digital Output: TO0, TO1, TO2, TO3, TO4.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.1 End Effector IO

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Robot Analog Input: TAI0, TAI1, 0V by default, [0-3.3V].

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.1 End Effector IO

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  37. Confidence: Verifiediface-597

    The record says

    UFACTORY Studio's STOP button stops the arm immediately and clears all cached commands; it is a software stop and power stays on. The SDK's emergency_stop() is set_state(4), then motion_enable(True), then set_state(0), and does not clear errors.

    Evidence · 3 citations

    STOP: The robotic arm will stop immediately and clear all cache commands. It's a software stop, the power is still on.

    UFACTORY Studio User Manual (online), 4. Live Control · UFACTORY · 4.5 Enable & STOP button (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Emergency stop (set_state(4) -> motion_enable(True) -> set_state(0))

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · emergency_stop (SDK documentation is not model-specific)

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    1. This interface does not automatically clear the error.

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · emergency_stop, note 1

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  38. Kind: RecommendationThis project's simulation and agent design, not the physical cellsafety-596

    Project advice

    Do not count a software stop (Studio's STOP, SDK set_state(4) or SDK emergency_stop()) as an emergency stop or safeguard in the S6 risk assessment.

    This is advice from this project, based on: safety-548 Verified safety-549 Verified safety-550 Verified safety-538 Verified

    Why: Studio says its STOP is a software stop with power still on, and the SDK documents emergency_stop() as a sequence of state commands. The manual reserves the emergency stop function for the Control Box button and the redundant EI input.

  39. Confidence: Verifiediface-596

    The record says

    UFACTORY Studio can switch to a simulated arm, but both real and simulation modes need a real arm connected: in simulation the arm does not move, yet settings made there apply to the real arm.

    Evidence · 2 citations

    Switch to real or simulation robotic arm, both mode needs to connect to a real robotic arm.

    UFACTORY Studio User Manual (online), 4. Live Control · UFACTORY · 4.6 Real & Simulation robotic arm (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    When switch to simulation robotic arm, the robot will not move but the settings will apply to real robotic arm.

    UFACTORY Studio User Manual (online), 4. Live Control · UFACTORY · 4.6

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  40. Confidence: Verifiedsafety-528

    The record says

    UFACTORY Studio says that in simulated robotic arm mode the unlock-joint button also unlocks the real arm's joints; both the real and simulated modes need a real arm connected, and settings made in simulation mode apply to the real arm.

    Evidence · 3 citations

    In the 'simulated robotic arm mode', clicking the unlock joint button will also unlock the real joints of the robotic arm.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.4.2 Debugging Tools, Joint [general Studio text; the Studio manual says it applies to the xArm6]

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Switch to real or simulation robotic arm, both mode needs to connect to a real robotic arm.

    UFACTORY Studio User Manual (online), 4. Live Control · UFACTORY · 4.6 Real & Simulation robotic arm [general Studio text; the Studio manual says it applies to the xArm6]

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    When switch to simulation robotic arm, the robot will not move but the settings will apply to real robotic arm.

    UFACTORY Studio User Manual (online), 4. Live Control · UFACTORY · 4.6 Real & Simulation robotic arm [general Studio text; the Studio manual says it applies to the xArm6]

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  41. Confidence: Verifiedops-564

    The record says

    A controller input configured as Enable Robot enables the arm when triggered, and one configured as Offline Task can trigger Blockly projects; both functions are available on CI0-CI7 and DI0-DI7.

    Evidence · 4 citations

    Enable Robot: Enable the robotic arm by triggering IO.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.2, IO Function [general Studio text; the Studio manual says it applies to the xArm6]

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Offline Task: Offline Task can add multiple Blockly to be triggered through I/O.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.2, IO Function [general Studio text; the Studio manual says it applies to the xArm6]

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Offline Task | Yes | Yes

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4, 'Configurable IO' table [series text: names no single model]

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    Enable Robot | Yes | Yes

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4, 'Configurable IO' table [series text: names no single model]

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  42. Confidence: Verifiediface-509

    The record says

    The Python SDK's API wrapper is the XArmAPI class, imported from xarm.wrapper; its 'port' parameter is an IP address such as '192.168.1.185'.

    Evidence · 3 citations

    from xarm.wrapper import XArmAPI

    xArm-Python-SDK example 0000-template.py · UFACTORY · Example 0000-template.py, imports

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    The API wrapper of xArm

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · class XArmAPI, docstring (SDK documentation is not model-specific)

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    :param port: ip-address(such as '192.168.1.185')

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · class XArmAPI, __init__, parameter 'port'

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  43. Confidence: Verifiedops-545

    The record says

    The Control Box enters mode 0 (position control) by default after start-up. Setting state 0 puts the arm in STANDBY in the current mode and clears the error code, after which the reported state switches to 2 (ready).

    Evidence · 2 citations

    The control box enters this mode by default after startup.

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.1 Mode 0: Position Control Mode [general Studio text; the Studio manual says it applies to the xArm6]

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Set: configure the robot the be STANDBY state in corresponding mode, and clear the error code as well. Note: after this setting, the feedback state will switch to 2(REDDY) automatically.

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.2 State 0 [general Studio text; the Studio manual says it applies to the xArm6]

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  44. Confidence: Verifiediface-575

    The record says

    Mode 0, position control, is the mode the control box enters by default after start-up. In it, set_servo_angle makes point-to-point joint moves, set_position and set_position_aa make straight-line Cartesian moves, move_arc_lines inserts arcs between straight lines with continuous speed, and move_circle makes circular moves through three points.

    Evidence · 7 citations

    The control box enters this mode by default after startup.

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.1 Mode 0 (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    To achieve the point-to-point motion of joint space (unit: degree/radian), the speed between each command is discontinuous. Python Example: set_servo_angle

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.1 Mode 0, Joint Motion

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    To achieve linear motion between Cartesian coordinates (unit: mm), the speed between each instruction is discontinuous. Python Example: set_position, set_position_aa

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.1 Mode 0, Linear Motion

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    inserting an arc between two straight lines for a smooth transition, and the speed between each command is continuous.

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.1 Mode 0, Arc Linear Motion

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Python Example: move_arc_lines

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.1 Mode 0, Arc Linear Motion

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Circular motion calculates the trajectory of the spatial circle according to the three-point coordinates

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.1 Mode 0, Circular Motion

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Python Example: move_circle

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.1 Mode 0, Circular Motion

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  45. Confidence: Verifiediface-589

    The record says

    Every Python SDK call returns a code, where 0 means success; -1 means the arm is not connected, -2 that it is not ready (motion not enabled or state not set), 1 and 2 that errors or warnings have not been cleared, and 9 that the state is not ready to move.

    Evidence · 6 citations

    - 0: success

    xArm-Python-SDK API code description (doc/api/xarm_api_code.md) · UFACTORY · API Code (SDK documentation is not model-specific)

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    - -1: xArm is disconnect or not connect

    xArm-Python-SDK API code description (doc/api/xarm_api_code.md) · UFACTORY · API Code

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    - -2: xArm is not ready, may be the motion is not enable or not set state

    xArm-Python-SDK API code description (doc/api/xarm_api_code.md) · UFACTORY · API Code

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    - 1: there are errors that have not been cleared

    xArm-Python-SDK API code description (doc/api/xarm_api_code.md) · UFACTORY · API Code

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    - 2: there are warnings that have not been cleared

    xArm-Python-SDK API code description (doc/api/xarm_api_code.md) · UFACTORY · API Code

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    - 9: state is not ready to move

    xArm-Python-SDK API code description (doc/api/xarm_api_code.md) · UFACTORY · API Code

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  46. Confidence: Verifiediface-526

    The record says

    The Python SDK's configuration sets its control port (TCP_CONTROL_PORT) to 502 and its report ports to 30001 (TCP_REPORT_NORM_PORT), 30002 (TCP_REPORT_RICH_PORT) and 30003 (TCP_REPORT_REAL_PORT).

    Evidence · 4 citations

    TCP_CONTROL_PORT = 502

    xArm-Python-SDK source, xarm/core/config/x_config.py · UFACTORY · class SocketConf (SDK documentation is not model-specific)

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    TCP_REPORT_NORM_PORT = 30001

    xArm-Python-SDK source, xarm/core/config/x_config.py · UFACTORY · class SocketConf

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    TCP_REPORT_RICH_PORT = 30002

    xArm-Python-SDK source, xarm/core/config/x_config.py · UFACTORY · class SocketConf

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    TCP_REPORT_REAL_PORT = 30003

    xArm-Python-SDK source, xarm/core/config/x_config.py · UFACTORY · class SocketConf

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  47. Confidence: Verifiediface-511

    The record says

    UFACTORY's xArm manual gives different units by interface: the Python SDK and Blockly use degrees for roll, pitch, yaw and joint angles, while the communication protocol uses radians; X, Y and Z are in millimeters in all three.

    Evidence · 3 citations

    X(Y/Z) | millimeter(mm) | millimeter(mm) | millimeter(mm)

    UFACTORY xArm Hardware Manual (online), Preface · UFACTORY · Unit Definition table, 'X(Y/Z)' row (the Preface applies to models XF1305, XI1305, XS1305; this table is not split by model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    Roll(Pitch/Yaw) | degree(°) | degree(°) | radian(rad)

    UFACTORY xArm Hardware Manual (online), Preface · UFACTORY · Unit Definition table, 'Roll(Pitch/Yaw)' row

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    J1~J7 | degree(°) | degree(°) | radian(rad)

    UFACTORY xArm Hardware Manual (online), Preface · UFACTORY · Unit Definition table, 'J1~J7' row

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  48. Confidence: Verifiediface-574

    The record says

    The controller provides 7 motion modes and 6 states, which correspond to the Python SDK calls set_mode() and set_state().

    Evidence · 1 citation

    The controller provides 7 motion mode and 6 state, corresponding to python SDK set_mode(), set_state().

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10. introduction (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  49. Confidence: Verifiediface-576

    The record says

    Mode 1 is servo mode: set_servo_angle_j moves to each joint target at the fastest speed (180°/s), with no buffer, executing only the latest target received. The control box accepts up to 250 Hz and loses commands sent faster; UFACTORY suggests issuing smoothed, interpolated track points at a certain frequency, preferably 100 Hz or 200 Hz, and warns, for safety, not to give a distant target at once.

    Evidence · 6 citations

    Move to the given joint position with the fastest speed (180°/s) and acceleration (unit: degree/radian). This command has no buffer, only execute the latest received target point

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.1 Mode 1, Servo Joint Motion (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    In servoj mode, the maximum receiving frequency of the control box is 250 Hz

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.1 Mode 1

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    If the frequency of sending commands exceeds 250Hz, the redundant commands will be lost.

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.1 Mode 1

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    issue a smoothed track point with interpolation at a certain frequency (preferably 100Hz or 200 Hz)

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.1 Mode 1, suggested use

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    for safety considerations, do not give a distant target position at once

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.1 Mode 1, note

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Python Example: set_servo_angle_j

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.1 Mode 1

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  50. Confidence: Verifiediface-578

    The record says

    Mode 2 is manual mode: the arm enters zero-gravity mode so the user can drag its links to teach, and should be switched back to mode 0 afterwards. Mode 2 must be set via mode 0: from a non-zero mode, a request for mode 2 first switches to mode 0, and mode 2 takes effect only on a second command.

    Evidence · 2 citations

    In this mode, the robotic arm will enter the zero gravity mode, and the user can freely drag the links of the robotic arm to complete the teaching function. If the drag teaching is completed, switch back to mode 0.

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.1 Mode 2: Manual Mode (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Quote not shown (over 40 words). See the source at: 10.1 Mode 2, note.

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.1 Mode 2, note

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  51. Confidence: Verifiediface-583

    The record says

    Setting state 3 pauses a running motion, which state 0 resumes. Setting state 4 stops the arm, terminating any execution immediately; it then accepts no new command until set back to STANDBY, and the controller also switches to state 4 by itself when any error occurs.

    Evidence · 3 citations

    set: set the robot to a PAUSED state when executing motion commands, the motion can be resumed by setting state 0.

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.2 State 3 (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    set: set the robot to STOP state, it will terminate any execution immediately and will not receive or execute any new command until the state is set back to STANDBY.

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.2 State 4

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    will automatically switch to this state when any error occurs.

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.2 State 4

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  52. Confidence: Verifiediface-584

    The record says

    State 5 (MODE_CHANGED) is entered automatically when critical settings such as mode, payload, TCP offset or collision sensitivity change, and the arm accepts no command until state 0 is set. Setting state 6 performs a decelerated stop immediately.

    Evidence · 2 citations

    MODE_CHANGED state, will automatically switch to this state if some critical configurations (mode, payload, TCP offset, collision sensitivity, etc) have been changed, and cannot receive and execute any command until set state 0.

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.2 State 5 (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Set and Feedback. Perform a decelerated stop immediately.

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.2 State 6

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  53. Kind: Contradictioniface-585

    Sources disagree

    The Python SDK and the Studio manual name state 2 differently: the SDK's state list calls it 'sleeping', while the Studio manual says the robot is ready to receive and execute commands.

    Evidence · 2 citations

    2: sleeping

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · get_state / state, return values (SDK documentation is not model-specific)

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    Feedback. The robot is ready to receive and execute commands.

    UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY · 10.2 State 2

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  54. Confidence: Verifiediface-569

    The record says

    UFACTORY Studio's Modbus TCP page sends standard Modbus TCP commands to the controller's IP address on port 502, which cannot be changed; UFACTORY Studio's example frame '00 01 00 00 00 06 01 06 00 04 03 E8' sets controller analog output AO1 to 1 V.

    Evidence · 4 citations

    This page is used to send standard Modbus TCP and UFACTORY Private TCP commands.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.6 Modbus TCP, first sentence (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to) (read 2026-10-13, publisher's commit cf19147; until that date, at commit 533b75d, the section opened with one sentence: 'This page allows you to send standard Modbus TCP command, the IP is controller ip, port 502, can not be modified.')

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    IP Address: Defaults to the controller IP address and cannot be modified.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.6 Modbus TCP, 'IP Address' (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to) (read 2026-10-13, publisher's commit cf19147)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Port: Defaults to 502 and cannot be modified.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.6 Modbus TCP, 'Port' (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to) (read 2026-10-13, publisher's commit cf19147)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Send the following standard Modbus TCP command: 00 01 00 00 00 06 01 06 00 04 03 E8.This sets the controller analog output AO1 to 1V.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.6 Modbus TCP, example (read 2026-10-13, publisher's commit cf19147; until that date, at commit 533b75d, it read "Send '00 01 00 00 00 06 01 06 00 04 03 E8', set controller analog output AO1 as 1V.")

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  55. Confidence: Verifiediface-527

    The record says

    The xArm Developer Manual gives the automatic report rates: REPORT_TCP_DEVELOP on port 30003 at 100 Hz, and REPORT_TCP_NORMAL (port 30001) and REPORT_TCP_RICH (port 30002) at 5 Hz.

    Evidence · 3 citations

    Default Port 30003 Frequency 100Hz

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · 2.1.6 Automatic Reporting Format, REPORT_TCP_DEVELOP (p.108) (the Developer Manual covers the xArm series; its specification chapter is 'xArm5/6/7 Common Specifications')

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Default Port 30001 Frequency 5Hz

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · 2.1.6, REPORT_TCP_NORMAL (p.109)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Default Port 30002 Frequency 5Hz

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · 2.1.6, REPORT_TCP_RICH (p.109)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  56. Confidence: Verifiediface-542

    The record says

    The control box's digital I/O is powered by its internal 24 V supply by default, or by an external 24 V supply when more current is needed. The internal supply (PWR-GND) gives 23-30 V (24 V typical) at up to 1.8 A; an external supply must give 20-30 V (24 V typical), up to 3 A.

    Evidence · 5 citations

    The digital I/O can be powered by a internal 24V power supply or by an external power supply by configuring the power junction box.

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4 Controller Electrical IO (chapter text is not split by model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    The default configuration is to use internal power

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4 Controller Electrical IO

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    If larger current is needed, connect the external power supply as shown below.

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4 Controller Electrical IO

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    [PWR - GND] | Voltage | 23 | 24 | 30 | V | [PWR - GND] | Current | 0 | - | 1.8 | A

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4 power supply table, 'Built-in 24V Power Supply'

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    [24V - 0V] | Voltage | 20 | 24 | 30 | V | [24V - 0V] | Current | 0 | - | 3 | A

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4 power supply table, 'External 24V Input Requirement'

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  57. Confidence: Verifiediface-543

    The record says

    The control box's digital outputs are NPN: when an output is on, its terminal is driven to GND, and when off it is open (open collector/open drain). Each is rated up to 100 mA. They have no current protection, and exceeding the specified values may cause permanent damage.

    Evidence · 3 citations

    The digital output is implemented in the form of NPN. When the digital output is enabled, the corresponding connector will be driven to GND. When the digital output is disabled, the corresponding connector will be open (OC/OD).

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.2.2 Controller Digital Output(CO) (chapter text is not split by model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    [COx] | Current | 0 | - | 100 | mA

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4 digital I/O table, Digital Output

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    There is no current protection on the digital output of the Control Box. If the specified values exceeded, permanent damage may result.

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4 CAUTION

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  58. Confidence: Verifiediface-544

    The record says

    The control box's digital inputs have a weak pull-up, so a floating input always reads high; an input is ON (low level) at 0-5 V and OFF at 15-30 V, with 30 V maximum.

    Evidence · 2 citations

    The digital input is implemented in the form of a weak pull-up resistor. This means that the reading of the floating input is always high.

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.2.1 Controller Digital Input(CI) (chapter text is not split by model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    [EIx/SIx/CIx/RIx] | Voltage | 0 | - | 30 | V | [EIx/SIx/CIx/RIx] | OFF Area | 15 | - | 30 | V | [EIx/SIx/CIx/RIx] | ON Area(low level) | 0 | - | 5 | V

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4 digital I/O table, Digital Input

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  59. Confidence: Verifiediface-545

    The record says

    The control box's analog inputs and outputs work at 0-10 V with 12-bit resolution; each analog output can supply up to 20 mA. The manual's examples connect an analog sensor to AI0 or AI1 and drive a conveyor belt's analog speed-control input from AO0 or AO1.

    Evidence · 5 citations

    This type of interface can be used to set or measure voltage (0-10V) going into or out of other devices.

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.3 Controller Analog IO(AIAO) (chapter text is not split by model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    [AIx - AG] | Resolution | - | 12 | 12 | Bit

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.3 table, Analog Input

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    Quote not shown (over 40 words). See the source at: 3.4.3 table, Analog Output.

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.3 table, Analog Output

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    The following example shows how to connect an analog sensor(Connect to AI0 or AI1).

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.3.1 Analog Input

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    The following example shows how to use the analog speed control input to control the conveyor belt(Connect to AO0 or AO1).

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.3.2 Analog Output

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  60. Confidence: Verifiediface-556

    The record says

    The tool connector supplies 20-30 V (24 V typical) in 24 V mode, at up to 1800 mA.

    Evidence · 1 citation

    Supply Voltage in 24V Mode | 20 | 24 | 30 | V | Supply Current | - | - | 1800 | mA

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 Electrical Specifications (chapter text is not split by model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  61. Confidence: Verifiediface-558

    The record says

    The tool digital inputs have a pull-down resistor, so a floating input always reads low; logic low is at most 1.0 V, logic high at least 1.6 V, and the input accepts -0.5 to 30 V.

    Evidence · 2 citations

    The digital input is already equipped with a pull-down resistor. This means that the reading of the floating input is always low.

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2.1 Tool Digital Input(TI) (chapter text is not split by model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    Input Voltage | -0.5 | - | 30 | V | Logic Low Voltage | - | - | 1.0 | V | Logic High Voltage | 1.6 | - | - | V

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2.1 Electrical Specifications

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  62. Confidence: Verifiediface-559

    The record says

    The tool digital outputs are NPN open-collector outputs that pull the pin to GND when on, sinking up to 100 mA. They have no current protection, and a protection diode is strongly recommended for inductive loads.

    Evidence · 4 citations

    The digital output is implemented in the form of NPN with an open collector (OC). When the digital output is activated, the corresponding connector will be driven to GND.

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2.2 Tool Digital Output(TO) (chapter text is not split by model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    Sink Current | 0 | - | 100 | mA

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2.2 Electrical Specifications

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    There is no current protection on the digital output of the tool, which can cause permanent damage if the specified value exceeded.

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2.2 CAUTION

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    It is strongly recommended to use a protection diode for inductive loads.

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 NOTE

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  63. Kind: Contradictioniface-568

    Sources disagree

    Sources disagree on the xArm end-effector communication protocol: the online xArm manual's common specification table (and its Gripper table) say Modbus TCP, while the xArm Developer Manual's common specifications and gripper table say Modbus RTU, and the online manual's own Tool RS485 section configures standard Modbus RTU devices.

    Evidence · 5 citations

    End Effector Communication Protocol | Modbus TCP

    UFACTORY xArm Hardware Manual (online), 8. Technical Specifications · UFACTORY · 8.1 xArm5/xArm6/xArm7 Common Specifications, 'End Effector Communication Protocol' row

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-15

    Communication Mode | RS-485 | Communication Protocol | Modbus TCP

    UFACTORY xArm Hardware Manual (online), 8. Technical Specifications · UFACTORY · 8.1 Gripper table

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-15

    End-effector Communication Protocol Modbus-RTU

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · 4.1 xArm5/6/7 Common Specifications (p.121)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Communication Mode RS-485 Communication Protocol Modbus RTU

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · 4.1, Gripper (p.122)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    If end effector supports standard Modbus RTU, user can debug it via 'Settings-Externals-Modbus RTU'.

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.4.4 Tool RS485

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  64. Confidence: Verifiediface-586

    The record says

    Controller errors and warnings are fed back passively, in the reply to whatever command the user sends next, not reported actively. After such an error the arm stops immediately and discards the control box's cached commands, and the user must clear the error manually.

    Evidence · 2 citations

    This error/warning signal will be fed back when the user sends any command; The feedback is passive and not actively reported.

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 Control Box Error Code and Handling (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    After the above error occurs, the robotic arm will stop working immediately and discard the Control Box cache command. Users need to clear these errors manually to allow normal operation.

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  65. Confidence: Verifiediface-587

    The record says

    UFACTORY's error recovery through the Python SDK is three calls: clean_error(), then motion_enable(true), then set_state(0).

    Evidence · 3 citations

    error clearing: clean_error()

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.3 Python SDK Error Code and Handling (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Re-enable the robotic arm: motion_enable(true)

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.3

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Set the motion state: set_state(0)

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.3

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  66. Confidence: Verifiediface-600

    The record says

    As UFACTORY's Studio manual read on 2026-10-13, it lists codes in three tables with prefixes: C for control box errors, S for joint servo errors (e.g. S0) and A for Python SDK codes (e.g. A-2, 'Robot is not ready'). Controller errors C1 and C2 are both an Emergency Stop Button pushed in (C1's row names the button on the Control Box; C2's row does not say which button) and C3 is the three-state switch's emergency stop; for C11-C17 the handling given is to power on again.

    Evidence · 6 citations

    C1 | The Emergency Stop Button on the Control Box is pushed in to Stop

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C1 (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to) (read 2026-10-13, publisher's commit e28e232; the page names no Studio or firmware version)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C2 | The Emergency Stop Button is pushed in to Stop

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C2 (read 2026-10-13, publisher's commit e28e232)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C3 | The Emergency Stop Button of the Three-state Switch is pressed

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C3 (read 2026-10-13, publisher's commit e28e232)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C11-C17 | Power on again.

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C11-C17 (read 2026-10-13, publisher's commit e28e232)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    S0 | Joint Communication Error

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.2 table, S0 (read 2026-10-13, publisher's commit e28e232)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    A-2 | Robot is not ready.

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.3 table, A-2 (read 2026-10-13, publisher's commit e28e232)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  67. Kind: ContradictionAwaiting cell accesssafety-601

    Sources disagree

    UFACTORY's sources give two readings of controller error 2 (Studio's C2). The Studio manual until 2026-10-13, and the Python SDK's code list, say the Emergency IO of the Control Box is triggered; the manual's fix was to ground the 2 EIs of the Control Box and click 'Enable Robot'. The Studio manual as read on 2026-10-13 says the Emergency Stop Button is pushed in, and to release it and click 'Enable Robot'; it no longer mentions the Emergency IO or grounding the EIs. No fetched source says the two describe the same event, or which Studio and firmware versions show which text.

    Awaiting cell access: this could be confirmed or corrected once the physical S6 cell can be observed.

    Related: iface-590 Verified iface-600 Verified ops-570 Verified ops-589 Verified safety-553 Verified safety-600 Verified safety-538 Verified safety-591 Superseded, awaiting cell access by int-553 Verified, awaiting cell access int-554 Verified, awaiting cell access safety-605 Gap, awaiting cell access int-514 Superseded, awaiting cell access by int-553 Verified, awaiting cell access int-558 Gap, awaiting cell access

    Evidence · 5 citations

    The Emergency IO of the Control Box is triggered

    UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 12.1 table, C2, first line (the text until 2026-10-13: publisher's commit 533b75d)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Please ground the 2 EIs of the Control Box, and then click "Enable Robot".

    UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 12.1 table, C2, second line (the text until 2026-10-13: publisher's commit 533b75d)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C2 | The Emergency Stop Button is pushed in to Stop

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C2 [general Studio text; the Studio manual says it applies to the xArm6] (read 2026-10-13, publisher's commit e28e232; the page names no Studio or firmware version)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Please release the Emergency Stop Button, and then click the "Enable Robot"

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C2, second line (the same words as C1's second line) (read 2026-10-13, publisher's commit e28e232)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    - 2: The Emergency IO of the Control Box is triggered

    xArm-Python-SDK API code description (doc/api/xarm_api_code.md) · UFACTORY · Controller Error Code

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  68. Confidence: Verifiediface-601

    The record says

    As UFACTORY's Studio manual read on 2026-10-13, further controller errors in its list are: C21 kinematic error, C22 self-collision, C23 joint angle beyond its limit, C24 a joint's speed beyond its limit (the row shows the joint and its speed, and says to check whether the robot is out of its working range, or to turn on 'Use Approximate Solution' under General > Advanced Settings), C25 planning error, C35 safety boundary limit and C37 abnormal movement in manual mode.

    Evidence · 9 citations

    C21 | Kinematic Error

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C21 (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to) (read 2026-10-13, publisher's commit e28e232; the page names no Studio or firmware version)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C22 | Self-collision Error

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C22 (read 2026-10-13, publisher's commit e28e232)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C23 | Joints Angle Exceed Limit

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C23 (read 2026-10-13, publisher's commit e28e232)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C24 | Joints Speed Exceeds Limit

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C24 (read 2026-10-13, publisher's commit e28e232)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Joint ID [x],joint speed is xxx°/s

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C24, second line (read 2026-10-13, publisher's commit e28e232)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Please check if the robot is out of working range, or go to " General - Advanced Settings" and turn on the "Use Approximate Solution" feature.

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C24, third line (read 2026-10-13, publisher's commit e28e232)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C25 | Planning Error

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C25 (read 2026-10-13, publisher's commit e28e232)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C35 | Safety Boundary Limit

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C35 (read 2026-10-13, publisher's commit e28e232)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C37 | Abnormal movement in Manual Mode

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C37 (read 2026-10-13, publisher's commit e28e232)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  69. Confidence: Verifiediface-591

    The record says

    As UFACTORY's Studio manual read until 2026-10-13, further controller errors in UFACTORY Studio's list: C21 kinematic error, C22 self-collision, C23 joint angle beyond its limit, C24 speed beyond its limit (check for a singularity or reduce speed and acceleration), C25 planning error, C35 safety boundary limit and C37 abnormal motion in manual mode.

    Evidence · 8 citations

    C21 | Kinematic Error

    UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 12.1 table (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to) (text until 2026-10-13, publisher's commit 533b75d; the page names no Studio or firmware version)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C22 | Self-collision Error

    UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 12.1 table (text until 2026-10-13, publisher's commit 533b75d)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C23 | Joints Angle Exceed Limit

    UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 12.1 table (text until 2026-10-13, publisher's commit 533b75d)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C24 | Speed Exceeds Limit

    UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 12.1 table, first line (text until 2026-10-13, publisher's commit 533b75d)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Please check if the xArm is at singularity point, or reduce the speed and acceleration values.

    UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 12.1 table, following line (text until 2026-10-13, publisher's commit 533b75d)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C25 | Planning Error

    UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 12.1 table (text until 2026-10-13, publisher's commit 533b75d)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C35 | Safety Boundary Limit

    UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 12.1 table (text until 2026-10-13, publisher's commit 533b75d)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C37 | Abnormal Motion in Manual Mode

    UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 12.1 table (text until 2026-10-13, publisher's commit 533b75d)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  70. Confidence: Verifiediface-590

    The record says

    As UFACTORY's Studio manual read until 2026-10-13, it lists codes in three tables with prefixes: C for control box errors, S for joint servo errors (e.g. S0) and A for Python SDK codes (e.g. A-2). Controller errors C1-C3 are the control box emergency stop button, the control box emergency I/O and the three-state switch's emergency stop; for C11-C17 the handling given is to power on again.

    Evidence · 6 citations

    C1 | The Emergency Stop Button on the Control Box is Pushed in to Stop

    UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 12.1 table (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to) (text until 2026-10-13, publisher's commit 533b75d; the page names no Studio or firmware version)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C2 | The Emergency IO of the Control Box is triggered

    UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 12.1 table (text until 2026-10-13, publisher's commit 533b75d)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C3 | The Emergency Stop Button of the Three-state Switch is pressed

    UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 12.1 table (text until 2026-10-13, publisher's commit 533b75d)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C11-C17 | Power on again.

    UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 12.1 table (text until 2026-10-13, publisher's commit 533b75d)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    S0 | Joint Communication Error

    UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 12.2 table (text until 2026-10-13, publisher's commit 533b75d)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    A-2 | xArm is not ready.

    UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 12.3 table (text until 2026-10-13, publisher's commit 533b75d)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  71. Confidence: Verifiedsafety-520

    The record says

    The xArm manual says pressing the Control Box's emergency stop button sends a command to the Control Box for software deceleration to stop all activities of the arm and clear all cached commands in the Control Box, and that the arm's power supply will be removed within 300 ms.

    Evidence · 1 citation

    Quote not shown (over 40 words). See the source at: 2.1.2 Emergency Stop Button [series text: names no single model].

    UFACTORY xArm Hardware Manual (online), 2. Hardware Installation · UFACTORY · 2.1.2 Emergency Stop Button [series text: names no single model]

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  72. Confidence: Verifiediface-523

    The record says

    UFACTORY's xArm Developer Manual calls the arm's protocol 'Private Modbus-TCP': its default TCP port is 502, and the protocol identifier 0x00 0x02 (control) is the only one for now.

    Evidence · 3 citations

    Robotic Arm Communication Protocol Private Modbus-TCP

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · 4.1 xArm5/6/7 Common Specifications (p.121)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Default TCP Port: 502

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · 2.1.2 Modbus-TCP Communication Format, 'Parameter' (p.11) (the Developer Manual covers the xArm series; its specification chapter is 'xArm5/6/7 Common Specifications')

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Protocol: 0x00 0x02 Control (Only this one for now)

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · 2.1.2 (p.11)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  73. Confidence: Verifiediface-515

    The record says

    In xarm_ros2 the xArm 6 driver is started with 'ros2 launch xarm_api xarm6_driver.launch.py robot_ip:=<controller IP>'; its services and topics sit under a hardware namespace that defaults to 'xarm' for the xArm series (other arms use 'ufactory').

    Evidence · 3 citations

    ros2 launch xarm_api xarm6_driver.launch.py robot_ip:=192.168.1.117

    xarm_ros2 ReadMe (humble branch) · UFACTORY · 5.4 xarm_api, 'Use command line (xArm)'

    © UFACTORY Inc., xArm-Developer/xarm_ros2, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    All the services and topics are under <hw_ns>/ namespace

    xarm_ros2 ReadMe (humble branch) · UFACTORY · 5.4 xarm_api

    © UFACTORY Inc., xArm-Developer/xarm_ros2, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    the xarm series defaults is xarm, and the rest defaults is ufactory

    xarm_ros2 ReadMe (humble branch) · UFACTORY · 5. Quick start, Reminder 4

    © UFACTORY Inc., xArm-Developer/xarm_ros2, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  74. Confidence: Verifiediface-519

    The record says

    xarm_ros2's xarm_moveit_config controls a simulated or real xArm through MoveIt: for the xArm 6, xarm6_moveit_fake.launch.py is the simulated launch and xarm6_moveit_realmove.launch.py the real-arm launch, which takes the arm's IP address.

    Evidence · 5 citations

    This package provides abilities for controlling xArm/Lite6 (simulated or real arm) by moveit.

    xarm_ros2 ReadMe (humble branch) · UFACTORY · 5.6 xarm_moveit_config

    © UFACTORY Inc., xArm-Developer/xarm_ros2, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    【simulated】Launch moveit, controlling robot in rviz.

    xarm_ros2 ReadMe (humble branch) · UFACTORY · 5.6 xarm_moveit_config, 【simulated】

    © UFACTORY Inc., xArm-Developer/xarm_ros2, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    ros2 launch xarm_moveit_config xarm6_moveit_fake.launch.py [add_gripper:=true]

    xarm_ros2 ReadMe (humble branch) · UFACTORY · 5.6 xarm_moveit_config

    © UFACTORY Inc., xArm-Developer/xarm_ros2, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    【real arm】Launch moveit, controlling robot in rviz.

    xarm_ros2 ReadMe (humble branch) · UFACTORY · 5.6 xarm_moveit_config, 【real arm】

    © UFACTORY Inc., xArm-Developer/xarm_ros2, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    ros2 launch xarm_moveit_config xarm6_moveit_realmove.launch.py robot_ip:=192.168.1.117 [add_gripper:=true]

    xarm_ros2 ReadMe (humble branch) · UFACTORY · 5.6 xarm_moveit_config

    © UFACTORY Inc., xArm-Developer/xarm_ros2, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  75. Confidence: Verifiediface-528

    The record says

    In the Developer Manual, the 100 Hz REPORT_TCP_DEVELOP report carries the motion state and mode, the number of cached commands, each joint's current angle, the arm's current position and attitude, and joint torque; the rich report adds the arm type number (5/6/7).

    Evidence · 6 citations

    Bit0-Bit3 indicates the motion status, Bit4-Bit7 indicates the motion mode.

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · 2.1.6, REPORT_TCP_DEVELOP (p.108) (the Developer Manual covers the xArm series; its specification chapter is 'xArm5/6/7 Common Specifications')

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Number of commands Caches

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · 2.1.6, REPORT_TCP_DEVELOP (p.108)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    The current angle of each joint of the robotic arm

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · 2.1.6, REPORT_TCP_DEVELOP (p.108); PDF text runs some words together

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    The current position and attitude of the robotic arm

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · 2.1.6, REPORT_TCP_DEVELOP (p.108)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Joint torque

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · 2.1.6, REPORT_TCP_DEVELOP (p.108)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Robotic arm type number(5/6/7)

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · 2.1.6, REPORT_TCP_RICH (p.110)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  76. Confidence: Verifiediface-553

    The record says

    By default the SDK's set_cgpio_digital puts the output change in the motion queue (sync True); sync False executes it immediately, from firmware 2.4.101.

    Evidence · 2 citations

    :param sync: whether to execute in the motion queue, set to False to execute immediately(default is True)

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · set_cgpio_digital, parameter sync (SDK documentation is not model-specific)

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    only available if firmware_version >= 2.4.101

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · set_cgpio_digital, parameter sync note

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  77. Confidence: Verifiediface-593

    The record says

    Controller warning 11 means the command queue (uxbus queue) is full and warning 14 that a command has no solution; controller error 40 means no inverse-kinematics solution is available.

    Evidence · 3 citations

    - 11: uxbus queue is full

    xArm-Python-SDK API code description (doc/api/xarm_api_code.md) · UFACTORY · Controller Warn Code (SDK documentation is not model-specific)

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    - 14: command has no solution

    xArm-Python-SDK API code description (doc/api/xarm_api_code.md) · UFACTORY · Controller Warn Code

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    - 40: No IK available

    xArm-Python-SDK API code description (doc/api/xarm_api_code.md) · UFACTORY · Controller Error Code

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  78. Confidence: Inferrediface-573

    The record says

    In UFACTORY's Modbus TCP register map, stored Blockly projects are started by writing up to 16 holding registers from address 0x30 with function code 0x10; each value selects a project by number (1 runs project '00001'), and the projects run automatically in order.

    Why we infer this: Verified: UFACTORY's ModbusTCP User Instructions (UF_ModbusTCP_Manual, in the xArm-Python-SDK repository) state this, but that document names no robot model. Verified: the UFACTORY Studio manual, whose Preface lists the xArm 6, says the controller accepts standard Modbus TCP commands on port 502 (iface-569). Inferred: the register map very probably holds on the xArm 6's controller, but no document written for the xArm 6 gives it; a read of these registers on the S6 controller would confirm it.

    Evidence · 1 citation

    Quote not shown (over 40 words). See the source at: Appendix, Holding Registers 48~63.

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Appendix, Holding Registers 48~63

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  79. Confidence: Inferrediface-572

    The record says

    In UFACTORY's Modbus TCP register map, coils 0-31 are the controller digital outputs and discrete inputs 0-31 the controller digital inputs (16 of each in use), and coils and discrete inputs 32-39 are the tool digital outputs and inputs (2 of each in use).

    Why we infer this: Verified: UFACTORY's ModbusTCP User Instructions (UF_ModbusTCP_Manual, in the xArm-Python-SDK repository) state this, but that document names no robot model. Verified: the UFACTORY Studio manual, whose Preface lists the xArm 6, says the controller accepts standard Modbus TCP commands on port 502 (iface-569). Inferred: the register map very probably holds on the xArm 6's controller, but no document written for the xArm 6 gives it; a read of these registers on the S6 controller would confirm it.

    Evidence · 4 citations

    | 0 ~ 31 | 0x00 ~ 0x1F | 32 controller Digital Output (Now only 16 effective) |

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Appendix, Coil Registers

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    | 32 ~ 39 | 0x20 ~ 0x27 | 8 tool Digital Output (Now only 2 effective) |

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Appendix, Coil Registers

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    | 0 ~ 31 | 0x00 ~ 0x1F | 32 controller Digital Input (Now only 16 effective) |

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Appendix, Discrete Input Registers

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    | 32 ~ 39 | 0x20 ~ 0x27 | 8 tool Digital Input (Now only 2 effective) |

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Appendix, Discrete Input Registers

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  80. Confidence: Inferrediface-571

    The record says

    In UFACTORY's Modbus TCP register map, holding registers 32 and 33 (0x20, 0x21) hold the robot mode and state, and input registers 32 and 33 hold the robot error code and warning code.

    Why we infer this: Verified: UFACTORY's ModbusTCP User Instructions (UF_ModbusTCP_Manual, in the xArm-Python-SDK repository) state this, but that document names no robot model. Verified: the UFACTORY Studio manual, whose Preface lists the xArm 6, says the controller accepts standard Modbus TCP commands on port 502 (iface-569). Inferred: the register map very probably holds on the xArm 6's controller, but no document written for the xArm 6 gives it; a read of these registers on the S6 controller would confirm it.

    Evidence · 4 citations

    | 32 | 0x20 | Robot Mode |

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Appendix, Holding Registers

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    | 33 | 0x21 | Robot State |

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Appendix, Holding Registers

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    | 32 | 0x20 | Robot Error code |

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Appendix, Input Registers

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    | 33 | 0x21 | Robot Warning code |

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Appendix, Input Registers

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  81. Confidence: Verifiediface-588

    The record says

    With reporting enabled, the Python SDK can call a user function when the error or warning code changes (register_error_warn_changed_callback); get_err_warn_code() returns the current error and warning codes.

    Evidence · 3 citations

    Register the error code or warn code changed callback, only available if enable_report is True

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · register_error_warn_changed_callback (SDK documentation is not model-specific)

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    Get the controller error and warn code

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · get_err_warn_code

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    arm.register_error_warn_changed_callback(hangle_err_warn_changed)

    xArm-Python-SDK example 0000-template.py · UFACTORY · Example 0000-template.py

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  82. Confidence: Verifiediface-566

    The record says

    In the Python SDK, get_tgpio_digital reads the tool digital inputs, get_tgpio_analog reads tool analog input 0 or 1, and set_tgpio_digital sets the tool digital outputs.

    Evidence · 3 citations

    Get the digital value of the specified Tool GPIO

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · get_tgpio_digital (SDK documentation is not model-specific)

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    :param ionum: 0 or 1 or None(both 0 and 1), default is None

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · get_tgpio_analog, parameter ionum

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    def __set_tgpio_digital__(self, ionum, value, delay_sec=None, sync=True):

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · method list

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  83. Confidence: Inferrediface-570

    The record says

    UFACTORY's standard Modbus TCP interface uses big-endian data and supports function codes for coils (0x01, 0x05, 0x0F), discrete inputs (0x02), holding registers (0x03, 0x06, 0x10, 0x16, 0x17) and input registers (0x04).

    Why we infer this: Verified: UFACTORY's ModbusTCP User Instructions (UF_ModbusTCP_Manual, in the xArm-Python-SDK repository) state this, but that document names no robot model. Verified: the UFACTORY Studio manual, whose Preface lists the xArm 6, says the controller accepts standard Modbus TCP commands on port 502 (iface-569). Inferred: the register map very probably holds on the xArm 6's controller, but no document written for the xArm 6 gives it; a read of these registers on the S6 controller would confirm it.

    Evidence · 11 citations

    Data transmission uses Big-endian method

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Notice

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    __0x01__: Read multiple coil registers

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Supported function codes, coils

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    __0x05__: Write single coil

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Supported function codes, coils

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    __0x0F__: Write multiple coil registers

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Supported function codes, coils

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    __0x02__: Read multiple discrete input registers

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Supported function codes, discrete inputs

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    __0x03__: Read multiple holding registers

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Supported function codes, holding registers

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    __0x06__: Write single holding register

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Supported function codes, holding registers

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    __0x10__: Write multiple holding registers

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Supported function codes, holding registers

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    __0x16__: Mask write single holding register

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Supported function codes, holding registers

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    __0x17__: Read and Write multiple holding registers

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Supported function codes, holding registers

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    0x04: Read multiple input registers

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Supported function codes, input registers

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  84. Kind: RecommendationThis project's simulation and agent design, not the physical celliface-598

    Project advice

    For the xArm 6 at S6, command motion through the Python SDK in mode 0 and read state from its automatic reports rather than streaming servo-mode targets; confirm the S6 controller's IP address, hardware version and Modbus TCP register map on the cell before relying on them.

    This is advice from this project, based on: iface-575 Verified iface-576 Verified iface-586 Verified iface-527 Verified iface-526 Verified iface-533 Gap, awaiting cell access iface-534 Gap, awaiting cell access iface-569 Verified

    Why: In mode 0, joint and straight-line moves are complete commands (iface-575), so each can be checked before it is sent. Servo mode runs only the latest target, with no buffer, at the arm's fastest speed, and is best fed smoothed points at a certain frequency, preferably 100 Hz or 200 Hz (iface-576). Errors come back only in the reply to the next command (iface-586), so state is best read from the report ports (30001-30003), whose rates the Developer Manual gives (iface-527). The S6 IP address, the arm's hardware version and the Modbus register map are not confirmed for this arm (iface-533, iface-534, and the Inferred register-map records that rest on iface-569).

  85. Confidence: Inferredsafety-593

    The record says

    An autonomous agent driving the S6 xArm 6 through the Python SDK could change collision sensitivity (to 0, which disables collision detection), collision rebound, reduced mode and the safety boundary. Under the xArm manual's own warning, changing the controller safety configuration makes the robot system a new system whose safety reviews, such as risk assessments, must be updated.

    Why we infer this: Verified: the SDK exposes these calls and the glossary says sensitivity 0 disables detection; the manual says modifying the controller safety configuration creates a new system needing updated safety reviews. Inferred: an agent with SDK access could make such changes, and the manual's warning would then apply. Whether the Python SDK calls change the same 'configuration file' the manual refers to is not stated in any fetched source.

    Evidence · 6 citations

    :param value: sensitivity value, 0~5

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · def set_collision_sensitivity [SDK text for the xArm API; names no single model]

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    When it is set to 0, it means that collision detection is not enabled.

    UFACTORY Studio User Manual (online), 2. Glossary · UFACTORY · Glossary, Collision Sensitivity [general Studio text; the Studio manual says it applies to the xArm6]

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Set the collision rebound,turn on/off collision rebound

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · def set_collision_rebound [SDK text for the xArm API; names no single model]

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    Turn on/off reduced mode

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · def set_reduced_mode [SDK text for the xArm API; names no single model]

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    Set the boundary of the safety boundary mode

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · def set_reduced_tcp_boundary [SDK text for the xArm API; names no single model]

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    If parameters in the configuration file are modified, the entire robot system shall be deemed a new system, which necessitates the update of all safety review processes, such as risk assessments.

    UFACTORY xArm Hardware Manual (online), 1. Safety · UFACTORY · 1.4 Personnel Safety, WARNING [series text: names no single model]

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  86. Confidence: Verifiediface-594

    The record says

    Through the Python SDK, set_collision_sensitivity sets collision sensitivity from 0 to 5 and set_teach_sensitivity sets manual-mode drag sensitivity from 1 to 5; the SDK notes that the collision sensitivity is lost at reboot if not saved; save_conf() records the current settings so they survive a restart, and clean_conf() restores the system defaults.

    Evidence · 5 citations

    :param value: sensitivity value, 0~5

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · set_collision_sensitivity, parameter value (SDK documentation is not model-specific)

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    :param value: sensitivity value, 1~5

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · set_teach_sensitivity, parameter value

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    2. If not saved, it will be lost after reboot

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · set_collision_sensitivity, note 2

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    1. This interface can record the current settings and will not be lost after the restart.

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · save_conf

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    2. The clean_conf interface can restore system default settings

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · save_conf

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  87. Confidence: Verifiedsafety-566

    The record says

    The Python SDK exposes set_reduced_mode and set_reduced_tcp_boundary ([x_max, x_min, y_max, y_min, z_max, z_min]), which need firmware 1.2.0 or above, and set_fence_mode and set_collision_rebound, which need firmware 1.2.11 or above. The boundary setting takes effect only when reduced mode is reset with set_reduced_mode(True).

    Evidence · 6 citations

    Turn on/off reduced mode

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · def set_reduced_mode, Note 1 [SDK text for the xArm API; names no single model]

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    1. This interface relies on Firmware 1.2.0 or above

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · def set_reduced_mode and def set_reduced_tcp_boundary, Note 1 (same text under each) [SDK text for the xArm API; names no single model]

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    :param boundary: [x_max, x_min, y_max, y_min, z_max, z_min]

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · def set_reduced_tcp_boundary [SDK text for the xArm API; names no single model]

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    2. Only reset the reduced mode to take effect (`set_reduced_mode(True)`)

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · def set_reduced_tcp_boundary, Note 2 [SDK text for the xArm API; names no single model]

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    Set the fence mode,turn on/off fence mode

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · def set_fence_mode [SDK text for the xArm API; names no single model]

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    1. This interface relies on Firmware 1.2.11 or above

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · def set_fence_mode / set_collision_rebound, Note 1 [SDK text for the xArm API; names no single model]

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  88. Kind: RecommendationThis project's simulation and agent design, not the physical cellsafety-595

    Project advice

    Deny the S6 agent the SDK calls that change collision sensitivity, collision detection, collision rebound, reduced mode or the safety boundary, or gate them behind human approval.

    This is advice from this project, based on: safety-593 Inferred safety-509 Verified safety-558 Verified

    Why: UFACTORY says a modified safety configuration makes a new system needing updated risk assessments, and its own SDK notes say not to use set_collision_sensitivity unless required. An agent that can change these settings could invalidate the risk assessment without anyone noticing.

  89. Kind: RecommendationThis project's simulation and agent design, not the physical cellsafety-594

    Project advice

    Treat the xArm 6's collision detection, safety boundary and reduced mode as configurable controller functions, not validated safeguards: they must not replace risk-assessed protective devices wired to the EI and SI inputs.

    This is advice from this project, based on: safety-578 Gap safety-559 Verified safety-560 Verified safety-561 Verified safety-564 Verified safety-565 Verified safety-544 Verified

    Why: No fetched UFACTORY document gives these functions a Performance Level or SIL. Collision detection is a current-model comparison that UFACTORY says can false-trigger and can be switched off; the safety boundary and reduced mode are settings. A function with no documented rating cannot stand in for a rated protective device.

  90. Kind: Gapsafety-585

    Not known

    No fetched UFACTORY source says whether the software safety functions (collision detection, safety boundary, reduced mode) are enforced independently of the motion-command path. Studio's description of the safety boundary mentions only the tool center point, and no source says whether the arm's links or the tool body are checked against it.

    Evidence · 1 citation

    If the tool center point (TCP) of the robotic arm exceeds the set safety boundary, the robotic arm will stop moving.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.3.1 Safety Boundary [general Studio text; the Studio manual says it applies to the xArm6]

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  91. Kind: Contradictioniface-592

    Sources disagree

    Sources disagree on controller codes C31 and C33. UFACTORY Studio's manual calls C31 'Abnormal current in the robotic arm' and C33 'Controller IO Error'; the Python SDK code list calls 31 'Collision Caused Abnormal Current' and 33 'Controller GPIO error'; the xArm Developer Manual calls C31 'Collision Caused Abnormal Current' and C33 'Abnormal current in the robotic arm'.

    Evidence · 6 citations

    C31 | Abnormal current in the robotic arm

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C31

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C33 | Controller IO Error

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C33

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    - 31: Collision Caused Abnormal Current

    xArm-Python-SDK API code description (doc/api/xarm_api_code.md) · UFACTORY · Controller Error Code

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    - 33: Controller GPIO error

    xArm-Python-SDK API code description (doc/api/xarm_api_code.md) · UFACTORY · Controller Error Code

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    C31 0x1F Collision Caused Abnormal Current

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · 3.2.1 Control Box Error Code (p.117)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    C33 0x21 Abnormal current in the robotic arm

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · 3.2.1 Control Box Error Code (p.117)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

  92. Kind: RecommendationThis project's simulation and agent design, not the physical cellsafety-598

    Project advice

    Do not use UFACTORY Studio's simulated-arm mode as the simulation substrate for S6 agent work: it needs a real arm connected, its settings apply to the real arm, and its unlock-joint button unlocks the real joints.

    This is advice from this project, based on: safety-528 Verified

    Why: Studio's own text says both modes need a real arm and that simulation-mode settings and joint unlocking act on it, so it does not isolate an agent from the machine.

  93. Confidence: Verifiedsafety-549

    The record says

    The xArm Python SDK documents emergency_stop() as the sequence set_state(4), then motion_enable(True), then set_state(0), and says it does not automatically clear errors.

    Evidence · 2 citations

    Emergency stop (set_state(4) -> motion_enable(True) -> set_state(0))

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · def emergency_stop [SDK text for the xArm API; names no single model]

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    This interface does not automatically clear the error.

    xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY · def emergency_stop, Note 1 [SDK text for the xArm API; names no single model]

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

  94. Confidence: Verifiedsafety-548

    The record says

    The STOP button in UFACTORY Studio stops the arm immediately and clears all cached commands; Studio says it is a software stop and the power is still on.

    Evidence · 1 citation

    STOP: The robotic arm will stop immediately and clear all cache commands. It's a software stop, the power is still on.

    UFACTORY Studio User Manual (online), 4. Live Control · UFACTORY · 4.5 Enable & STOP button [general Studio text; the Studio manual says it applies to the xArm6]

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  95. Confidence: Verifiedops-506

    The record says

    The xArm manual says pressing the emergency stop button powers off the xArm and the power indicator goes out; turning the button in the direction of the arrow pulls it up, the power indicator lights and the arm is powered.

    Evidence · 2 citations

    Press the emergency stop button to power off the xArm, and the power indicator will go out.

    UFACTORY xArm Hardware Manual (online), 2. Hardware Installation · UFACTORY · 2.1.2 Emergency Stop Button, 'Emergency Stop' [series text: names no single model]

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    when the button is rotated in the direction indicated by the arrow, the button is pulled up, the xArm power indicator lights up, and the arm is powered.

    UFACTORY xArm Hardware Manual (online), 2. Hardware Installation · UFACTORY · 2.1.2 Emergency Stop Button, 'Power-on' [series text: names no single model]

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  96. Confidence: Verifiedcomp-712

    The record says

    The base coordinate system is a Cartesian frame on the arm's mounting base: X is front and back, Y left and right, Z up and down. A user coordinate system can be defined as any other reference frame; once set, it becomes the world origin instead of the robot base.

    Evidence · 3 citations

    Quote not shown (over 40 words). See the source at: Glossary, 'Base Coordinate System' (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to).

    UFACTORY Studio User Manual (online), 2. Glossary · UFACTORY · Glossary, 'Base Coordinate System' (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    The user coordinate system can be defined as any other reference coordinate system rather than the robot base.

    UFACTORY Studio User Manual (online), 2. Glossary · UFACTORY · Glossary, 'User System'

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    After this offset setting, user coordinate system becomes the world origin instead of robot base.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.1.3 Coordinates

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  97. Kind: GapAwaiting cell accesscomp-547

    Not known

    No Ethernet connection, camera port, force-torque sensor interface or user button at the xArm 6's tool end is described in the xArm manual or the product page; the product page lists the end-effector I/O as 2 DI, 2 DO, 2 AI and 1 RS-485.

    Awaiting cell access: this could be confirmed or corrected once the physical S6 cell can be observed.

    Evidence · 2 citations

    End Effector I/O 2*DI/2*DO/2*AI/1*RS485

    UFACTORY xArm product page · UFACTORY · Tech Specs > Hardware, 'End Effector I/O' row (xArm product page, which covers the xArm 5, 6 and 7)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    there is an avionic socket 12-pin female industrial connector

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 Tool IO (manual for the xArm series; this passage names no single model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  98. Kind: GapAwaiting cell accessiface-533

    Not known

    The IP address of the xArm 6 control box at S6, and how the S6 network is laid out (direct PC link, router or switch), are not in the sources; the manuals give only the default range 192.168.1.xxx and the reset address 192.168.1.111.

    Awaiting cell access: this could be confirmed or corrected once the physical S6 cell can be observed.

    Evidence · 2 citations

    The default IP of robotic arm is 192.168.1.xxx

    UFACTORY Studio User Manual (online), 3. Connection · UFACTORY · 3.2 Software Connection

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    The reset IP is 192.168.1.111.

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.5 Reset IP

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  99. Kind: GapAwaiting cell accessiface-534

    Not known

    Which hardware version the S6 xArm 6 is has not been recorded. The online xArm manual's Preface and Hardware Installation chapter state they apply to models XF1305, XI1305 and XS1305, so the sources do not settle whether the manual's descriptions fit the S6 arm.

    Awaiting cell access: this could be confirmed or corrected once the physical S6 cell can be observed.

    Evidence · 2 citations

    Apply to Model: XF1305, XI1305, XS1305.

    UFACTORY xArm Hardware Manual (online), Preface · UFACTORY · Preface, header

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    Apply to Model: XF1305, XI1305, XS1305 (1305 Model).

    UFACTORY xArm Hardware Manual (online), 2. Hardware Installation · UFACTORY · 2. Hardware Installation, header

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  100. Kind: GapAwaiting cell accessiface-564

    Not known

    What tool inputs TI2-TI4 and outputs TO2-TO4 are on the xArm 6 is not documented: UFACTORY Studio lists TI0-TI4 and TO0-TO4, but the xArm manual's tool connector defines only TI0, TI1, TO0 and TO1.

    Awaiting cell access: this could be confirmed or corrected once the physical S6 cell can be observed.

    Evidence · 2 citations

    Digital Input: TI0, TI1, TI2, TI3, TI4, low level by default

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.1 End Effector IO

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Tool Output 0 (TO0) | 2 | Blue | +24V (Power) | 8 | Grey | Tool Output 1 (TO1)

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 pin table, rows 7-10

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  101. Kind: GapAwaiting cell accessiface-565

    Not known

    Whether the xArm 6 has an Ethernet connection at the end flange is not answered by the sources fetched: the xArm manual's Robotic Electrical Interface chapter has an 'End Flange' heading with no text, and its tool I/O pins carry no Ethernet.

    Awaiting cell access: this could be confirmed or corrected once the physical S6 cell can be observed.

    Evidence · 2 citations

    4.1 End Flange

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4. Robotic Electrical Interface, section 4.1

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    There are 12 pins inside the cable with different colors, each color represents different functions

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 Tool IO

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

  102. Kind: Contradictioniface-599

    Sources disagree

    UFACTORY's sources list different sets of tool digital outputs, and none says which the xArm 6 has beyond TO0 and TO1. The product page gives the end-effector I/O as 2 digital outputs, and the xArm manual's tool connector pin table defines TO0 and TO1. UFACTORY Studio's End Effector IO page, which is not written for one model, lists TO0, TO1, TO2, TO3 and TO4. Studio's 'Clear the IO output when the robot is stopped' option names TO0/TO1/TO3/TO4 as the page read on 2026-10-13 (TO0/TO1 on 2026-09-21). No source says what TO2, TO3 and TO4 are on the xArm 6 (iface-564).

    Related: ops-558 Superseded by ops-593 Verified ops-593 Verified spec-563 Verified iface-555 Verified comp-540 Verified iface-563 Verified iface-564 Gap, awaiting cell access

    Evidence · 4 citations

    End Effector I/O 2*DI/2*DO/2*AI/1*RS485

    UFACTORY xArm product page · UFACTORY · Tech Specs > Hardware, 'End Effector I/O' row (xArm product page, which covers the xArm 5, 6 and 7)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Tool Output 0 (TO0) | 2 | Blue | +24V (Power) | 8 | Grey | Tool Output 1 (TO1)

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 pin table, rows 7-8

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    Digital Output: TO0, TO1, TO2, TO3, TO4.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.1 End Effector IO

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Tool Digital Output(TO0/TO1/TO3/TO4)

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.4.3 Advanced Settings, under 'Clear the IO output when the robot is stopped' (read 2026-10-13, publisher's commit cf19147; until that date, at commit 533b75d, it read 'Tool Digital Output(TO0/TO1)')

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  103. Kind: Contradictioniface-603

    Sources disagree

    UFACTORY's documents disagree on the range of the control box's analog inputs AI0 and AI1. The 850 and xArm hardware manuals say the analog interface sets or measures 0-10 V. The Studio manual's Blockly chapter, as read on 2026-10-13, says the Get AI block returns 0–3 V, and gives 0–10 V for AO0 and AO1. Neither says the other is wrong.

    Related: comp-532 Verified iface-545 Verified

    Evidence · 4 citations

    This type of interface can be used to set or measure voltage (0-10V) going into or out of other devices.

    UFACTORY 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.3 Controller Analog IO(AIAO)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    This type of interface can be used to set or measure voltage (0-10V) going into or out of other devices.

    UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.3 Controller Analog IO(AIAO) (manual for the xArm series; this passage names no single model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    Get AI(0): Get the value of AI0 and AI1. Returns: 0–3 V.

    UFACTORY Studio User Manual (online), 5. Blockly · UFACTORY · 5.3.3.1 Controller IO, 'Get AI' (read 2026-10-13, publisher's commit e28e232; the line was not in the text until that date)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Set AO(0), Sync (True): Set the values of AO0 and AO1. Range: 0–10 V.

    UFACTORY Studio User Manual (online), 5. Blockly · UFACTORY · 5.3.3.1 Controller IO, 'Set AO' (read 2026-10-13, publisher's commit e28e232)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  104. Kind: Contradictioniface-604

    Sources disagree

    UFACTORY's documents give one page of UFACTORY Studio two names. The xArm manual says a standard Modbus RTU end effector is debugged under 'Settings-Externals-Modbus RTU'. The Studio manual's Settings chapter, as read on 2026-10-13, heads its section 7.2.5, under 7.2 Externals, 'RS-485'; until that date the section was headed 'Modbus RTU'. UFACTORY's release note for Studio V2.8.2 names the page 'Settings - Externals - RS-485'; no fetched source says from which Studio version the page carries that name.

    Related: comp-545 Verified iface-549 Verified iface-561 Verified

    Evidence · 4 citations

    If end effector supports standard Modbus RTU, user can debug it via 'Settings-Externals-Modbus RTU'.

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 Tool IO, tool RS-485 (chapter text is not split by model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    7.2.5 RS-485

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2 Externals, the heading of section 7.2.5 (read 2026-10-13, publisher's commit cf19147)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    7.2.5 Modbus RTU

    UFACTORY Studio User Manual, 7. Settings, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 7.2 Externals, the heading of section 7.2.5 (text until 2026-10-13, publisher's commit 533b75d)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Settings - Externals - RS-485 - Support independent timeout settings for Modbus RTU and Transparent on the control box or arm end.

    UFACTORY Release Note v2.8.2 · UFACTORY · Studio V2.8.2, Settings items (read 2026-10-13)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  105. Kind: ContradictionAwaiting cell accessiface-703

    Sources disagree

    UFACTORY's documents and the lab give different ways to open UFACTORY Studio for the xArm 6. The Studio manual says Studio is reached through a browser without installing any software, by entering the control box's IP address followed by :18333 (iface-504, iface-505), and UFACTORY's xArm product page calls it web-based software inside the control box, with no installation needed (comp-535, res-512). As reported on 2026-10-23, the lab opens Studio with the desktop app, which learners download (ops-712), and, as seen with the xArm 850, connects it with the app's IP search field and its Connect Server button (ops-711). For operating the arm in the lab, the desktop app is current. The manual's and the product page's records are not superseded: they still say what UFACTORY's documents say.

    Awaiting cell access: this could be confirmed or corrected once the physical S6 cell can be observed.

    Related: iface-504 Verified iface-505 Verified comp-535 Verified res-512 Verified ops-537 Verified ops-711 Inferred, awaiting cell access ops-712 Verified, awaiting cell access res-539 Verified

    Evidence · 5 citations

    UFACTORY Studio can be accessed through a browser directly without installing any software. Now it's compatible with browsers: Google Chrome/ Firefox/ Safari/ Microsoft Edge(Chromium kernel).

    UFACTORY Studio User Manual (online), 1. Preface · UFACTORY · 1. Preface, second paragraph (iface-504's citation)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    Enter 'IP+:18333' on the browser to access UFACTORY Studio.

    UFACTORY Studio User Manual (online), 3. Connection · UFACTORY · 3.2 Software Connection (manual text not model-specific; the Studio manual's Preface lists the xArm 6 among the models it applies to) (iface-505's citation)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    UFACTORY Studio is a web-based software running inside the control box, which means no additional installation needed before running the robot. Any computer with a browser has the access after 1 minute hardware connection.

    UFACTORY xArm product page · UFACTORY · Tech Specs > Software (xArm product page, which covers the xArm 5, 6 and 7) (comp-535's citation)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    2 desktop app, so they should download it if that was not explicitily said

    Owner statements from 2026-09-24 onward (verbatim; S40 and later) · Derek Stringfellow · Statement S244 (2026-10-23), answer 2, to whether the lab opens UFACTORY Studio in a browser or with the desktop app

    Derek Stringfellow, project record · Project-internal record · retrieved 2026-10-04

    There is an IP search for the arm and connect button, you enter the IP from the control box and click on the Connect Server button

    Owner statements from 2026-09-24 onward (verbatim; S40 and later) · Derek Stringfellow · Statement S241 (2026-10-23), on the Connect page's 'Open UFACTORY Studio' steps; the report is of Studio as used with the xArm 850

    Derek Stringfellow, project record · Project-internal record · retrieved 2026-10-04

  106. Kind: GapAwaiting cell accessint-022

    Not known

    The physical I/O that will carry signals between S2 and S4 (and the other stations) is not defined. It may differ from the simulation's signals.

    Awaiting cell access: this could be confirmed or corrected once the physical S6 cell can be observed.

    Related: int-018 Verified

    Evidence · 1 citation

    IO for physical may be different

    Owner statements, 2026-09-21 (verbatim) · Derek Stringfellow · Statement S7

    Derek Stringfellow, project record · Project-internal record · retrieved 2026-09-21

  107. Kind: Gapint-047

    Not known

    What S2 publishes to the other agents or the hub is not defined: placement confirmations, S3 slot updates, faults and error codes, its own ready or busy state, and whether any work-order or traceability data passes through S2. IntelliMake says this will be developed as the simulation is created.

    Related: int-020 Verified int-048 Inferred

    Evidence · 1 citation

    This will be developed as we create the simulation.

    xArm 850 S2 Project: Open Questions for IntelliMake, Batch 01 responses · IntelliMake.org · Question 10, Answer column

    © IntelliMake.org. Used with permission. · Cleared for use by its owner · retrieved 2026-09-29

  108. Kind: Gapint-049

    Not known

    Whether camera C1's or S11's output reaches S2 or the shared hub, and in what form, is not documented, and IntelliMake does not yet know.

    Related: int-023 Verified int-024 Verified int-025 Inferred int-026 Assumed, awaiting cell access

    Evidence · 1 citation

    This is not known at this time.

    xArm 850 S2 Project: Open Questions for IntelliMake, Batch 01 responses · IntelliMake.org · Question 14, Answer column

    © IntelliMake.org. Used with permission. · Cleared for use by its owner · retrieved 2026-09-29

  109. Kind: ContradictionAwaiting cell accesssafety-602

    Sources disagree

    UFACTORY's Studio manual has given two readings of controller error C24. Until 2026-10-13 the row was titled 'Speed Exceeds Limit' and said to check whether the xArm is at a singularity point, or to reduce the speed and acceleration values. As read on 2026-10-13 it is titled 'Joints Speed Exceeds Limit', shows the joint and its speed, and says to check whether the robot is out of its working range, or to turn on 'Use Approximate Solution' under General > Advanced Settings; the row no longer names a singularity or reducing the speed and acceleration, though the manual's Settings chapter describes 'Use Approximate Solution' as using an approximate solution to pass singularities. The Python SDK's code list gives 24 as 'Speed Exceeds Limit', a title only. The manual does not say the earlier handling no longer applies, and no fetched source says which Studio versions show which text.

    Awaiting cell access: this could be confirmed or corrected once the physical S6 cell can be observed.

    Related: iface-591 Verified iface-601 Verified ops-573 Verified ops-590 Verified safety-591 Superseded, awaiting cell access by int-553 Verified, awaiting cell access int-554 Verified, awaiting cell access safety-605 Gap, awaiting cell access int-514 Superseded, awaiting cell access by int-553 Verified, awaiting cell access int-558 Gap, awaiting cell access ops-594 Verified comp-720 Verified

    Evidence · 7 citations

    C24 | Speed Exceeds Limit

    UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 12.1 table, C24 (the text until 2026-10-13: publisher's commit 533b75d)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Please check if the xArm is at singularity point, or reduce the speed and acceleration values.

    UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY · 12.1 table, C24, second line (the text until 2026-10-13: publisher's commit 533b75d)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    C24 | Joints Speed Exceeds Limit

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C24 [general Studio text; the Studio manual says it applies to the xArm6] (read 2026-10-13, publisher's commit e28e232; the page names no Studio or firmware version)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Please check if the robot is out of working range, or go to " General - Advanced Settings" and turn on the "Use Approximate Solution" feature.

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C24, third line (read 2026-10-13, publisher's commit e28e232)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    - 24: Speed Exceeds Limit

    xArm-Python-SDK API code description (doc/api/xarm_api_code.md) · UFACTORY · Controller Error Code

    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21

    Joint ID [x],joint speed is xxx°/s

    UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY · 12.1 table, C24, second line (read 2026-10-13, publisher's commit e28e232)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

    Use Approximate Solution: Use approximate solution to pass Singularities.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.4.3 Advanced Settings (read 2026-10-13, publisher's commit cf19147; the same words at commit 533b75d)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13

  110. Kind: Contradictionspec-564

    Sources disagree

    Sources disagree on the xArm's end-effector communication protocol: the manual's common specification table says Modbus TCP, but the product page says Modbus RTU over RS-485, and the manual's own Tool RS485 section configures standard Modbus RTU end effectors. The manual's Gripper table likewise pairs RS-485 communication with a 'Modbus TCP' protocol.

    Related: comp-551 Verified

    Evidence · 4 citations

    End Effector Communication Protocol Modbus TCP

    UFACTORY xArm Hardware Manual (online), 8. Technical Specifications · UFACTORY · 'End Effector Communication Protocol' row (section '8.1 xArm5/xArm6/xArm7 Common Specifications': applies to all three models)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-15

    End Effector Communication Protocol Modbus RTU(rs485)

    UFACTORY xArm product page · UFACTORY · Tech Specs > Hardware, 'End Effector Communication Protocol' row (xArm product page, which covers the xArm 5, 6 and 7)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21

    If end effector supports standard Modbus RTU, user can debug it via ' Settings-Externals-Modbus RTU '.

    UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.4.4 Tool RS485 (manual for the xArm series; this passage names no single model)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25

    Communication Mode RS-485 Communication Protocol Modbus TCP

    UFACTORY xArm Hardware Manual (online), 8. Technical Specifications · UFACTORY · Gripper table (section '8.1 xArm5/xArm6/xArm7 Common Specifications': applies to all three models)

    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-15

Image Credits

  • 3D model: © 2018 UFACTORY Inc., BSD-3-Clause, from UFACTORY Inc. (xArm-Developer/xarm_ros2). License text · Source

Sources for This Section

  • IntelliMake Phase 1 Factory: Autonomous Production Demonstrator (infographic) · IntelliMake.org (IntelliMake)
    © IntelliMake.org. Used with permission; redrawn for this platform. · Cleared for use by its owner · retrieved 2026-09-21 · cited by 1 record here · Project copy; not published on this site.
  • Owner statements from 2026-09-24 onward (verbatim; S40 and later) · Derek Stringfellow (project owner)
    Derek Stringfellow, project record · Project-internal record · retrieved 2026-10-04 · cited by 5 records here · Project copy; not published on this site.
  • Owner statements, 2026-09-21 (verbatim) · Derek Stringfellow (project owner)
    Derek Stringfellow, project record · Project-internal record · retrieved 2026-09-21 · cited by 1 record here · Project copy; not published on this site.
  • UFACTORY 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21 · cited by 1 record here · Open the source
  • UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY (manufacturer)
    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21 · cited by 4 records here · Open the source
  • UFACTORY Release Note v2.8.2 · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13 · cited by 1 record here · Open the source
  • UFACTORY Studio product and download page · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21 · cited by 1 record here · Open the source
  • UFACTORY Studio User Manual (online), 1. Preface · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21 · cited by 4 records here · Open the source
  • UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21 · cited by 8 records here · Open the source
  • UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13 · cited by 7 records here · Open the source
  • UFACTORY Studio User Manual (online), 2. Glossary · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21 · cited by 3 records here · Open the source
  • UFACTORY Studio User Manual (online), 3. Connection · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21 · cited by 4 records here · Open the source
  • UFACTORY Studio User Manual (online), 4. Live Control · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13 · cited by 4 records here · Open the source
  • UFACTORY Studio User Manual (online), 5. Blockly · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13 · cited by 2 records here · Open the source
  • UFACTORY Studio User Manual (online), 7. Settings · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13 · cited by 14 records here · Open the source
  • UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13 · cited by 4 records here · Open the source
  • UFACTORY Studio User Manual, 7. Settings, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-13 · cited by 1 record here · Open the source
  • UFACTORY xArm Hardware Manual (online), 1. Safety · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25 · cited by 1 record here · Open the source
  • UFACTORY xArm Hardware Manual (online), 2. Hardware Installation · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25 · cited by 4 records here · Open the source
  • UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25 · cited by 13 records here · Open the source
  • UFACTORY xArm Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25 · cited by 13 records here · Open the source
  • UFACTORY xArm Hardware Manual (online), 8. Technical Specifications · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-10-15 · cited by 6 records here · Open the source
  • UFACTORY xArm Hardware Manual (online), Preface · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25 · cited by 2 records here · Open the source
  • UFACTORY xArm product page · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21 · cited by 6 records here · Open the source
  • xArm 850 S2 Project: Open Questions for IntelliMake, Batch 01 responses · IntelliMake.org (IntelliMake)
    © IntelliMake.org. Used with permission. · Cleared for use by its owner · retrieved 2026-09-29 · cited by 2 records here · Project copy; not published on this site.
  • xArm Developer Manual V2.0.1 (PDF) · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21 · cited by 5 records here · Open the source
  • xArm-Python-SDK API code description (doc/api/xarm_api_code.md) · UFACTORY (manufacturer)
    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21 · cited by 5 records here · Open the source
  • xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY (manufacturer)
    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21 · cited by 10 records here · Open the source
  • xArm-Python-SDK example 0000-template.py · UFACTORY (manufacturer)
    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21 · cited by 2 records here · Open the source
  • xArm-Python-SDK README · UFACTORY (manufacturer)
    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21 · cited by 1 record here · Open the source
  • xArm-Python-SDK source, xarm/core/config/x_config.py · UFACTORY (manufacturer)
    © UFACTORY Inc., xArm-Developer/xArm-Python-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21 · cited by 1 record here · Open the source
  • xarm_ros2 ReadMe (humble branch) · UFACTORY (manufacturer)
    © UFACTORY Inc., xArm-Developer/xarm_ros2, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21 · cited by 3 records here · Open the source

IntelliMake diagrams are redrawn as native figures, © IntelliMake.org. UFACTORY does not endorse this platform.

All sources and attribution