§6 xArm 6
Basic Operating Sequence
S6's place in the cell's work, then the machine's own day: set up, power on, run, stop and shut down.
Start Here
This section walks through the machine's own day: setting it up, switching it on, running it, stopping it and shutting it down. The steps come from the maker's manual and software, and they apply whatever task the arm is given in the cell.
- In the cell, S6 works after S5, the laser engraver, and routes parts on to inspection, rework or shipping678. It picks up the finished product at S4, the conveyor that carries workpieces through the laser processing area91011.
- Enabling the arm turns on its motors, after which it can start to move normally12.
- While the arm runs, nobody and no other equipment should be in its working area13.
S6 in one line: S6 is the xArm 6 arm that handles parts after processing, routing them to inspection, rework or shipping8.
Look Back
A question from earlier on, to keep it fresh. Skip it if you like; nothing depends on it.
Choose your depth
1Beginner
S6's Place, Then a Working Day
For: Anyone with no robotics background: a visitor, a new operator, a manager
Kind of task: Recognize and recall, with plain-language explanations and pictures
In this part you see where the second arm works in the cell, and then you learn the steps that take the machine from switched off to running and back again. No robotics background is needed. Read the numbered steps in order: the order is the lesson.
Where S6 Works
- In the gift flow, S6 is the second Cobot Handling step. It comes after Laser Engraving and before the Quality Decision67.
- Its job is to handle parts after processing and route them to inspection, rework or shipping8.
Whatever the arm's task, the machine's own day is the same. The maker's manual sets it out, and that is what the rest of this part teaches.
Setting the Arm Up
UFACTORY's manual installs the arm in five steps1415161718:
- Take the arm's range of motion into account, so it cannot bump into people or equipment. The working range the manual shows does not include the end effector19.
- Mount the arm on a sturdy, shockproof surface, with its bolts checked for tightness20.
- Place the control box outside the arm's working range, so its emergency stop can be pressed in an emergency21.
- Place the controller at a height of 0.6 m to 1.5 m22.
- Draw a line to mark the arm's range of motion, including the reach of its tool23.
Connecting the Cables
- Connect or disconnect the arm cable only with the external AC power disconnected, to avoid electric shock27.
Before You Switch On
- Check that the power cable and communication cable between the control box and the arm, the network or RS-485 cable, and the control box's power cable are all properly connected28.
- Make sure the arm cannot hit any person or equipment within its working range29.
Switching On
- Turn on the OFF/ON button and check that the indicator lights are lit1.
- Press the power button. The control box is on when its CONTROLLER status light comes on2.
- Turn the emergency stop button in the direction of its arrow so it pulls up. The ROBOT PWR light comes on3.
- Enable the arm, from UFACTORY Studio or with an SDK command. This turns on its motors4.
- The point: enabling is what turns the motors on. After it, the arm can start to move normally. In Studio the Enable button disappears once the arm is enabled12.
- The manual names the controller light two ways. Its indicator table calls it STATE and says it flashes; step 2 calls it CONTROLLER and says it lights up30.
Running
- The lab opens UFACTORY Studio with the desktop app31. On its connection screen, as used with the xArm 850, enter the control box's IP address in the IP search field and click Connect Server32.
- In Studio you set the arm's parameters, move it with Live Control, and build a program from Blockly blocks33.
- While the arm runs, nobody and no other equipment should be in its working area13.
- An arm that seems to have stopped may be waiting for a signal and about to act. Treat it as moving34.
Stopping
- Studio's STOP button stops the arm at once and clears all its queued commands. It is a software stop: the power stays on35.
- The emergency stop button is on the control box. Pressing it slows the arm in software, stops everything it is doing, clears its queued commands and removes its power within 300 ms36.
- When the emergency stop is pressed, the arm will slightly brake and fall37.
- The manual says the emergency stop should not be used as a risk reduction measure38.
Restarting After an Emergency Stop
The manual says operators must be trained in using Studio and the SDK, and users should fully understand the solutions to the arm's running errors39.
If you are not trained, leave the restart to someone who is.
- Before you restart, make sure the restart motions will not hit any obstacle41.
Shutting Down
Check Yourself
Answer, then check. Each option has its own feedback, and nothing is scored.
2Novice
Running and Recovering Day to Day
For: Someone who will work near or with the cell: operator, trainee technician
Kind of task: Explain and sequence: put steps in order, match parts to their functions
In this part you learn what you do at the arm on an ordinary day: get connected, tell it what it is carrying, move it by hand, send it back to a known position, get it going again after it stops, and keep it in good order. It is for someone who will work near or with the cell.
Getting Connected
- The arm's default IP address is in the 192.168.1.xxx range. Put your computer on the same network segment as the control box43. The lab then opens Studio with the desktop app and connects with its IP search field and Connect Server button3132.
- The manual recommends connecting the control box directly to the PC, and advises against reaching the router over wireless, because of delay and packet loss44.
- If the IP address is changed, mark the new one on the control box45.
When nobody knows the address any more, the manual resets it in five steps4647484950:
- Press the emergency stop button and turn off the control box46.
- Connect the controller's RI0 input to GND with a cable47.
- Power on. A beep means the address is now 192.168.1.11148.
- Unplug the RI0 to GND cable and wait 60 seconds for start-up49.
- Connect to the arm at 192.168.1.111. The manual's step enters 192.168.1.111:18333 in a browser50; in the lab's desktop app, enter the address in the IP search field and click Connect Server3132.
Telling the Arm What It Carries
- Set the TCP payload and TCP offset to match the real situation. The payload is the mass of the tool plus the object, in kg, with its center of gravity in mm. With virtually no load, both are 051.
- The TCP offset gives the tool's working point, its position and its orientation, relative to the center of the flange51.
- A wrong mounting direction stops the arm judging gravity correctly. It then raises collision warnings and stops often, and moves uncontrolled in manual mode52.
- Studio can identify the payload by itself, but only with the arm on a steady floor. The arm runs a series of motions to work it out, so people and equipment nearby must be kept safe53.
Moving the Arm by Hand
- Manual Mode, in Studio's Live Control, lets you move the joints freely by hand to reach and record positions. Studio says it can also drag the arm away from a danger zone54.
- Manual mode turns on only when the serial numbers of the arm and the control box are matched54.
- Before you turn it on, confirm the installation direction and TCP load. Otherwise the arm may not stay still, and Studio warns "it will be dangerous"55.
- Teach sensitivity runs from level 1 to 5. The higher the level, the less force it takes to drag a joint56.
- Studio records a hand-guided path at 250 Hz for up to 5 minutes, and plays it back at x1, x2 or x4 speed. Watch the arm's load state while recording, so that a large difference between the real and the set load does not make the arm move by itself57.
Going Back to a Known Position
- In Live Control, a long press on Initial Position moves the arm back to its initial position. By default every joint is at 058.
- Live Control's jog speed runs from 1% (2.3 mm/s) to 100% (230 mm/s), starting at 50% (115 mm/s). Studio says this is not the arm's real maximum speed59.
When the Arm Stops on an Error
- When any error occurs, the controller switches the arm to its stopped state by itself, and it accepts no new command until it is set back to standby60.
- Studio's error code C1 means the control box emergency stop button is pushed in. Release it and click "Enable Robot"6162.
- Studio's error code C2 is also an emergency stop, and UFACTORY's Studio manual has described it two ways. As read on 2026-10-13 it says an emergency stop button is pushed in, and its fix is to release that button and click "Enable Robot"; the row does not say which button61. Until that date the manual called C2 the control box's emergency I/O being triggered, and its fix was to ground the control box's two EI inputs and click "Enable Robot"; the Python SDK's code list still gives C2 that meaning. The sources read for this course do not say which Studio and firmware versions show which text6362.
- EI is the control box's emergency input64. The xArm manual calls the emergency stop input a fixed safety input, used only for the emergency stop of the device, and says all safety I/Os exist in redundant pairs65. It also says installation and commissioning need to be performed by professionals39.
This project's advice
- Studio's error code C3 means the three-state switch's emergency stop is pressed. Release it and click "Enable Robot"6162.
- After any emergency stop, the xArm manual says to make sure the restart or reset motions will not collide with any obstacle41.
- From the Python SDK, recovery is clean_error(), then motion_enable(true), then set_state(0)67.
- For an alarm code Studio does not list, power on again. If several power cycles do not fix it, contact technical support68.
Keeping the Arm in Order
- Check the arm regularly for loosening bolts69.
- Clean the carbon fiber shell with 95% alcohol or 70% isopropanol, without letting liquid into the joints70.
- If the arm is not used for 3 months or more, power it on for 6 hours every 3 months to charge its built-in battery, with the emergency stop released. It does not need to be enabled71.
- The manual's Maintenance and Inspection chapter covers only long-term storage charging and cleaning72.
- Before maintenance, remove the main power cable from the controller, and take precautions against anyone switching the system back on while you work73.
Check Yourself
Answer, then check. Each option has its own feedback, and nothing is scored.
3Intermediate
Setting Up and Recovering the Arm from Code
For: Someone who will set up, program or maintain the arm: technician, student engineer
Kind of task: Apply: work through written scenarios that need a decision (which mode, which setting, what to do about this error), with feedback on each choice
In this part you start the arm from a program, set it up so that its collision detection can be trusted, and recover it when a program or a collision stops it. It is for someone who will set up, program or maintain the arm.
Starting the Arm from the SDK
UFACTORY's Python SDK template starts the arm in six steps76:
- After start-up the control box is in mode 0, position control, by default. Setting state 0 puts the arm in standby and clears the error code; the reported state then becomes 2, ready77.
- A controller input configured as Enable Robot enables the arm when triggered, and one configured as Offline Task can trigger Blockly projects78.
- A payload set through the SDK is lost at reboot unless saved. save_conf() keeps the current settings across a restart, and clean_conf() restores the defaults79.
Making Collision Detection Trustworthy
- Studio's presets include "Gripper", at 0.82 kg with its center of gravity at z = 48 mm and a TCP offset of z = 172 mm, and "Vacuum Gripper", at 0.61 kg with its center of gravity at z = 53 mm and a TCP offset of z = 126 mm75.
- UFACTORY says collision detection can sometimes trigger falsely, often in connection with the tool's load, center of mass, installation orientation or friction parameters. It recommends updating the payload after each pick and each release in a pick-and-place program80.
- On xArm 5/6/7 arms the joint friction parameters used by collision detection are stored in the arm, and reloaded by pressing and releasing the emergency stop; on arms before XX1300 they are stored in the controller. Replacing the control box can leave them mismatched, which may trigger false collisions81.
Pausing, Stopping and Hand-Guiding from a Program
- State 3 pauses motion and state 0 resumes it. State 4 stops the arm, after which it accepts no command until set back to standby82.
- Manual mode is mode 2, and it must be reached through mode 0: from any other mode, the first request switches to mode 0 and only a second one takes effect. Switch back to mode 0 when teaching is done83.
Recovering from Errors
From the SDK, recovery is three calls in order67:
- Error code C22, self-collision: re-plan the path. If it keeps coming back, turn on manual mode in Live Control and drag the arm back to a normal position84.
- Error code C23, a joint past its limit: press Initial Position in Live Control84.
- Joint servo errors: release the control box emergency stop, then enable the arm. For S16, an encoder initialization error, make sure no outside force moves the arm while it is powered on85.
For error code C31, abnormal current, the Studio manual as read on 2026-10-13 shows the joint, its theoretical and actual torque, the collision sensitivity, the TCP payload and the mounting direction, and gives one instruction: check whether the robot has collided86. Until that date it listed six checks, and it has not said they no longer apply8788:
- Has the arm actually collided?88
- Do the TCP payload mass and center of mass match the real payload?88
- Does the mounting direction match reality?88
- Do payload settings made inside the program match the real payload?88
- Reduce the motion speed88.
- The sixth check was to lower the collision sensitivity88. The higher that level, the smaller the extra torque that triggers collision protection, and UFACTORY does not recommend lowering it below 389. The xArm manual says that altering the controller safety configuration makes the robot system a new system whose safety reviews, such as risk assessments, must be updated90.
When the Arm Is Stuck
- Studio's Debugging Tools can unlock a single joint so it can be turned by hand. The unlocked joint gives no force: someone must support the arm, and every joint must be locked again afterwards91.
- Unlocking is mainly for moving an arm in error to a safer posture, or turning a joint that is past its range back into range92.
- The xArm manual describes a protective stop with a reset button. In it CI0 is set as Safeguard Reset in Studio (Settings - External - Controller IO - IO Function)93, and the arm resumes when SI0 and SI1 are connected to GND and CI0 is connected to GND; it pauses when SI0 and SI1 are disconnected from GND94. SI is the control box's safeguard stop input64; the xArm manual calls the protective stop input a fixed safety input, used for all types of safety protection65. It also says installation and commissioning need to be performed by professionals39.
Going Home Skips the Checks
- move_gohome() returns the arm to zero at 50 °/s by default. reset() clears errors and warnings and, if the arm is not ready, enables it and sets its state. The SDK warns that both run without limit detection95.
- After an emergency stop, the manual says to make sure restart or reset motions will not collide with any obstacle41.
Check Yourself
Answer, then check. Each option has its own feedback, and nothing is scored.
4Expert
What Sets the Arm's Pace, and What Can Fail
For: Someone who designs, integrates or changes the cell: integrator, engineer, agent developer
Kind of task: Analyze and decide: weigh trade-offs, resolve contradictions, critique a configuration
In this part you take the operating sequence apart: what sets the pace of a cycle on this arm, which figures you can and cannot plan from, how a program can fail part-way through, and how to start the arm and its programs from outside. It is for someone who designs, integrates or changes the cell.
Cycle Time: Measure It, Do Not Derive It
- The manual's TCP speed parameter runs from 0 to 1000 mm/s. That is the range of a setting96.
A speed setting is not a cycle time. Time a move on the arm itself, carrying the tool and the part it will really carry.
- In the cell, this platform infers that the laser step may be the real bottleneck97.
A Question to Settle on the Arm
- Changing a critical setting such as the payload puts the controller into state 5 by itself. It then accepts no command until state 0 is set98.
- UFACTORY recommends updating the payload after each pick and each release in a pick-and-place program80.
Put those two together before you write the cycle. Find out on the arm, with nobody in reach, what a payload change between a pick and a place does to a running program, and do not assume the answer either way.
How a Program Fails Mid-Cycle
- The controller switches to state 4 by itself when any error occurs. It stops at once and accepts no new command until set back to standby60.
- move_gohome() and reset() both run without limit detection95.
- A payload set through the SDK and not saved with save_conf() is gone after a reboot79. UFACTORY links false collision triggers to the tool's load, among other things80.
Starting Up with xarm_ros2
UFACTORY's xarm_ros2 starts the xArm 6 driver with xarm6_driver.launch.py and the controller's IP address99. Its command-line start-up then runs100:
Starting Stored Programs from Outside
- In UFACTORY's Modbus TCP register map, stored Blockly projects are started by writing up to 16 holding registers from address 0x30, each value selecting a project by number; the projects then run in order101.
This project's simulation and agent design, not the physical cell
Commanding S6
- This project's advice for S6: command motion through the Python SDK in mode 0 and read state from the automatic reports, and confirm the controller's IP address, hardware version and register map on the cell before relying on them102.
Guardrails for an Agent That Drives S6
- This project's advice: deny the S6 agent the SDK calls that change collision sensitivity, collision detection, collision rebound, reduced mode or the safety boundary, or gate them behind human approval103.
- This project's advice: do not use Studio's simulated-arm mode as the simulation substrate for S6 agent work. Its settings apply to the real arm, and its unlock-joint button unlocks the real joints104.
Check Yourself
Answer, then check. Each option has its own feedback, and nothing is scored.
Not settledOpen Questions · 20
What the sources do not settle for this section. Nothing here is papered over with a plausible number.
- Kind: Contradiction
The xArm manual describes the controller-on indicator in two ways: the indicator table calls it STATE and says it flashes when the controller is powered on, while power-on step 2 calls it the status indicator (CONTROLLER) and says it lights up.
See reference 30 - Kind: Contradiction
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.
See reference 63 - Kind: Gap
The xArm manual's Maintenance and Inspection chapter covers only long-term storage charging and cleaning. No chapter of the fetched manual gives an inspection interval, a lubrication schedule, a brake test or a service life for any part; chapter 1 says only to check the bolts 'regularly'.
See reference 72 - Kind: Contradiction
UFACTORY's Studio manual has given two readings of the handling for error C31. Until 2026-10-13 it listed six numbered checks. As read on 2026-10-13 it shows a diagnostic readout and one instruction; the other five checks are no longer in the row. The manual does not say they no longer apply. UFACTORY's release note for Studio 2.7.0 says C31 'now displays the robot-arm serial number' and that theoretical and actual torque values are logged when the error occurs; it does not mention the six checks, and no fetched source says which Studio versions show the six checks or the single instruction.
See reference 87 - Kind: Gap
No fetched UFACTORY source gives cycle-time data for the xArm 6, or the speed and acceleration it reaches while carrying its full 5 kg payload across its reach; the payload versus TCP offset relationship is published only as a figure.
See reference 105 - Kind: Contradiction
UFACTORY's xArm product page presents the xArm as a collaborative robot ('cobot'), while the xArm manual says no people or other equipment should be in the working area when the arm is in operation. Neither source says how the two fit together.
See reference 112 - Kind: Gap
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.
See reference 115 - Kind: Gap
Cycle times for S2's moves (S1 to S3, S3 to S4, and a defective part's move to the defects area) and for the S4/S5 laser step are not documented, so throughput and the benefit of two arms cannot be quantified.
See reference 116 - Kind: Gap
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.
See reference 117 - Kind: Contradiction
IntelliMake's written answer (Batch 01, Question 2) and the project's earlier statements have S2 place a part on S4, or on S3 when S4 is busy or the part does not fit there, so that parts need not pass through staging; this project's simulation was specified from that reading, moving cards from one conveyor to another (int-013, int-014, int-051). The project's later statement S146, answering which is right now, gives the route as S1 to S3, and S3 to S4: S2 arranges parts on S3 first, then later moves them from S3 to S4 (int-081). The later statement is the current reading; the earlier records are kept as history, marked as superseded.
See reference 118 - Kind: Contradiction
The project's earlier statement says S2 'can not simply stack' workpieces (int-017), which this project's S2 design read as one card per place on S3. Asked whether same-color cards are placed on top of each other or side by side, the later statement S146 answers 'On top of each other': real stacks on S3 (int-084). The later statement is the current reading for S3, and int-017 is kept as history, marked as superseded. Whether the rest of the earlier rule, not breaking the space the system allocates, still holds is not stated.
See reference 119 - Kind: Gap
How S3 is divided between its staging and defects areas, how many colour areas staging holds, and how many cards a stack may hold are not documented. Whether S3 can hold both kinds of material is itself open: a separate defects station could be added if it cannot (int-087).
See reference 120 - Kind: Gap
How this project's simulation keeps to the cell's route is not fully settled. Since its configuration's schema 0.5.0 (2026-10-07), the simulation is configured to take each card from S1 to S3, then from S3 to S4 (int-081), and S3 has a staging area and a defects area whose stacks each hold up to 10 cards, a labelled placeholder (int-104; one card until 2026-10-18). Since 2026-10-09 the simulation's motion process refuses to place a card anywhere its route does not take it from the place it was picked, and refuses any pick or place in the defects area, which a person must decide (the way for a person to decide is not yet built). Keeping one colour to each stack, and which stack a card goes to, are designed but not enforced: they rest on labels the simulation cannot check. Before 0.5.0 the simulation placed each card on S4, or on S3 when S4 was busy (int-014).
See reference 121 - Kind: Gap
The xArm manual gives no step-by-step unpacking procedure or packing checklist; its transport section covers lifting the arm and controller and keeping the packaging.
See reference 122 - Kind: Gap
The text of the xArm manual's Robot Base Mounting section (2.2.3.1) consists of two figures and gives no written bolt size, bolt count or tightening torque. Any such figures are in the images, which this corpus has not read; no other chapter states them.
See reference 123 - Kind: Contradiction
The xArm manual gives two different AC input ranges for the AC Control Box: the cabling step says 110V-240V, while section 3.2.2 says 100V-240V AC (47-63 Hz) and section 8.1 says 100-240V AC 50/60 Hz.
See reference 124 - Kind: Gap
No fetched UFACTORY source gives the default collision sensitivity level for the xArm 6: the Studio settings page and glossary give the range, and the SDK's set_collision_sensitivity gives no default.
See reference 125 - Kind: Gap
UFACTORY's Studio manual does not say how a script is run, paused, resumed or stopped in the Python IDE, nor how a paused Blockly program is resumed: it lists Blockly's Run and Pause buttons and the STOP button, and no Resume.
See reference 126 - Kind: Gap
How the xArm 6's suction tool is switched from UFACTORY Studio's Live Control is not recorded: the Studio manual lists the Vacuum Gripper among Live Control's end effectors without describing its buttons, and no screen of the xArm 6's Live Control has been captured.
See reference 127 - Kind: Contradiction
The xArm manual describes what an emergency stop needs before the arm can run again in two different ways. The emergency-stop column of section 3.4.1's table says 'Need re-initiation: Only releasing the brake'. Section 2.1.2 lists two restart steps: power the xArm up by turning the emergency stop button, then enable it (the servo motors) from Studio or the SDK. The manual does not say how the two relate.
See reference 128
ProvenanceReferences · 128
Each number in the text points here. Every entry states its confidence class in words and keeps its evidence one click away. How to read the labels.
Key to the badges
- Confidence: Verified
- A manufacturer or IntelliMake document says so, or it was observed directly. It does not mean anyone measured it at S6.
- Confidence: Inferred
- Reasoned from Verified facts. The reasoning is printed with the record.
- Confidence: Assumed
- Plausible but untested. The record says how it would be checked.
- Kind: Gap
- Not known. No figure or answer is given in its place.
- Kind: Contradiction
- Sources disagree. Both sides are shown, and the site does not pick one silently.
- Kind: Recommendation
- Project advice drawn from the records it cites. Not a fact about the machine and not a confidence class, so the filter never hides it.
- Awaiting cell access
- Awaiting cell access: could be confirmed or corrected once the physical S6 cell can be observed.
- This project's simulation and agent design, not the physical cell
- This project's simulation and agent design, not the physical cell.
Image Credits
- 3D model: © 2018 UFACTORY Inc., BSD-3-Clause, from UFACTORY Inc. (xArm-Developer/xarm_ros2). License text · Source
Sources for This Section
- CODE_SESSION 01 — xArm 850 Interactive Learning Platform (project specification) · Derek Stringfellow (project owner)
- Collision Detection in UFACTORY Robotic Arms: Current and Dynamic Model-based Feature (UFACTORY support article) · UFACTORY (manufacturer)
- IntelliMake Phase 1 Factory: Autonomous Production Demonstrator (infographic) · IntelliMake.org (IntelliMake)
- Owner statements from 2026-09-24 onward (verbatim; S40 and later) · Derek Stringfellow (project owner)
- Owner statements, 2026-09-21 (verbatim) · Derek Stringfellow (project owner)
- UFACTORY ModbusTCP User Instructions (xArm-Python-SDK doc/UF_ModbusTCP_Manual.md) · UFACTORY (manufacturer)
- UFACTORY Release Note v2.7.0 · UFACTORY (manufacturer)
- UFACTORY Studio User Manual (online), 1. Preface · UFACTORY (manufacturer)
- UFACTORY Studio User Manual (online), 10. Robotic Arm Motion Mode and State · UFACTORY (manufacturer)
- UFACTORY Studio User Manual (online), 12. Error Handling · UFACTORY (manufacturer)
- UFACTORY Studio User Manual (online), 2. Glossary · UFACTORY (manufacturer)
- UFACTORY Studio User Manual (online), 3. Connection · UFACTORY (manufacturer)
- UFACTORY Studio User Manual (online), 4. Live Control · UFACTORY (manufacturer)
- UFACTORY Studio User Manual (online), 5. Blockly · UFACTORY (manufacturer)
- UFACTORY Studio User Manual (online), 7. Settings · UFACTORY (manufacturer)
- UFACTORY Studio User Manual, 12. Error Handling, as it read until 2026-10-13 (publisher's repository, commit 533b75d) · UFACTORY (manufacturer)
- UFACTORY xArm Hardware Manual (online), 1. Safety · UFACTORY (manufacturer)
- UFACTORY xArm Hardware Manual (online), 2. Hardware Installation · UFACTORY (manufacturer)
- UFACTORY xArm Hardware Manual (online), 3. Controller Electrical Interface · UFACTORY (manufacturer)
- UFACTORY xArm Hardware Manual (online), 5. Maintenance and Inspection · UFACTORY (manufacturer)
- UFACTORY xArm Hardware Manual (online), 7. Production Information · UFACTORY (manufacturer)
- UFACTORY xArm Hardware Manual (online), 8. Technical Specifications · UFACTORY (manufacturer)
- UFACTORY xArm Hardware Manual (online), Preface · UFACTORY (manufacturer)
- UFACTORY xArm product page · UFACTORY (manufacturer)
- xArm 850 S2 Project: Open Questions for IntelliMake, Batch 01 responses · IntelliMake.org (IntelliMake)
- xArm-Python-SDK API code description (doc/api/xarm_api_code.md) · UFACTORY (manufacturer)
- xArm-Python-SDK API documentation (doc/api/xarm_api.md) · UFACTORY (manufacturer)
- xArm-Python-SDK example 0000-template.py · UFACTORY (manufacturer)
- xarm_ros2 ReadMe (humble branch) · UFACTORY (manufacturer)
IntelliMake diagrams are redrawn as native figures, © IntelliMake.org. UFACTORY does not endorse this platform.