References: §8 Control, Communication and Programming Interfaces

Back to §8 Control, Communication and Programming Interfaces

Provenance

References · 149

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, the project owner stated it as the design, or it was observed directly. It does not mean anyone measured it at S2.
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 S2 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-001

    The record says

    UFACTORY lists four programming routes for the 850: UFACTORY Studio, Python, C++ and ROS.

    Evidence · 1 citation

    UFACTORY Studio, Python/C++/ROS

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

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

  2. Confidence: Verifiediface-045

    The record says

    The 850 controller (AC and DC versions) has 16 digital inputs: 8 configurable inputs CI0-CI7 and 8 general digital inputs DI0-DI7.

    Evidence · 1 citation

    8×CI+8×DI(Digital In)

    UFACTORY 850 Hardware Manual (online), 8. Technical Specifications · UFACTORY · Controller table, 'I/O Interface' row

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

  3. Confidence: Verifiediface-046

    The record says

    The 850 controller has 16 digital outputs: 8 configurable outputs CO0-CO7 and 8 general digital outputs DO0-DO7.

    Evidence · 1 citation

    8×CO+8×DO(Digital Out)

    UFACTORY 850 Hardware Manual (online), 8. Technical Specifications · UFACTORY · Controller table, 'I/O Interface' row

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

  4. Confidence: Verifiediface-070

    The record says

    An I/O cable between the control box and other equipment must not be longer than 30 m unless extension testing shows it works.

    Evidence · 1 citation

    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 850 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-21

  5. Confidence: VerifiedAwaiting cell accessops-217

    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 S2 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 850 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

  6. Confidence: Verifiedres-005

    The record says

    UFACTORY's UFACTORY Studio page offers Studio downloads for Windows, macOS and Linux and lists its features: live control, Blockly, recording, IO setting, offline mode, collision detection and hand teaching. Suits beginners and novices.

    Evidence · 2 citations

    Features
    Live control
    Blockly
    Recording
    IO setting
    Offline mode
    Collision detection
    Hand teaching

    UFACTORY Studio product and download page · UFACTORY · Download buttons and feature list

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

    Download
    Windows
    Download
    MacOS
    Download
    Linux

    UFACTORY Studio product and download page · UFACTORY · Download buttons

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

  7. Confidence: Verifiediface-003

    The record says

    UFACTORY Studio runs in a web browser served by the controller, with no software to install; Chrome, Firefox, Safari and Chromium-based Edge are listed 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

  8. 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

  9. Confidence: Verifiediface-050

    The record says

    The controller I/O is meant for connecting devices such as pneumatic relays, PLCs and emergency stop buttons.

    Evidence · 1 citation

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

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

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

  10. Confidence: Verifiediface-023

    The record says

    The 850 arm and its controller communicate with a host over Ethernet using a private (custom) TCP protocol.

    Evidence · 2 citations

    Robotic Arm Communication Protocol | Private TCP(custom)

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

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

    Communication Method | Ethernet

    UFACTORY 850 Hardware Manual (online), 8. Technical Specifications · UFACTORY · Controller table, 'Communication Method' row

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

  11. Confidence: Verifiedapp-025

    The record says

    The Tool Center Point (TCP) is the reference point the arm positions. Without a TCP offset, the tool coordinate system sits at the flange center; a TCP offset moves it to the actual tool point.

    Evidence · 2 citations

    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

  12. Confidence: Verifiedint-003

    The record says

    Station S2 of the Phase 1 factory is the UFactory xArm 850 cobot.

    Evidence · 2 citations

    S2 UFactory xArm 850 Cobot

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

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

    UFactory xArm 850 | S2

    IntelliMake Phase 1 Factory: Autonomous Production Demonstrator (infographic) · IntelliMake.org · HW2 SME topic mapping table

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

  13. Confidence: Verifiedint-004

    The record says

    S2 picks and transfers incoming material between receiving, staging and production.

    Evidence · 1 citation

    Picks and transfers incoming material between receiving, staging, and production.

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

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

  14. Confidence: Verifiediface-002

    The record says

    UFACTORY Studio is a graphical application for controlling the arm: setting parameters, moving the arm in Live Control, and building motion programs from Blockly code blocks.

    Evidence · 1 citation

    Quote not shown (over 40 words). See the source at: 1. Preface, first paragraph.

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

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

  15. Confidence: Verifiedapp-035

    The record says

    The 850 can be programmed graphically through UFACTORY Studio or in code through Python, C++ and ROS.

    Evidence · 1 citation

    UFACTORY Studio, Python/C++/ROS

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

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

  16. Confidence: VerifiedAwaiting cell accessops-216

    The record says

    As used with the xArm 850 at S2, reported on 2026-10-23, UFACTORY Studio's connection screen 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.

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

    Reasoning: Verified as a dated report from the lab, of the screen as it was used with the xArm 850, as of 2026-10-23 and no further. No screenshot of the connection screen is recorded, nor the Studio version it was seen on, 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-005).

    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

    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-005

    The record says

    UFACTORY Studio is opened by entering the controller's IP address followed by port 18333 in a browser (for example 192.168.1.201:18333).

    Evidence · 2 citations

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

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

    © 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-006

    The record says

    Blockly, inside UFACTORY Studio, is a graphical programming tool: programs are built by dragging and dropping code blocks rather than writing code.

    Evidence · 1 citation

    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

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

  19. Kind: Gapcomp-042

    Not known

    No dedicated teach pendant for the 850 is documented in the sources fetched: teaching is by browser (UFACTORY Studio) and by hand guiding. User Manual V2.3.0 lists stop categories for a 'Three-Position Enabling Device', but no source fetched names the product or says whether it is offered for the 850.

    Evidence · 1 citation

    Three-Position Enabling Device Performs a Stop Category 2.

    UFACTORY 850 User Manual V2.3.0 (PDF, older edition) · UFACTORY · Appendix 7, 1.8 Stop Categories, p.184 (manual names the machine '850' / 'UFactory 850')

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

  20. Confidence: Verifiediface-037

    The record says

    UFACTORY recommends connecting the control box directly to the PC by Ethernet cable; a router, a network switch, or a wireless link to a router are the other options.

    Evidence · 2 citations

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

    UFACTORY 850 Hardware Manual (online), 2. Hardware Installation · UFACTORY · 2.2.3.3 Controller Networking, option 1

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

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

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

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

  21. Confidence: Verifiediface-038

    The record says

    A wireless link between the PC and the router is not recommended because of delay and packet loss.

    Evidence · 1 citation

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

    UFACTORY 850 Hardware Manual (online), 2. Hardware Installation · UFACTORY · 2.2.3.3 Controller Networking, option 3 note

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

  22. Confidence: Verifiediface-039

    The record says

    The arm's default IP address is in the 192.168.1.xxx range, and the PC must be on the same network segment as the control box.

    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

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

  23. Confidence: Verifiedcomp-017

    The record says

    UFACTORY calls the control box the core of the 850: it houses the arm's control system.

    Evidence · 1 citation

    The control box, core part of the robotic arm, is the integration of the robotic arm control system.

    UFACTORY 850 User Manual V2.3.0 (PDF, older edition) · UFACTORY · Terms and Definitions, 'Control Box', p.6 (manual names the machine '850' / 'UFactory 850')

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

  24. Confidence: Verifiedcomp-021

    The record says

    The 850 control box front panel has a ROBOT PWR indicator (on when the arm is powered), a STATE indicator (flashes when the control box is powered), a LAN indicator (on when communicating normally), and an EMERGENCY STOP button.

    Evidence · 4 citations

    ROBOT power indicator ROBOT PWR The light is on, indicating that the 850 is powered on.

    UFACTORY 850 User Manual V2.3.0 (PDF, older edition) · UFACTORY · Hardware Section 1.1.3 Control Box Description, p.20 (manual names the machine '850' / 'UFactory 850')

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

    Emergency stop button EMERGENCY STOP

    UFACTORY 850 User Manual V2.3.0 (PDF, older edition) · UFACTORY · same table (manual names the machine '850' / 'UFactory 850')

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

    Control Box power status indicator STATE The light flashes, indicating that the control box is powered on.

    UFACTORY 850 User Manual V2.3.0 (PDF, older edition) · UFACTORY · same table (manual names the machine '850' / 'UFactory 850')

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

    Network port indicator LAN The light is on, indicating that the 850 is communicating normally.

    UFACTORY 850 User Manual V2.3.0 (PDF, older edition) · UFACTORY · same table (manual names the machine '850' / 'UFactory 850')

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

  25. Confidence: Verifiediface-047

    The record says

    The 850 controller has 2 analog inputs (AI0, AI1) and 2 analog outputs (AO0, AO1).

    Evidence · 1 citation

    2×AI(Analog In) 2×AO(Analog Out)

    UFACTORY 850 Hardware Manual (online), 8. Technical Specifications · UFACTORY · Controller table, 'I/O Interface' row

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

  26. Confidence: Verifiediface-067

    The record says

    The 850 manual's example for the analog outputs is driving a conveyor belt's analog speed-control input from AO0 or AO1.

    Evidence · 1 citation

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

    UFACTORY 850 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-21

  27. Confidence: Verifiediface-079

    The record says

    The 850's tool end has a 12-pin female industrial (avionic) connector that supplies power and control signals to grippers and sensors.

    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 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 Tool IO

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

  28. Confidence: Verifiediface-071

    The record says

    A safety signal must never be connected to a non-safety PLC.

    Evidence · 1 citation

    Never connect a safety signal to a non-safety PLC.

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

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

  29. Confidence: Verifiedsafety-057

    The record says

    UFACTORY warns never to connect a safety signal to a non-safety PLC, because doing so can defeat the safety stop and cause serious injury or death.

    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 850 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-21

  30. Confidence: Verifiedsafety-049

    The record says

    The 850 control box has two fixed safety inputs: the emergency stop input (EI), used only for emergency stops, and the protective stop input (SI), used for all other safety protection.

    Evidence · 1 citation

    There are two fixed safety inputs: The robotic arm emergency stop input is only used for the emergency stop of the device. The protective stop input is used for all types of safety protection.

    UFACTORY 850 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-21

  31. Confidence: Verifiediface-010

    The record says

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

    Evidence · 2 citations

    pip install xarm-python-sdk

    xArm-Python-SDK README · UFACTORY · Installation, 'Install from pypi'

    © 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

  32. Confidence: Verifiediface-016

    The record says

    UFACTORY's ROS 2 package xarm_ros2 added support for the UFACTORY 850 on 2023-06-07.

    Evidence · 1 citation

    (2023-06-07) Added support for UFACTORY850 robotic arm

    xarm_ros2 ReadMe (humble branch) · UFACTORY · 2. Update History

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

  33. Confidence: Verifiediface-007

    The record says

    A Blockly program in UFACTORY Studio can be converted to Python code from the Blockly toolbar.

    Evidence · 1 citation

    Convert to Python:Convert to Python code.

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

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

  34. Confidence: Verifiediface-008

    The record says

    UFACTORY Studio also accepts Gcode programs; UFACTORY Gcode follows the RS-274 standard and is compatible with LinuxCNC Gcode.

    Evidence · 1 citation

    UFACTORY Gcode refers to the RS-274 standard and is compatible with LinuxCNC Gcode

    UFACTORY Studio User Manual (online), 6. Gcode · UFACTORY · 6. Gcode, introduction

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

  35. 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

  36. Confidence: Verifiediface-014

    The record says

    A C++ SDK (xArm-CPLUS-SDK) is published by UFACTORY for the 850, xArm 5/6/7 and Lite 6.

    Evidence · 1 citation

    C++ SDK for UFACTORY robots, 850, xArm5/6/7, and Lite6.

    xArm-CPLUS-SDK repository description (GitHub repository metadata) · UFACTORY · GitHub repository description field (fetched via the GitHub REST API)

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

  37. Confidence: Verifiediface-022

    The record says

    UFACTORY's ROS 1 package xarm_ros also supports the 850 (added 2023-06-07); 850 users are directed to a separate ReadMe for Lite6/UF850.

    Evidence · 2 citations

    For **UFACTORY Lite 6/850** users, make sure you have followed the instructions before chapter 4.7 on this page, then switch to [ReadMe for Lite6/UF850](./ReadMe_others.md).

    xarm_ros ReadMe (ROS 1, master branch) · UFACTORY · Top of ReadMe

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

    (2023-06-07) Added support for __UFACTORY850__ robotic arm

    xarm_ros ReadMe (ROS 1, master branch) · UFACTORY · Update history

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

  38. Confidence: Verifiediface-041

    The record says

    UFACTORY Studio's Settings > My Device > Device Info page shows the arm's IP address, subnet mask, broadcast address and default gateway; the DNS address can be changed there.

    Evidence · 1 citation

    Display the IP address of the robotic arm, subnet mask, broadcast address, and default gateway. The DNS address can be modified and added.

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

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

  39. Confidence: Verifiediface-040

    The record says

    After an IP reset, the control box's IP address is 192.168.1.111.

    Evidence · 1 citation

    The reset IP is 192.168.1.111.

    UFACTORY 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.5 Reset IP, step 3

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

  40. Confidence: Verifiediface-042

    The record says

    The 850 has a user Ethernet line through the arm: an RJ45 port on the base is wired by an internal 1000M cable to an M8 4-pole Ethernet connector on the end flange, for example for vision devices.

    Evidence · 1 citation

    The user Ethernet interface(RJ45) of the arm base is connected to the Ethernet interface(M8 4-pole) of the end flange through a physical internal **1000M** Ethernet cable

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.5 Ethernet Interface

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

  41. Confidence: Verifiediface-058

    The record says

    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 except Stop Moving, Safeguard Reset and Reduced Mode.

    Evidence · 9 citations

    | Configurable Function | CI0-CI7 | DI0-DI7 |

    UFACTORY 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4, Configurable IO table, header

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

    DI0-DI7 are not equipped with the following three functions: stop moving, safeguard reset, and reduced mode.

    UFACTORY 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.1.4 NOTE

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

    | General Input | Yes | Yes |

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

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

    | Stop Moving | Yes | No |

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

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

    | Safeguard Reset | Yes | No |

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

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

    | Offline Task | Yes | Yes |

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

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

    | Manual Mode | Yes | Yes |

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

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

    | Reduced Mode | Yes | No |

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

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

    | Enable Robot | Yes | Yes |

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

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

  42. Confidence: Verifiediface-059

    The record says

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

    Evidence · 12 citations

    | Configurable Function | CO0-CO7 | DO0-DO7 |

    UFACTORY 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4, Configurable output table, header

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

    | Emergency Stop is Pressed | Yes | Yes |

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

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

    | Offline Task Running | Yes | Yes |

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

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

    | General Output | Yes | Yes |

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

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

    | Motion Stopped | Yes | Yes |

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

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

    | Robot Moving | Yes | Yes |

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

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

    | Error | Yes | Yes |

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

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

    | Warning | Yes | Yes |

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

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

    | Collision | Yes | Yes |

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

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

    | Manual Mode | Yes | Yes |

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

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

    | Reduced Mode | Yes | Yes |

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

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

    | Robot Enabled | Yes | Yes |

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

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

  43. Confidence: Verifiediface-061

    The record says

    An input configured as Offline Task starts stored Blockly programs when triggered, so external equipment can start a program by an I/O signal.

    Evidence · 1 citation

    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

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

  44. Confidence: Verifiediface-062

    The record says

    An input configured as Enable Robot enables the arm when triggered.

    Evidence · 1 citation

    **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

  45. Confidence: Verifiediface-060

    The record says

    A controller input used by a program must be set as General Input; if it is configured for a function (for example Offline Task), it must not be used in any program.

    Evidence · 1 citation

    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

  46. Confidence: Verifiediface-063

    The record says

    By default the controller digital inputs read high, the digital outputs are low, and the analog outputs are at 0 V (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

    © 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

  47. Confidence: Verifiediface-064

    The record says

    The controller's analog inputs and outputs work in the 0-10 V range at 12-bit resolution.

    Evidence · 2 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

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

    UFACTORY 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.3, table, [AIx - AG] Resolution

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

  48. Confidence: Verifiediface-069

    The record says

    To exchange signals with other machines or PLCs over digital I/O, the two sides need a common GND (0 V) and the other machine should use open-drain outputs.

    Evidence · 1 citation

    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 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.2.3 Communicate with other Machines or PLCs

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

  49. Confidence: Verifiediface-055

    The record says

    The controller's digital outputs have no current protection; exceeding the specified values can cause permanent damage.

    Evidence · 1 citation

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

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

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

  50. Confidence: Verifiediface-051

    The record says

    The controller's digital I/O can be powered from the internal 24 V supply (the default) or from an external 24 V supply when more current is needed.

    Evidence · 2 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 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4 Controller Electrical IO

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

    The default configuration is to use internal power, see below.

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

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

  51. Confidence: Verifiediface-048

    The record says

    The 850 controller has one RS-485 port, and the arm can act only as master on it.

    Evidence · 2 citations

    1×RS-485 Master

    UFACTORY 850 Hardware Manual (online), 8. Technical Specifications · UFACTORY · Controller table, 'I/O Interface' row

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

    When using M_A and M_B, the robotic arm can only be considered as a master.

    UFACTORY 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.4 Controller RS485, note 2

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

  52. Confidence: Verifiediface-080

    The record says

    The tool connector has 2 digital outputs, TO0 (pin 7) and TO1 (pin 8).

    Evidence · 3 citations

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

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 Tool IO, pin table

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

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

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 Tool IO, pin table

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

    8 tool Digital Output (Now only 2 effective)

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Appendix, Coil Registers 32~39 (xArm-series Modbus map)

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

  53. Confidence: Verifiediface-081

    The record says

    The tool connector has 2 digital inputs, TI0 (pin 9) and TI1 (pin 10).

    Evidence · 3 citations

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

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 Tool IO, pin table

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

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

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 Tool IO, pin table

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

    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 32~39 (xArm-series Modbus map)

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

  54. Confidence: Verifiediface-082

    The record says

    The tool connector has 2 analog inputs, AI0 (pin 11) and AI1 (pin 12), and a user RS-485 pair on pins 5 (A) and 6 (B).

    Evidence · 3 citations

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

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 Tool IO, pin table

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

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

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 Tool IO, pin table

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

    4 tool analog inputs (now only 2 effective)

    UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY · Appendix, Input Registers 7~10 (xArm-series Modbus map)

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

  55. Confidence: Verifiediface-083

    The record says

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

    Evidence · 2 citations

    | Supply Current | - | - | 1800 | mA |

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 Tool IO, Electrical Specifications

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

    | Supply Voltage in 24V Mode | 20 | 24 | 30 | V |

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2 Tool IO, Electrical Specifications

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

  56. Confidence: Verifiediface-089

    The record says

    The tool end has a user button and an LED on tool I/O TI2 and TO2: setting TO2 high with set_tgpio_digital(ionum=2, value=1) lights the LED blue, and the button's function is left for the user to define.

    Evidence · 4 citations

    The function of this button has not been defined yet, user can custom and develop it.

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.4 Lighting

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

    arm.set_tgpio_digital(ionum=2, value=1)

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.4 Lighting, code

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

    Tool Digital IO: TI2, TO2.

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.4 Lighting

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

    # SET TO2 to high level,the LED will be Blue.

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.4 Lighting, code comment

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

  57. Confidence: Verifiediface-090

    The record says

    A pogo-pin connector at the tool end follows the same electrical specifications as the tool I/O connector.

    Evidence · 1 citation

    Electrical specifications comply with Tool IO specifications.

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.3 Pogo Pin Connector

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

  58. Confidence: Verifiediface-092

    The record says

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

    Evidence · 4 citations

    Update Frequency: 5HZ.

    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 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

  59. Confidence: Verifiediface-142

    The record says

    UFACTORY Studio can switch to a simulated arm, which still needs a real arm connected: the real arm does not move, but settings made in simulation apply to it.

    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

    © 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

  60. Confidence: Verifiedsafety-034

    The record says

    UFACTORY Studio warns that in simulated robotic arm mode the unlock-joint button still unlocks the real joints, and that settings made in simulation mode apply to the real arm.

    Evidence · 2 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

    © 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

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

  61. Confidence: Verifiedsafety-060

    The record says

    In UFACTORY Studio, controller input functions trigger on a low-level input signal; an input configured as Manual Mode lets the arm be dragged freely while that input stays low.

    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

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

    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, Manual Mode

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

  62. Confidence: Verifiediface-011

    The record says

    In the Python SDK the arm is controlled through the XArmAPI class (imported from xarm.wrapper), whose first argument is the controller's IP address.

    Evidence · 2 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

    :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

  63. Confidence: Verifiedops-036

    The record says

    SDK start-up (UFACTORY template, step 4): enable motion with motion_enable(enable=True).

    Evidence · 2 citations

    4. Enable motion

    xArm-Python-SDK example 0000-template.py · UFACTORY · Docstring, step 4

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

    arm.motion_enable(enable=True)

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

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

  64. Confidence: Verifiedops-037

    The record says

    SDK start-up (UFACTORY template, step 5): set the mode, e.g. set_mode(0) for position control.

    Evidence · 2 citations

    5. Setting mode

    xArm-Python-SDK example 0000-template.py · UFACTORY · Docstring, step 5

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

    arm.set_mode(0)

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

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

  65. Confidence: Verifiedops-038

    The record says

    SDK start-up (UFACTORY template, step 6): set the state with set_state(state=0); the arm then accepts motion commands.

    Evidence · 2 citations

    6. Setting state

    xArm-Python-SDK example 0000-template.py · UFACTORY · Docstring, step 6

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

    arm.set_state(state=0)

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

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

  66. Confidence: Verifiediface-024

    The record says

    The Python SDK sends commands to the controller on TCP port 502 (TCP_CONTROL_PORT).

    Evidence · 1 citation

    TCP_CONTROL_PORT = 502

    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

  67. Confidence: Verifiediface-097

    The record says

    In mode 0, set_servo_angle makes point-to-point joint moves, set_position and set_position_aa make straight-line Cartesian moves, move_arc_lines blends lines with arcs, and move_circle makes circular moves.

    Evidence · 3 citations

    Mode 0: Position Control Mode | To achieve the point-to-point motion of joint space (unit: degree/radian), the speed between each command is discontinuous.

    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

    Python Example: [set_position]

    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

    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

  68. Confidence: Verifiediface-098

    The record says

    The SDK's set_position and set_servo_angle work in the base coordinate system; pass wait=True to block until the move finishes.

    Evidence · 2 citations

    4. This interface is only used in the base coordinate system.

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

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

    If you want to wait for the robot to complete this action and then return, please set the parameter wait to True.

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

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

  69. Confidence: Verifiediface-124

    The record says

    Every Python SDK call returns a code; 0 means success.

    Evidence · 1 citation

    - 0: success

    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

  70. Confidence: Verifiediface-013

    The record says

    Units differ by interface: the Python SDK and Blockly use degrees for joint angles and roll/pitch/yaw, while the raw communication protocol uses radians; positions are in millimeters in all three.

    Evidence · 2 citations

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

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

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

    | Parameter | Python-SDK | Blockly | Communication Protocol |

    UFACTORY 850 Hardware Manual (online), Preface · UFACTORY · Preface, 'Unit Definition' table, header

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

  71. Confidence: Verifiediface-012

    The record says

    The Python SDK works in degrees by default: the XArmAPI constructor parameter is_radian defaults to False.

    Evidence · 1 citation

    :param is_radian: set the default unit is radians or not, default is False

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

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

  72. Confidence: Verifiediface-026

    The record says

    Besides UFACTORY's private TCP protocol, the controller accepts standard Modbus TCP commands on port 502, at the controller's IP address; the port cannot be changed.

    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 (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' (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' (read 2026-10-13, publisher's commit cf19147)

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

    Protocol: Select "Standard Modbus TCP" or "UFACTORY Private TCP".

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.6 Modbus TCP, 'Protocol' (read 2026-10-13, publisher's commit cf19147)

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

  73. Confidence: Verifiediface-034

    The record says

    The Python SDK defines automatic state-report ports 30001 (normal), 30002 (rich) and 30003 (real-time/develop) on the controller.

    Evidence · 3 citations

    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

  74. Confidence: Inferrediface-035

    The record says

    The automatic report on port 30003 is sent at 100 Hz; the reports on ports 30001 and 30002 are sent at 5 Hz.

    Why we infer this: Both sources are UFACTORY documents written for the xArm series (the xarm_ros report_type section falls after chapter 4.7, which the ReadMe says 850 users should not follow, and the Developer Manual covers xArm 5/6/7). The 850 uses the same SDK report ports (x_config.py), so the same rates very likely apply, but no 850-specific document states them.

    Evidence · 4 citations

    | dev | 30003 | 100Hz | Not Available | Available |

    xarm_ros ReadMe (ROS 1, master branch) · UFACTORY · 5.7.10 'report_type' argument, table

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

    | normal | 30001 | 5Hz | Not Available | Not Available |

    xarm_ros ReadMe (ROS 1, master branch) · UFACTORY · 5.7.10 'report_type' argument, table

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

    Default Port 30003 Frequency 100Hz

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

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

    | rich | 30002 | 5Hz | Available | Available |

    xarm_ros ReadMe (ROS 1, master branch) · UFACTORY · 5.7.10 'report_type' argument, table

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

  75. Confidence: Verifiediface-052

    The record says

    The internal 24 V I/O supply (PWR-GND) delivers 23-30 V (24 V typical) at up to 1.8 A.

    Evidence · 2 citations

    | [PWR - GND] | Current | 0 | - | 1.8 | A |

    UFACTORY 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4, power supply table, Built-in 24V row (Current)

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

    [PWR - GND] Voltage 23 24 30 V

    UFACTORY 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.3 electrical specifications, Built-in 24V Power Supply

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

  76. Confidence: Verifiediface-053

    The record says

    An external I/O supply must provide 20-30 V (24 V typical); the input accepts up to 3 A.

    Evidence · 2 citations

    | [24V - 0V] | Current | 0 | - | 3 | A |

    UFACTORY 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4, power supply table, External 24V row (Current)

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

    | [24V - 0V] | Voltage | 20 | 24 | 30 | V |

    UFACTORY 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4, power supply table, External 24V row (Voltage)

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

  77. Confidence: Verifiediface-054

    The record says

    Controller digital outputs are NPN open-collector (open-drain) outputs that pull the terminal to GND when on, rated at up to 100 mA.

    Evidence · 2 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.

    UFACTORY 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.2.2 Controller Digital Output(CO)

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

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

    UFACTORY 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4, digital I/O table, [COx] Current

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

  78. Confidence: Verifiediface-056

    The record says

    Controller digital inputs have a weak pull-up, so a floating input reads high; an input is ON at 0-5 V (low level) and OFF at 15-30 V.

    Evidence · 3 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 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.2.1 Controller Digital Input(CI)

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

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

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

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

    [EIx/SIx/CIx/RIx] OFF Area 15 - 30 V

    UFACTORY 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.3 electrical specifications, Digital Input

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

  79. Confidence: Verifiediface-057

    The record says

    Configured I/O functions on the controller inputs are triggered by a low-level input signal.

    Evidence · 1 citation

    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

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

  80. Confidence: Verifiediface-065

    The record says

    Each controller analog output can source up to 20 mA.

    Evidence · 1 citation

    | [AOx - AG] | Current | 0 | - | 20 | mA |

    UFACTORY 850 Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY · 3.4.3, table, [AOx - AG] Current

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

  81. Confidence: Verifiediface-066

    The record says

    The controller's analog I/O is not isolated from the control box, so the external device should share the control box's GND, and shielded or twisted-pair cable is recommended.

    Evidence · 2 citations

    The device and Control box use the same ground (GND). The analog I/O is not isolated from the control box.

    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

    Use shielded cables or twisted pairs.

    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

  82. Confidence: Verifiediface-084

    The record says

    Tool digital inputs have a pull-down, so a floating input reads low; logic low is at most 1.0 V and logic high at least 1.6 V.

    Evidence · 3 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 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2.1 Tool Digital Input(TI)

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

    | Logic High Voltage | 1.6 | - | - | V |

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2.1 table

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

    Logic Low Voltage - - 1.0 V

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2.1 Tool Digital Input, electrical specifications

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

  83. Confidence: Verifiediface-085

    The record says

    Tool digital outputs are NPN open-collector outputs rated at up to 100 mA sink current, with no current protection.

    Evidence · 3 citations

    The digital output is implemented in the form of NPN with an open collector (OC).

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2.2 Tool Digital Output(TO)

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

    | Sink Current | 0 | - | 100 | mA |

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2.2 table

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

    There is no current protection on the digital output of the tool

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

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

  84. Confidence: Verifiediface-086

    The record says

    Tool analog inputs are non-differential, 12-bit, and accept -0.5 to 3.3 V in voltage mode; a 4-20 mA current mode is also described.

    Evidence · 4 citations

    The tool analog input is a non-differential input.

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2.3 Tool Analog Input(TAI)

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

    | Input Voltage in Voltage Mode | -0.5 | - | 3.3 | V |

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2.3 table

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

    Pull-down Resistors in the 4mA to 20mA Current Range

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2.3 table

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

    Resolution - 12 - Bit

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.2.3 Tool Analog Input, electrical specifications

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

  85. Confidence: Verifiediface-087

    The record says

    The tool-end RS-485 device ID is 9; devices that speak standard Modbus RTU can be tested from UFACTORY Studio's Settings > Externals > Modbus RTU page.

    Evidence · 2 citations

    The id of our end tool is 9.

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

    © 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 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.4.4 Tool RS485

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

  86. Kind: Contradictioniface-152

    Sources disagree

    UFACTORY's documents give one page of UFACTORY Studio two names. The 850 hardware 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-051 Verified iface-087 Verified iface-088 Verified

    Evidence · 4 citations

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

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

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

    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

  87. Confidence: Verifiediface-088

    The record says

    The default baud rate on UFACTORY Studio's RS-485 page is 2000000; choosing an end effector in Studio sets its default baud rate (2000000 for the xArm Gripper, 115200 for Robotiq grippers).

    Evidence · 2 citations

    Baud Rate: 2000000 by default.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.2.5 RS-485, 'Baud Rate' (read 2026-10-13, publisher's commit cf19147; until that date, at commit 533b75d, the section was headed '7.2.5 Modbus RTU' and the line read 'Sets the baud rate, the default baud rate is 2000000.')

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

    the default baud rate of xArm Gripper is 2000000, the default baud rate of Robotiq gripper is 115200.

    UFACTORY Studio User Manual (online), 4. Live Control · UFACTORY · 4.1 End Effector

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

  88. Confidence: Verifiediface-119

    The record says

    When the controller has an error or warning, it is returned in the reply to the next command the user sends; UFACTORY Studio's manual says this feedback is passive, not pushed.

    Evidence · 1 citation

    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

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

  89. Confidence: Verifiediface-122

    The record says

    UFACTORY documents error codes in separate families: API return codes, controller warning codes, controller error codes, servo (joint) error codes, and codes for the gripper, BIO gripper, linear motor and six-axis force-torque sensor.

    Evidence · 3 citations

    - [Controller Error Code](#controller-error-code)

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

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

    - [Servo Error Code](#servo-error-code)

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

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

    - [API Code](#api-code)

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

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

  90. Confidence: Verifiediface-123

    The record says

    The Studio manual prefixes codes by family: C for control box errors (e.g. C31), S for joint servo errors (e.g. S23) and A for Python SDK codes (e.g. A-2).

    Evidence · 3 citations

    | C31

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

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

    | S23

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

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

    | A-2

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

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

  91. Confidence: Verifiediface-125

    The record says

    API code -1 means the arm is not connected, and -2 means it is not ready (motion not enabled or state not set).

    Evidence · 2 citations

    - -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

  92. Confidence: Verifiediface-126

    The record says

    API code 1 means there are uncleared errors, 2 means uncleared warnings, and 9 means the state is not ready to move.

    Evidence · 3 citations

    - 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

  93. Confidence: Verifiediface-127

    The record says

    The Python SDK's code list gives controller error 1 as the Emergency Stop Button pushed (the list does not say which button), 2 as the Emergency IO of the Control Box triggered, and 3 as the Emergency Stop Button of the Three-state Switch pressed.

    Evidence · 3 citations

    - 1: The Emergency Stop Button is pushed

    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

    - 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

    - 3: The Emergency Stop Button of the Three-state Switch is pressed

    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

  94. Kind: ContradictionAwaiting cell accesssafety-148

    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 S2 cell can be observed.

    Related: safety-040 Verified safety-146 Verified iface-127 Verified safety-049 Verified safety-137 Superseded, awaiting cell access by int-549 Verified, awaiting cell access safety-604 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 (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

  95. Confidence: Verifiediface-129

    The record says

    Controller error 22 is a self-collision error, 23 means a joint angle is past its limit, and 24 means speed is over its limit.

    Evidence · 3 citations

    - 22: Self-Collision 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

    - 23: Joints Angle Exceed 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

    - 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

  96. Confidence: Verifiediface-130

    The record says

    The Python SDK's controller error list gives error 31 as 'Collision Caused Abnormal Current'.

    Evidence · 1 citation

    - 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

  97. Confidence: Verifiediface-131

    The record says

    Controller error 35 means the arm reached its safety boundary, and 37 means abnormal movement in manual mode.

    Evidence · 2 citations

    - 35: Safety Boundary 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

    - 37: Abnormal movement in Manual Mode

    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

  98. Confidence: Verifiediface-147

    The record says

    The Python SDK has set_simulation_robot(on_off) ('Set the simulation robot', True/False) and an is_simulation_robot property. In the SDK code, set_simulation_robot runs only while the SDK is connected to a controller and sends a register write (SET_SIMULATION_ROBOT) to that controller: it is a flag set on a live controller connection, not a separate simulator.

    Evidence · 5 citations

    Set the simulation robot > > :param on_off: True/False

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

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

    Is simulation robot or not

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

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

    @xarm_is_connected(_type='set') def set_simulation_robot(self, on_off): ret = self.arm_cmd.set_simulation_robot(on_off)

    xArm-Python-SDK source, xarm/x3/base.py · UFACTORY · class Base, set_simulation_robot

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

    def set_simulation_robot(self, on_off): txdata = [int(on_off)] return self.set_nu8(XCONF.UxbusReg.SET_SIMULATION_ROBOT, txdata, 1)

    xArm-Python-SDK source, xarm/core/wrapper/uxbus_cmd.py · UFACTORY · set_simulation_robot

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

    if self.connected: return func(self, *args, **kwargs) else: logger.error('xArm is not connected')

    xArm-Python-SDK source, xarm/x3/decorator.py · UFACTORY · xarm_is_connected

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

  99. Confidence: Inferrediface-148

    The record says

    The controller that the SDK simulation flag is set on is the real 850 control box the program is connected to, so a program using the flag is still connected to a controller that drives the real arm.

    Why we infer this: Verified: set_simulation_robot is a register write sent over the SDK's live controller connection (iface-147); the SDK connects to a controller by its IP address (ops-035); UFACTORY Studio's simulated-arm mode needs a real arm connected and applies its settings to the real arm (iface-142, safety-034). Inferred: no fetched UFACTORY document describes a stand-alone controller for the SDK to connect to, so the connection is to the real 850 controller; the SDK documentation itself does not say what the controller does while the flag is on.

    Evidence · 3 citations

    arm = XArmAPI(ip, do_not_open=True)

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

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

    return self.set_nu8(XCONF.UxbusReg.SET_SIMULATION_ROBOT, txdata, 1)

    xArm-Python-SDK source, xarm/core/wrapper/uxbus_cmd.py · UFACTORY · set_simulation_robot

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

    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

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

  100. Confidence: Inferrediface-144

    The record says

    UFACTORY's Modbus TCP developer manual tells developers to learn the user manual and UFACTORY Studio first, because programming the arm directly over the protocol carries more risk.

    Why we infer this: The Developer Manual V2.0.1 is written for the xArm series and does not name the 850; the 850 uses the same private TCP protocol family, SDKs and UFACTORY Studio, so the advice applies equally, but this is an inference.

    Evidence · 1 citation

    Before meeting the above conditions, we strongly recommend operators should refer to 'xArm User Manual' and program xArm robot by xArm Studio.

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · 1.1 Notice (p.3)

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

  101. Confidence: Verifiediface-015

    The record says

    The current C++ SDK supports Linux and Windows, with macOS support in beta.

    Evidence · 1 citation

    The current version supports Linux/windows/MacOS(beta)

    xArm-C++-SDK ReadMe · UFACTORY · Overview

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

  102. Confidence: Verifiediface-017

    The record says

    xarm_ros2 keeps one code branch per ROS 2 version; its tested environments include Ubuntu 22.04 with ROS Humble and Ubuntu 24.04 with ROS Jazzy (Foxy, Galactic and Rolling are also listed).

    Evidence · 3 citations

    - Ubuntu 22.04 + ROS Humble

    xarm_ros2 ReadMe (humble branch) · UFACTORY · 1. Introduction, environment list

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

    - Ubuntu 24.04 + ROS Jazzy

    xarm_ros2 ReadMe (humble branch) · UFACTORY · 1. Introduction, environment list

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

    Please switch to the corresponding code branch according to different ros2 versions

    xarm_ros2 ReadMe (humble branch) · UFACTORY · 1. Introduction

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

  103. Confidence: Verifiedsafety-009

    The record says

    UFACTORY says no people or other equipment should be in the 850's working area while the arm is operating.

    Evidence · 1 citation

    When the robotic arm is in operation, make sure no people or other equipment are in the working area.

    UFACTORY 850 Hardware Manual (online), 1. Safety · UFACTORY · 1.3, DANGER list

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

  104. Confidence: Verifiediface-146

    The record says

    UFACTORY's own 850 documentation names the Python, C++ and ROS SDKs as programming options for the 850, and the 850 User Manual V2.3.0 points 850 users to xarm_ros and xarm_ros2 as the '850-ROS-library'. So the xArm-Python-SDK and xArm-C++-SDK documentation and code apply to the 850. The ROS READMEs apply only in part: the xarm_ros README tells Lite 6/850 users to follow it only up to chapter 4.7 and then switch to a separate Lite6/UF850 ReadMe, and the xarm_ros2 README marks its additional tests as xArm-only. A claim drawn from the ROS READMEs is therefore Verified for the 850 only where the quoted text, or the section it sits in, names the 850 or uf850. None of this extends to the Modbus TCP manual or the xArm Developer Manual.

    Evidence · 6 citations

    Programming UFACTORY Studio, Python/C++/ROS

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

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

    The operator must be trained to guarantee a correct operation procedure when using SDK(Python/ROS/C++) and graphical interface UFactory studio.

    UFACTORY 850 Hardware Manual (online), 1. Safety · UFACTORY · 1. Safety, introduction

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

    Enable button on the UFACTOR Studio or Python SDK motion_enable(true)

    UFACTORY 850 Hardware Manual (online), 2. Hardware Installation · UFACTORY · 2.1.2 Emergency Stop Button, restart steps

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

    850-ROS-library: Users can view related documents at https://github.com/xArm-Developer/xArm_ros https://github.com/xArm-Developer/xarm_ros2

    UFACTORY 850 User Manual V2.3.0 (PDF, older edition) · UFACTORY · Error handling, re-power-on steps

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

    For **UFACTORY Lite 6/850** users, make sure you have followed the instructions before chapter 4.7 on this page, then switch to [ReadMe for Lite6/UF850](./ReadMe_others.md).

    xarm_ros ReadMe (ROS 1, master branch) · UFACTORY · Top of README

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

    Below additional tests are just for xArm

    xarm_ros2 ReadMe (humble branch) · UFACTORY · §5.7

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

  105. Confidence: Verifiediface-018

    The record says

    In xarm_ros2 the 850 driver is started with 'ros2 launch xarm_api uf850_driver.launch.py robot_ip:=<controller IP>'.

    Evidence · 1 citation

    ros2 launch xarm_api uf850_driver.launch.py robot_ip:=192.168.1.181

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

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

  106. Confidence: Verifiediface-019

    The record says

    For the 850, the xarm_ros2 service examples use the /ufactory namespace (for example /ufactory/set_mode), whereas the xArm 6 examples use /xarm.

    Evidence · 3 citations

    ros2 service call /ufactory/set_mode xarm_msgs/srv/SetInt16 "{data: 0}"

    xarm_ros2 ReadMe (humble branch) · UFACTORY · 5.4 xarm_api, UFACTORY850 example

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

    ros2 service call /xarm/set_mode xarm_msgs/srv/SetInt16 "{data: 0}"

    xarm_ros2 ReadMe (humble branch) · UFACTORY · 5.4 xarm_api, xArm example

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

    the services provided by xArm series and Lite 6 have different namespaces

    xarm_ros2 ReadMe (humble branch) · UFACTORY · 5.4 xarm_api, note

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

  107. Confidence: Verifiediface-020

    The record says

    xarm_ros2 provides MoveIt launch files for the 850: uf850_moveit_fake.launch.py for a simulated arm and uf850_moveit_realmove.launch.py for the real arm.

    Evidence · 2 citations

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

    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 uf850_moveit_realmove.launch.py robot_ip:=192.168.1.181 [add_gripper:=true]

    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

  108. Confidence: Verifiediface-099

    The record says

    Mode 1 is servo mode: set_servo_angle_j and set_servo_cartesian need it and run only the latest target received, with no buffer.

    Evidence · 2 citations

    Note: the use of the set_servo_angle_j interface must first be set to this mode

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

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

    Mode 1: Servo(ServoJ) Mode | 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

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

  109. Confidence: Verifiediface-100

    The record says

    In servo mode the controller accepts commands at up to 250 Hz, and commands sent faster are lost. UFACTORY suggests issuing smoothed, interpolated track points at a fixed frequency, preferably 100 Hz or 200 Hz, and for Cartesian servo recommends a command rate within 30-250 Hz.

    Evidence · 4 citations

    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

    It is recommended that the frequency of user issuing commands be controlled within the range of 30 Hz-250 Hz.

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

    © 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, Servo Joint Motion

    © 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, Servo Joint Motion, suggested use

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

  110. Confidence: Verifiediface-075

    The record says

    By default the SDK's set_cgpio_digital queues the output change in the motion queue (sync=True); sync=False applies it immediately (firmware 2.4.101 or later).

    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

    © 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

  111. Confidence: Verifiediface-132

    The record says

    Controller warning 11 means the command queue (uxbus queue) is full, and warning 14 means a command has no solution.

    Evidence · 2 citations

    - 11: uxbus queue is full

    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

    - 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

  112. Confidence: Inferrediface-031

    The record says

    A PLC can start stored Blockly projects over Modbus TCP by writing up to 16 holding registers from address 0x30 with function code 0x10; each value selects a project by number (value 1 runs project '00001'), and the projects run in order.

    Why we infer this: Verified: UFACTORY's ModbusTCP User Instructions (UF_ModbusTCP_Manual, in the xArm-Python-SDK repository) state this. That manual names no robot model, and iface-026 establishes that the 850 controller accepts standard Modbus TCP on port 502, but no 850-specific UFACTORY document gives this register map or its details; the 850 bridging records (iface-145, iface-146) cover UFACTORY Studio and the SDKs, not this manual. Verified: UFACTORY's release note for firmware V2.7.0 lists, in one firmware change list, a Modbus TCP change and compatibility for xArm 850 arms whose serial number has an 'E' as the third character from the end (lim-030). Inferred: the 850 therefore runs the same series firmware that carries this Modbus TCP interface, and the interface very probably behaves the same on the 850, but this is not confirmed for the 850 until an 850 document or the physical controller shows it.

    Evidence · 3 citations

    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

    Modbus TCP: added a method to trigger trajectory execution or Python scripts.

    UFACTORY Release Note v2.7.0 · UFACTORY · v2.7.0, 'Firmware V2.7.0' list

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

    Added compatibility for xArm XX1305-series and xArm 850 arms whose serial number has an "E" as the third character from the end.

    UFACTORY Release Note v2.7.0 · UFACTORY · v2.7.0, 'Firmware V2.7.0' list

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

  113. Confidence: Inferrediface-032

    The record says

    Controller digital I/O can be read and written over Modbus TCP: coils 0-31 map the controller digital outputs (16 currently used) and discrete inputs 0-31 map the controller digital inputs (16 currently used).

    Why we infer this: Verified: UFACTORY's ModbusTCP User Instructions (UF_ModbusTCP_Manual, in the xArm-Python-SDK repository) state this. That manual names no robot model, and iface-026 establishes that the 850 controller accepts standard Modbus TCP on port 502, but no 850-specific UFACTORY document gives this register map or its details; the 850 bridging records (iface-145, iface-146) cover UFACTORY Studio and the SDKs, not this manual. Verified: UFACTORY's release note for firmware V2.7.0 lists, in one firmware change list, a Modbus TCP change and compatibility for xArm 850 arms whose serial number has an 'E' as the third character from the end (lim-030). Inferred: the 850 therefore runs the same series firmware that carries this Modbus TCP interface, and the interface very probably behaves the same on the 850, but this is not confirmed for the 850 until an 850 document or the physical controller shows 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

    | 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

    Modbus TCP: added a method to trigger trajectory execution or Python scripts.

    UFACTORY Release Note v2.7.0 · UFACTORY · v2.7.0, 'Firmware V2.7.0' list

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

    Added compatibility for xArm XX1305-series and xArm 850 arms whose serial number has an "E" as the third character from the end.

    UFACTORY Release Note v2.7.0 · UFACTORY · v2.7.0, 'Firmware V2.7.0' list

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

  114. Confidence: Inferrediface-029

    The record says

    In the Modbus TCP map, holding register 32 (0x20) is the robot mode and holding register 33 (0x21) is the robot state.

    Why we infer this: Verified: UFACTORY's ModbusTCP User Instructions (UF_ModbusTCP_Manual, in the xArm-Python-SDK repository) state this. That manual names no robot model, and iface-026 establishes that the 850 controller accepts standard Modbus TCP on port 502, but no 850-specific UFACTORY document gives this register map or its details; the 850 bridging records (iface-145, iface-146) cover UFACTORY Studio and the SDKs, not this manual. Verified: UFACTORY's release note for firmware V2.7.0 lists, in one firmware change list, a Modbus TCP change and compatibility for xArm 850 arms whose serial number has an 'E' as the third character from the end (lim-030). Inferred: the 850 therefore runs the same series firmware that carries this Modbus TCP interface, and the interface very probably behaves the same on the 850, but this is not confirmed for the 850 until an 850 document or the physical controller shows 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

    Modbus TCP: added a method to trigger trajectory execution or Python scripts.

    UFACTORY Release Note v2.7.0 · UFACTORY · v2.7.0, 'Firmware V2.7.0' list

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

    Added compatibility for xArm XX1305-series and xArm 850 arms whose serial number has an "E" as the third character from the end.

    UFACTORY Release Note v2.7.0 · UFACTORY · v2.7.0, 'Firmware V2.7.0' list

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

  115. Confidence: Inferrediface-030

    The record says

    In the Modbus TCP map, input register 32 (0x20) holds the robot error code and input register 33 (0x21) the warning code.

    Why we infer this: Verified: UFACTORY's ModbusTCP User Instructions (UF_ModbusTCP_Manual, in the xArm-Python-SDK repository) state this. That manual names no robot model, and iface-026 establishes that the 850 controller accepts standard Modbus TCP on port 502, but no 850-specific UFACTORY document gives this register map or its details; the 850 bridging records (iface-145, iface-146) cover UFACTORY Studio and the SDKs, not this manual. Verified: UFACTORY's release note for firmware V2.7.0 lists, in one firmware change list, a Modbus TCP change and compatibility for xArm 850 arms whose serial number has an 'E' as the third character from the end (lim-030). Inferred: the 850 therefore runs the same series firmware that carries this Modbus TCP interface, and the interface very probably behaves the same on the 850, but this is not confirmed for the 850 until an 850 document or the physical controller shows it.

    Evidence · 4 citations

    | 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

    Modbus TCP: added a method to trigger trajectory execution or Python scripts.

    UFACTORY Release Note v2.7.0 · UFACTORY · v2.7.0, 'Firmware V2.7.0' list

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

    Added compatibility for xArm XX1305-series and xArm 850 arms whose serial number has an "E" as the third character from the end.

    UFACTORY Release Note v2.7.0 · UFACTORY · v2.7.0, 'Firmware V2.7.0' list

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

  116. Confidence: Verifiediface-121

    The record says

    get_err_warn_code() returns the controller's current error code and warning code; the has_error and has_warn properties tell whether either is present.

    Evidence · 2 citations

    :return: tuple((code, [error_code, warn_code])), only when code is 0, the returned result is correct.

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

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

    Controller have an error or not

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

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

  117. Confidence: Verifiediface-120

    The record says

    With reporting enabled, the Python SDK can call a user function whenever the error or warning code changes (register_error_warn_changed_callback), passing error_code and warn_code.

    Evidence · 2 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

    © 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

  118. Confidence: Verifiediface-118

    The record says

    The SDK's mode property is available only over the socket connection with enable_report on.

    Evidence · 1 citation

    xArm mode, only available in socket way and enable_report is True

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

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

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

    Project advice

    Command the S2 agent's motion through the Python SDK in position mode (mode 0), sending only moves the supervisor has checked, and read the arm's state from the SDK's automatic reports. Do not stream servo-mode targets, and deny the SDK calls that change safety settings.

    This is advice from this project, based on: iface-146 Verified iface-011 Verified iface-097 Verified iface-098 Verified iface-099 Verified iface-100 Verified safety-079 Verified iface-119 Verified iface-034 Verified iface-035 Inferred iface-018 Verified safety-141 Recommendation

    Why: The Python SDK applies to the 850 through UFACTORY's own 850 documentation (iface-146) and drives the arm through XArmAPI (iface-011). In mode 0, joint and straight-line moves are complete commands that can block until they finish (iface-097, iface-098), so each one can be checked before it is sent. Servo mode runs only the latest target, with no buffer, at the arm's fastest speed, and wants a steady 100 Hz or 200 Hz stream (iface-099, iface-100, safety-079): a late or wrong target moves the arm before anything can check it. The controller returns an error only in the reply to the next command (iface-119), so state is read from the automatic report ports (iface-034), whose rates are Inferred (iface-035). ROS 2 is the alternative (iface-018), but its README material is Verified for the 850 only where it names the 850 (iface-146). The SDK can also change safety settings, which safety-141 says to deny.

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

    Project advice

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

    This is advice from this project, based on: safety-088 Inferred safety-006 Verified safety-066 Verified safety-067 Verified

    Why: The agent could otherwise alter the arm's safety configuration through the SDK (safety-088), and UFACTORY treats any such change as creating a new system that needs a new risk assessment (safety-006). A reviewed human decision is the only point at which that re-assessment can happen.

  121. Confidence: Verifiedsafety-079

    The record says

    In servo (ServoJ) mode, the arm moves to the given joint position at the fastest speed (180°/s) with no command buffer, executing only the latest target received; UFACTORY notes that this is similar to a step response and warns, for safety, not to send a distant target in one step.

    Evidence · 2 citations

    (Note: this execution is similar to the step response, 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 · Mode 1: Servo(ServoJ) Mode

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

    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 · Mode 1: Servo(ServoJ) Mode, Servo Joint Motion

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

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

    Project advice

    Bring station handshake signals, such as S4's 'all clear and ready', into S2 as wired digital inputs set as General Input and read by the program through the SDK, rather than as network messages. Use Modbus TCP registers only after their map has been checked on the S2 controller.

    This is advice from this project, based on: int-018 Verified int-022 Gap, awaiting cell access iface-058 Verified iface-060 Verified iface-073 Verified iface-069 Verified iface-070 Verified iface-029 Inferred iface-031 Inferred iface-146 Verified

    Why: The controller's digital inputs and the SDK's digital I/O calls are documented for the 850 (iface-058, iface-073, iface-060). Every Modbus TCP register record is Inferred, because the Modbus TCP manual names no robot model (iface-029, iface-031, iface-146). A wired input changes only when the device wired to it does, while a network message can come from anything that reaches the network. The costs: each line carries one on or off signal, both sides need a common GND and open-drain outputs (iface-069), and cables over 30 m need testing (iface-070). S2 consumes S4's 'all clear and ready' signal (int-018), but the physical I/O between S2 and S4 is not yet defined (int-022).

  123. Confidence: Verifiediface-073

    The record says

    In the Python SDK, controller digital I/O numbers 0-7 map to CI0-CI7 and CO0-CO7, and numbers 8-15 map to DI0-DI7 and DO0-DO7 (get_cgpio_digital / set_cgpio_digital).

    Evidence · 2 citations

    :param ionum: 0~7(CI0~CI7), 8~15(DI0~DI7) or None(both 0~15), default is None

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

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

    :param ionum: 0~7(CO0~CO7), 8~15(DO0~DO7)

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

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

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

    Project advice

    Keep S2's safety path out of the agent and off the network: wire emergency stops and protective devices to the dedicated EI and SI inputs as redundant two-channel pairs, directly or through a safety-rated PLC, and give the agent no part in them. The agent's software stops are process controls, not safeguards.

    This is advice from this project, based on: safety-049 Verified safety-050 Verified safety-053 Verified safety-057 Verified safety-089 Inferred safety-142 Recommendation safety-125 Gap safety-131 Gap, awaiting cell access

    Why: UFACTORY provides dedicated safety inputs, EI for emergency stops and SI for all other protection (safety-049), wired as redundant pairs in two branches (safety-050), and warns never to route a safety signal through a non-safety PLC (safety-057). Most applications need extra emergency stop buttons (safety-053). Software stops leave arm power on and are not the hardware emergency stop (safety-089, safety-142). Whether the controller's software safety functions are enforced independently of the motion-command path is unknown (safety-125), so a safety path through the agent's software would share the failures of the path it is meant to guard. Whether any S2 safety signal passes through a PLC today is unknown (safety-131).

  125. Confidence: Verifiedsafety-050

    The record says

    UFACTORY says all of the 850's safety I/Os come in redundant pairs that must be wired as two separate branches, so that a single I/O failure does not lose the safety function.

    Evidence · 1 citation

    All safety I/Os exist in pairs (redundancy) and must be kept in two separate branches. A single I/O failure should not result in the loss of safety features.

    UFACTORY 850 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-21

  126. Kind: Gapsafety-125

    Not known

    No UFACTORY source was found that says whether the software safety functions (collision detection, safety boundary, reduced mode) are enforced independently of the motion-command path. It is also unknown whether the safety boundary checks the tool and the arm's links, or only the TCP; the documentation mentions only the TCP.

    Related: safety-073 Verified

    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

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

  127. Confidence: Verifiediface-140

    The record says

    The SDK's emergency_stop() runs set_state(4), then motion_enable(True), then set_state(0), and does not clear errors itself.

    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 · emergency_stop

    © 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 · emergency_stop, note 1

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

  128. Confidence: Inferredsafety-089

    The record says

    Studio's STOP is a software stop that leaves arm power on. SDK set_state(4) and emergency_stop() are software state commands, not the hardware emergency stop, and do not carry its power-removal behavior. Whether they leave power on is not documented.

    Why we infer this: Verified: Studio's STOP is described as a software stop with power still on (safety-035); SDK emergency_stop() is a sequence of state commands (safety-036); the physical e-stop removes arm power within 300 ms per the manual (safety-025). Inferred: set_state(4) and emergency_stop() act through the same controller state machine as Studio's STOP, so they are different mechanisms from the hardware e-stop and do not carry its behavior.

    Evidence · 3 citations

    It's a software stop , the power is still on.

    UFACTORY Studio User Manual (online), 4. Live Control · UFACTORY · 4.5 Enable & STOP button

    © 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 · def emergency_stop

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

    the power supply for the robotic arm will be removed within 300ms.

    UFACTORY 850 Hardware Manual (online), 2. Hardware Installation · UFACTORY · 2.1.2 Emergency Stop Button

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

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

    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 S2 risk assessment.

    This is advice from this project, based on: safety-089 Inferred safety-035 Verified safety-036 Verified safety-025 Verified

    Why: Software stops leave arm power on and are not the hardware emergency stop (safety-089, safety-035, safety-036), which removes arm power (safety-025). Crediting them as an emergency stop would overstate the protection the cell has.

  130. Kind: Contradictioniface-133

    Sources disagree

    Sources disagree on controller error code C33: the SDK code list and the Studio manual call it a controller GPIO/IO error, while the xArm Developer Manual V2.0.1 calls it abnormal current in the robotic arm.

    Evidence · 3 citations

    - 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

    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

    C33 0x21 Abnormal current in the robotic arm

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · 3.2 Control Box Error Code (p.117)

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

  131. Confidence: Inferredint-048

    The record says

    The information S2's controller can make available includes its robot mode and state, error and warning codes (Modbus TCP registers), and automatic state reports on ports 30001 to 30003. These are candidates for what S2 publishes, not a decided interface.

    Why we infer this: The controller exposes mode, state, error and warning registers (iface-029, iface-030) and state-report ports (iface-034). Anything S2 publishes about its own condition would come from these sources; which of them the IntelliMake hub will carry is undecided (int-047). The register map comes from a series-level document, so this is Inferred.

    Evidence · 3 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

    | 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

    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

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

    Project advice

    Do not use UFACTORY Studio's simulated-arm mode or the SDK simulation flag as the simulation substrate for this project's simulation-first agent work: both act on a connected controller and real arm, so neither isolates the agent from the machine.

    This is advice from this project, based on: iface-142 Verified safety-034 Verified iface-147 Verified iface-148 Inferred

    Why: Studio's simulated-arm mode needs a real arm connected, applies its settings to the real arm and can unlock the real joints (iface-142, safety-034). The SDK flag is a register write on a live controller connection (iface-147), and that controller is the real 850 control box (iface-148). A simulation substrate for simulation-first development must run with no path to the physical arm.

  133. Confidence: Verifiedops-057

    The record says

    The Studio STOP button stops the arm immediately and clears all cached commands; it is a software stop and the power stays 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

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

  134. Confidence: Verifiedsafety-035

    The record says

    The STOP button in UFACTORY Studio is a software stop that leaves arm power on.

    Evidence · 1 citation

    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

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

  135. Confidence: Verifiedops-059

    The record says

    Pressing the control box emergency stop makes the controller decelerate the arm in software, clears all cached commands, and removes power from the arm within 300 ms; the arm will slightly brake and fall.

    Evidence · 2 citations

    Quote not shown (over 40 words). See the source at: 2.1.2 Emergency Stop Button.

    UFACTORY 850 Hardware Manual (online), 2. Hardware Installation · UFACTORY · 2.1.2 Emergency Stop Button

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

    the posture of the robotic arm will slightly brake and fall.

    UFACTORY 850 Hardware Manual (online), 2. Hardware Installation · UFACTORY · 2.1.2 Emergency Stop Button

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

  136. Confidence: Verifiedapp-026

    The record says

    The base coordinate system is a Cartesian frame fixed to the arm's mounting base: X is front and back, Y left and right, and Z up and down.

    Evidence · 1 citation

    Quote not shown (over 40 words). See the source at: Glossary, 'Base Coordinate System'.

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

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

  137. Kind: Contradictioncomp-056

    Sources disagree

    Sources disagree on the speed of the 850's internal base-to-flange Ethernet cable: gigabit or 1000M CAT5E on the product page and in the online hardware manual, but 100M and 'Standard CAT5' in User Manual V2.3.0.

    Related: comp-055 Verified

    Evidence · 2 citations

    1000M Ethernet cable, which further enhances the stability of the system. Standard CAT5E

    UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY · 4.5 Ethernet Interface (docs site 'UFACTORY 850 硬件手册', English version; names the machine 'UFACTORY 850')

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

    through a physical internal 100M Ethernet cable

    UFACTORY 850 User Manual V2.3.0 (PDF, older edition) · UFACTORY · Hardware Section 1.2.2.5, Ethernet Interface, p.27 (manual names the machine '850' / 'UFactory 850')

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

  138. Kind: Gapiface-043

    Not known

    The factory IP address of an individual 850 controller is not documented; the manuals give only the range 192.168.1.xxx and the reset address 192.168.1.111.

    Evidence · 1 citation

    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

  139. Kind: GapAwaiting cell accessiface-044

    Not known

    The IP address of the IntelliMake S2 850's control box, and how the S2 network is laid out (direct PC link, switch or router), are unknown.

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

    Evidence · 1 citation

    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

  140. Kind: Contradictioniface-117

    Sources disagree

    The Python SDK and the Studio manual name state 2 differently: the SDK's get_state and state documentation call it 'sleeping', while the Studio manual calls it 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 property, return values

    © 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

  141. Kind: Contradictioniface-151

    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-032 Verified iface-064 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

  142. Kind: ContradictionAwaiting cell accessiface-206

    Sources disagree

    UFACTORY's documents and the lab give different ways to open UFACTORY Studio for the xArm 850. The Studio manual says Studio is reached through a browser without installing any software, by entering the controller's IP address followed by :18333 (iface-003, iface-005), and UFACTORY's 850 product page calls it web-based software inside the control box, with no installation needed (app-036, comp-037). As reported on 2026-10-23, the lab opens Studio with the desktop app, which learners download (ops-217), and connects it with the app's IP search field and its Connect Server button (ops-216). 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 S2 cell can be observed.

    Related: iface-003 Verified iface-005 Verified app-036 Verified comp-037 Verified ops-028 Verified ops-216 Verified, awaiting cell access ops-217 Verified, awaiting cell access res-005 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-003'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 (iface-005'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.

    UFACTORY 850 product page · UFACTORY · Tech Specs, 'Software' (app-036'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

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

  143. 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 S2 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

  144. 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

  145. 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

  146. Kind: GapAwaiting cell accessint-061

    Not known

    How S4's 'all clear and ready' signal reaches S2 in the physical cell, over a wired input or as a message, is not known to IntelliMake yet.

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

    Related: int-015 Verified int-018 Verified int-020 Verified

    Evidence · 1 citation

    This is not known at this time.

    xArm 850 S2 Project: Open Questions for IntelliMake, Batch 01 responses · IntelliMake.org · Question 15, Answer column

    © IntelliMake.org. Used with permission. · Cleared for use by its owner · retrieved 2026-09-29

  147. Kind: Contradictionsafety-114

    Sources disagree

    UFACTORY documents disagree on the collision sensitivity range. The Studio Settings page says 1 to 5, while the Studio glossary, the Python SDK and the xArm Developer Manual say 0 to 5, with 0 disabling collision detection. A learner reading only the Settings page would not learn that the value can switch detection off.

    Related: safety-065 Verified safety-066 Verified

    Evidence · 4 citations

    The collision sensitivity range is 1 to 5 levels.

    UFACTORY Studio User Manual (online), 7. Settings · UFACTORY · 7.1.1 Parameters

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

    The collision sensitivity range is from 0 to 5 level. 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

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

    :param value: sensitivity value, 0~5

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

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

    The collision sensitivity range is from 0 to 5 level. When it is set to 0, it means that collision detection is not enabled.

    xArm Developer Manual V2.0.1 (PDF) · UFACTORY · Glossary, 'Collision Sensitivity'

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

  148. Kind: Contradictionspec-077

    Sources disagree

    Sources disagree on the control box's RS-485 ports: one RS-485 master on the product page and in the online hardware manual, but one master and one slave (2 × RS-485) in User Manual V2.3.0.

    Related: spec-076 Verified

    Evidence · 3 citations

    1×RS-485 Master

    UFACTORY 850 Hardware Manual (online), 8. Technical Specifications · UFACTORY · AC/DC Controller table, 'I/O Interface' row (docs site 'UFACTORY 850 硬件手册', English version; names the machine 'UFACTORY 850')

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

    1*RS-485 Master 1*RS-485 Slave

    UFACTORY 850 User Manual V2.3.0 (PDF, older edition) · UFACTORY · Appendix 2, Control Box I/O Interface, p.173 (manual names the machine '850' / 'UFactory 850')

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

    I/O Ports 8*CI 8*DI 8*CO 8*DO 2*AI 2*AO 2*RS-485

    UFACTORY 850 User Manual V2.3.0 (PDF, older edition) · UFACTORY · Appendix 7, 1.11 Specifications, p.185 (manual names the machine '850' / 'UFactory 850')

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

  149. Kind: Contradictionspec-082

    Sources disagree

    Sources disagree on the 850's end-effector communication protocol: the product page says Modbus RTU, and the online hardware manual's Tool RS485 section and Gripper G2 table describe RS-485 with Modbus RTU, but the specification tables of the online hardware manual and User Manual V2.3.0 say Modbus TCP. The tool port is RS-485, which suggests RTU, but this is not confirmed.

    Related: spec-081 Verified

    Evidence · 5 citations

    End Effector Communication Protocol Modbus RTU

    UFACTORY 850 product page · UFACTORY · Tech Specs > Hardware, 'End Effector Communication Protocol' row (page names the machine 'UFACTORY 850'; spec tables say 'UFactory 850')

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

    End Effector Communication Protocol Modbus TCP

    UFACTORY 850 Hardware Manual (online), 8. Technical Specifications · UFACTORY · Table 'UFACTORY 850', 'End Effector Communication Protocol' row (docs site 'UFACTORY 850 硬件手册', English version; names the machine 'UFACTORY 850')

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

    End-effector Communication Protocol Modbus TCP

    UFACTORY 850 User Manual V2.3.0 (PDF, older edition) · UFACTORY · Appendix 2, 1.1 Common Specifications, p.173 (manual names the machine '850' / 'UFactory 850')

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

    | Communication Method | RS485 | Communication Protocol | Modbus RTU |

    UFACTORY 850 Hardware Manual (online), 8. Technical Specifications · UFACTORY · Gripper G2 table

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

    If end effector supports standard Modbus RTU

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

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

Image Credits

  • Line drawings of the 850 control box with its front and back panels labeled: emergency stop, robot power, state, power switch, AC port, network port, LAN, robot 48V, enabling switch and IO. © UFACTORY (Shenzhen UFACTORY Co., Ltd.). Source. Used with UFACTORY's written permission (2026-09-23), on the condition that each image links back to its source page.
  • 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 2 records 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), 1. Safety · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21 · cited by 2 records here · Open the source
  • UFACTORY 850 Hardware Manual (online), 2. Hardware Installation · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21 · cited by 5 records here · Open the source
  • 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 22 records here · Open the source
  • UFACTORY 850 Hardware Manual (online), 4. Robotic Electrical Interface · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21 · cited by 15 records here · Open the source
  • UFACTORY 850 Hardware Manual (online), 8. Technical Specifications · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21 · cited by 10 records here · Open the source
  • UFACTORY 850 Hardware Manual (online), Preface · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21 · cited by 1 record here · Open the source
  • UFACTORY 850 product page · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21 · cited by 2 records here · Open the source
  • UFACTORY 850 User Manual V2.3.0 (PDF, older edition) · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-21 · cited by 7 records 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 8 records here · Open the source
  • UFACTORY Release Note v2.7.0 · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · 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 3 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 5 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 4 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 5 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 7 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 3 records here · Open the source
  • UFACTORY Studio User Manual (online), 6. Gcode · 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), 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 1 record 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), 3. Controller Electrical Interface · UFACTORY (manufacturer)
    © UFACTORY · All rights reserved; quoted briefly as evidence · retrieved 2026-09-25 · cited by 1 record 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 3 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 4 records here · Open the source
  • xArm-C++-SDK ReadMe · UFACTORY (manufacturer)
    © UFACTORY Inc., xArm-Developer/xArm-CPLUS-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21 · cited by 1 record here · Open the source
  • xArm-CPLUS-SDK repository description (GitHub repository metadata) · UFACTORY (manufacturer)
    © UFACTORY Inc., xArm-Developer/xArm-CPLUS-SDK, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21 · cited by 1 record 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 11 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 14 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 6 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 3 records here · Open the source
  • xArm-Python-SDK source, xarm/core/wrapper/uxbus_cmd.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 source, xarm/x3/base.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-Python-SDK source, xarm/x3/decorator.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_ros ReadMe (ROS 1, master branch) · UFACTORY (manufacturer)
    © UFACTORY Inc., xArm-Developer/xarm_ros, BSD 3-Clause License · BSD-3-Clause · retrieved 2026-09-21 · cited by 3 records 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 6 records here · Open the source

IntelliMake diagrams are redrawn as native figures, © IntelliMake.org. UFACTORY does not endorse this platform.

All sources and attribution