Safety Instructions 1. Please don’t put your hands between the arms when uArm is moving. 2. Please use the official power supply for safety reasons. Please clear a space for uArm, in case of knocking down anything. 3 / 34...
General Information General information for the robot arm, and it’s good to know before developing. 1.Source file Source code of Firmware for Swift Pro: https://github.com/uArm-Developer/SwiftProForArduino Source code of ROS for Swift Pro: https://github.com/uArm-Developer/SwiftproForROS Python library for Swift Pro: https://github.com/uArm-Developer/pyuf ...
3.Coordinate Origin of Base Coordinate (0,0,0) (The picture in the right also shows the dynamic payload range of uArm. Test condition: G2202 F1000; Red point is the Tool Center Point.) Detail size of each arm and base. 5 / 34...
The origin of base coordinate is in the center of the base. But the tool center point is different for different end-effectors. And we also offer the different commands for different usages. Suction Laser Hot End Universal Holder Position of Tool Center Point for each End-effectors Currently we offer 4 kinds of mode: M2400 S0 : Normal mode (end-effector tools: suction) M2400 S1 : Laser mode (end-effector tools: laser)
5. Buttons & Indicator Lights Caution: By default, the user defined button is for switching between Bluetooth and USB mode. Please ensure the button is UP while communicating with uArm via USB. 8 / 34...
Specifications Specifications Weight 2.2kg Degrees of Freedom Repeatability 0.2mm Max. Payload 500g Working Range 50mm~320mm Max. Speed 100mm/s Connector Micro USB Wireless Bluetooth 4.0 Input Voltage DC 12V Power Adapter Input:100~240V 50/60Hz; Output: 12V5A 60W Operation Temperature & 0℃-35℃ 30%RH-80%RH Humidity noncondensing Storage Temperature &...
Page 11
Accessories Suction Diameter 5mm~10mm Max. Pressure 33kPa Pump Max. Lifting Weight 1000g Feature With feedback Weight Dimension(L*W*H) 62mm*25mm*15mm Universal Holder Material Aluminum Holder Diameter 14mm Weight Dimension(L*W*H) 92mm*50mm*18mm Material Aluminum Max. Force 750~800g Gripper Max. Size of Object 40mm Max. Speed 20mm/s Drive Mode Electrically-driven...
Application Information We would introduce several ways to play with the robot arm in different platform. 1.Send Command over USB Cable Power on the uArm and open the Arduino IDE. And setting the board like the picture below. Please make sure the port you are choosing is the correct port of uArm. Open the serial monitor in the right side of Arduino IDE.
Page 13
Set the parameter of serial monitor in the right bottom. If the setting is correct, you would receive the detail information from uArm like the picture below. Now, you are able to send the command to the uArm. Let’s send “G0 X250 Y0 Z130 F10000”.
If uArm finishes the movement, it replies “ok”. Please check the chapter of Protocol (Page 20) in this guide to test more commands. 2.Send Command over Bluetooth Plug in the Bluetooth stick. And press down the button beside the power button. Power on the uArm.
Page 15
Open the Arduino IDE. And setting the COM port like the picture below. Please make sure the port you are choosing is the correct port of Bluetooth stick. (Driver of stick: http://www.ftdichip.com/Drivers/VCP.htm ) Open the serial monitor in the right side of Arduino IDE. After clicking, and you could hear a beep which means the uArm is connected.
Page 16
Set the parameter of serial monitor in the right bottom like the picture below. Now, you are able to send the command to the uArm. Let’s send “G0 X250 Y0 Z130 F10000”. 16 / 34...
If uArm finishes the movement, it replies “ok”. Please check the chapter of Protocol (Page 20) in this guide to test more commands. 3.The 2 UART Sometimes the 2 UART is important for our project, for example you want another Arduino to communicate with uArm.
The main code is written by Arduino IDE. Please check the link below: https://github.com/uArm-Developer/SwiftProForArduino How to compile and upload the file? 1. Download the code and extract it to your Arduino libraries folder (normally it’s in C:/Users/ufactory/documents/Arduino/libraries/) 18 / 34...
Page 19
2. Find the file named Marlin.ino in the Marlin folder and open it 3. Plug in the USB cable and power port then turn on the power button 19 / 34...
4. Select the correct port and type of Arduino board like the picture below 5. Click the upload button to finish the uploading 5.ROS & Python Currently we released the library of Python and ROS. For more information please check the link below.
6.Recover from the Wrong Code Sometimes you might want to go back to the official firmware and it’s too complicated to download the Arduino source code and download it. Or you flashed bad code to the uArm and you can’t even run it. Please try the offline flash tool here : https://drive.google.com/drive/u/0/folders/0B-L-tCvknXU9dDhfSGJwT1JDY1U 21 / 34...
Protocol 1.Introduction Arm Gcode is an important part of the uArm software. • • Based on the standard gCode protocol, we add a new protocol head in front of the gCode so that it can be more easily to use and debug. •...
Page 23
command. (In the example above, PC sends the command with ‘#25’ and uArm replies the command with ’$25’) Command without the underline: it’s the standard gCode. Caution 1.There should be blank space between each parameter; 2.The letters in the command should be capitalized; 23 / 34...
Page 24
GCode Command (v1.2) Description Feedback 1. #n is used for the debug, if you don’t want to use it please remove it directly. (For Example: G2202 N0 V90\n) 2. ‘\n’ is the symbol of line feed. Moving Command (parameters are in underline) #n G0 X100 Y100 Z100 $n ok \n or $n Ex \n (refer to Err Move to XYZ(mm), F is...
Page 25
attach motor, N is ID of $n ok \n or $n Ex \n (refer to Err #n M2201 N0\n joints(0~3) output) Detach motor, N is ID of $n ok \n or $n Ex \n (refer to Err #n M2202 N0\n joints(0~3) output) Check if the motor is attached,...
Page 26
Set the name of Bluetooth, 11 #n M2245 Vbtname\n letters limited (Do not add #n in $n ok \n this command) Please check the Grove #n M2304 P0\n modules below Please check the Grove #n M2305 P0 N1\n modules below Please check the Grove #n M2306 P0 V1000\n modules below...
Page 27
$n ok V1\n (0 stop, 1 working, 2 #n P2231\n Get the status of pump grabbing things) $n ok V1\n (0 stop, 1 working, 2 #n P2232\n Get the status of gripper grabbing things) $n ok V1 (1 triggered, 0 #n P2233\n Get the status of limited switch untriggered)
Page 28
Operation failure Grove modules Grove Support Module Commands Description Return Ports #n M2304 P3\n Deinit 3, 4, 5 $n ok\n Init Module 1 in Port 3. V is $n ok\n or E25 init Chainable #n M2305 P3 N1 V2\n number LEDs 3, 4, 5 fail...
Page 30
#n M2304 P4\n Deinit 4, 8, 9 $n ok \n #n M2305 P4 N13\n Init Module 13 in Port 4 4, 8, 9 $n ok \n #n M2307 P4 V120\n Set Fan speed(0~255) 4, 8, 9 $n ok \n 3, 4, 5, #n M2304 P3\n Deinit $n ok \n...
Page 31
Clear screen $n ok \n d. Different modes for uArm Swift Pro Since different types of the end-effectors have different length and height, so we designed the command M2400, which could help us to fit the uArm into different situations easily. With this command, there is no need to concern about how to adjust the parameters for different situations.
Release Note Version Note 1.0.0 Setup the document Tony 1.0.1 Update the working range Tony 1.0.2 Add the mounting and detail size of each part Tony Add detail steps of Arduino upload 1.0.3 Add the relationship of left/right motor with the upper and lower arm Tony 1.0.4 Modify several commands of Gcode...
Need help?
Do you have a question about the uArm Swift Pro and is the answer not in the manual?
Questions and answers