Stufin
Home Quick Cart Profile

Xarm 1S Hiwonder Intelligent Bus Servo Robotic Arm for Programming

Buy Now on Stufin

Component Name

Xarm 1S Hiwonder Intelligent Bus Servo Robotic Arm for Programming

Overview

The Xarm 1S Hiwonder Intelligent Bus Servo Robotic Arm is a compact and versatile robotic arm designed for programming and automation applications. This IoT component is ideal for education, research, and development, as well as for hobbyists and professionals looking to explore robotics and artificial intelligence.

Functionality

The Xarm 1S is a bus servo-based robotic arm that can be controlled and programmed to perform a variety of tasks, including

Precise movements and gestures

Object manipulation and grasping

Assembly and disassembly operations

Drawing and writing

Inspection and surveillance

The robotic arm is equipped with advanced sensors and algorithms, enabling it to adapt to different environments and tasks. Users can program the arm using various programming languages and platforms, such as Python, C++, and Arduino.

Key Features

  • High-Precision Movement: The Xarm 1S features high-precision movement with an accuracy of up to 0.1mm, making it suitable for delicate and complex tasks.
  • Servo Control: The robotic arm is equipped with high-torque bus servos, allowing for smooth and precise movements.
  • Modular Design: The arm is designed with a modular architecture, making it easy to assemble, disassemble, and customize.
  • Advanced Sensors: The Xarm 1S is equipped with sensors, including infrared, ultrasonic, and touch sensors, enabling it to interact with its environment and adapt to different tasks.
  • Programmable: The robotic arm can be programmed using various programming languages and platforms, including Python, C++, and Arduino.
  • Wi-Fi and Bluetooth Connectivity: The Xarm 1S features Wi-Fi and Bluetooth connectivity, enabling remote control and programming.
  • Open-Source: The robotic arm is based on open-source hardware and software, allowing developers to customize and modify the system to suit their needs.
  • Powerful Motor: The arm is powered by a high-torque motor, enabling it to handle loads of up to 500g.

Weight

1.5 kg

Dimensions

350 x 250 x 150 mm

Material

Aluminum alloy and ABS plastic

Operating System

Compatible with Windows, macOS, and Linux

Programming Languages

Python, C++, Arduino, and more

Communication Protocols

Wi-Fi, Bluetooth, UART, and I2C

Power Supply

12V DC, 2A

Operating Temperature

0C to 40C

Applications

Robotics and AI education

Research and development

Industrial automation

Hobbyist projects

Art and design applications

Accessories

Power adapter

USB cable

Programming software

User manual

Assembly and disassembly tools

Warranty and Support

1-year limited warranty

Dedicated customer support team

Online documentation and resources

Community support and forums

Pin Configuration

  • Xarm 1S Hiwonder Intelligent Bus Servo Robotic Arm for Programming Pinout Guide
  • The Xarm 1S Hiwonder Intelligent Bus Servo Robotic Arm is a versatile and programmable robotic arm designed for educational and development purposes. This documentation provides a detailed explanation of the pins on the Xarm 1S, including their functions and connection guidelines.
  • Pinout Diagram:
  • Please refer to the pinout diagram provided by the manufacturer or the product datasheet for a visual representation of the pins.
  • Pin Description and Connection Guide:
  • 1. VCC (Red Wire)
  • Function: Power supply pin, provides 5V power to the servo motors and control board.
  • Connection: Connect to a 5V power source (e.g., USB port, battery, or a dedicated power supply).
  • 2. GND (Black Wire)
  • Function: Ground pin, provides a common ground reference for the servo motors and control board.
  • Connection: Connect to the ground terminal of the power source or a dedicated ground point.
  • 3. TX (White Wire)
  • Function: Serial communication transmit pin, used for communication between the control board and the programming device (e.g., microcontroller, computer).
  • Connection: Connect to the TX pin of the programming device (e.g., Arduino, Raspberry Pi, or a serial communication module).
  • 4. RX (Green Wire)
  • Function: Serial communication receive pin, used for communication between the control board and the programming device.
  • Connection: Connect to the RX pin of the programming device (e.g., Arduino, Raspberry Pi, or a serial communication module).
  • 5. SCL (Yellow Wire)
  • Function: I2C clock pin, used for I2C communication between the control board and external devices (e.g., sensors, displays).
  • Connection: Connect to the SCL pin of the I2C device or the I2C bus.
  • 6. SDA (Blue Wire)
  • Function: I2C data pin, used for I2C communication between the control board and external devices.
  • Connection: Connect to the SDA pin of the I2C device or the I2C bus.
  • 7. BUS (Orange Wire)
  • Function: Bus communication pin, used for communication between the control board and the servo motors.
  • Connection: Not typically connected to external devices; used for internal communication between the control board and servo motors.
  • Servo Motor Pinout:
  • Each servo motor has three wires:
  • 1. Signal Wire (Yellow or Orange)
  • Function: Servo motor control signal, receives PWM signals from the control board.
  • Connection: Connect to the BUS pin on the control board.
  • 2. VCC Wire (Red)
  • Function: Power supply pin, provides 5V power to the servo motor.
  • Connection: Connect to the VCC pin on the control board or a separate 5V power source.
  • 3. GND Wire (Black)
  • Function: Ground pin, provides a common ground reference for the servo motor.
  • Connection: Connect to the GND pin on the control board or a dedicated ground point.
  • Important Connection Considerations:
  • Ensure proper power supply connections to prevent damage to the servo motors and control board.
  • Use suitable wiring and connectors to minimize noise and interference in the communication signals.
  • Follow the manufacturer's recommended wiring and connection guidelines for specific programming devices and external components.
  • Verify the pinout diagram and connection guidelines provided by the manufacturer or product datasheet for any specific requirements or variations.

Code Examples

Xarm 1S Hiwonder Intelligent Bus Servo Robotic Arm for Programming
Overview
The Xarm 1S Hiwonder Intelligent Bus Servo Robotic Arm is a versatile and programmable robotic arm designed for STEM education, robotics, and IoT applications. It features 7 degrees of freedom, precise servo control, and a robust mechanical design. This robotic arm is ideal for learning and exploring robotics, programming, and artificial intelligence.
Technical Specifications
Degrees of Freedom (DOF): 7
 Servo Type: High-precision digital servo
 Communication Protocol: RS485 (compatible with Modbus protocol)
 Power Supply: 12V DC
 Weight: 1.2 kg
 Dimension: 450mm x 350mm x 150mm
 Programming Languages: Python, C++, Java (via SDK)
Programming Examples
### Example 1: Basic Python Control using serial communication
This example demonstrates how to control the Xarm 1S robotic arm using Python and the PySerial library.
Hardware Requirements
Xarm 1S robotic arm
 Raspberry Pi or a computer with a serial port
 Serial communication cable (RS485)
Software Requirements
PySerial library (install using `pip install pyserial`)
Code
```python
import serial
# Initialize the serial connection
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)  # Replace with your serial port
# Define the arm's servo IDs
SERVO_BASE = 1
SERVO_SHOULDER = 2
SERVO_ELBOW = 3
SERVO_WRIST = 4
SERVO_GRIPPER = 5
# Define the servo angles (in degrees)
base_angle = 0
shoulder_angle = 45
elbow_angle = 90
wrist_angle = 45
gripper_angle = 0
# Send the servo angles to the arm
ser.write(f"srv set {SERVO_BASE} {base_angle}
".encode())
ser.write(f"srv set {SERVO_SHOULDER} {shoulder_angle}
".encode())
ser.write(f"srv set {SERVO_ELBOW} {elbow_angle}
".encode())
ser.write(f"srv set {SERVO_WRIST} {wrist_angle}
".encode())
ser.write(f"srv set {SERVO_GRIPPER} {gripper_angle}
".encode())
# Close the serial connection
ser.close()
```
This code sets the servo angles to move the arm to a specific position.
### Example 2: Object Tracking and Picking using OpenCV and Python
This example demonstrates how to use the Xarm 1S robotic arm to track and pick up objects using OpenCV and Python.
Hardware Requirements
Xarm 1S robotic arm
 Raspberry Pi or a computer with a camera module
 Camera module (e.g., Raspberry Pi Camera v2)
Software Requirements
OpenCV library (install using `pip install opencv-python`)
 PySerial library (install using `pip install pyserial`)
Code
```python
import cv2
import serial
# Initialize the serial connection
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)  # Replace with your serial port
# Initialize the camera
cap = cv2.VideoCapture(0)
while True:
    # Read a frame from the camera
    ret, frame = cap.read()
# Convert the frame to grayscale
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Detect objects using contours
    contours, _ = cv2.findContours(gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# Iterate through the contours
    for contour in contours:
        area = cv2.contourArea(contour)
        x, y, w, h = cv2.boundingRect(contour)
# Filter out small objects
        if area > 1000:
            # Calculate the object's center
            center_x = x + w // 2
            center_y = y + h // 2
# Send the arm to pick up the object
            ser.write(f"srv set {SERVO_BASE} {center_x}
".encode())
            ser.write(f"srv set {SERVO_SHOULDER} {center_y}
".encode())
            ser.write(f"srv set {SERVO_GRIPPER} 1
".encode())  # Open the gripper
            ser.write(f"srv set {SERVO_GRIPPER} 0
".encode())  # Close the gripper
            break
# Release the frame
    cap.release()
# Close the serial connection
    ser.close()
```
This code tracks objects using contours, calculates their center, and sends the arm to pick up the object.
Note: These examples are for demonstration purposes only and may require modifications to work with your specific setup. Ensure you follow proper safety guidelines when working with robots and electrical components.
Additional Resources
Hiwonder Official Documentation: [Xarm 1S SDK and programming guidelines](https://www.hiwonder.com/xarm-1s-sdk/)
 PySerial Library Documentation: [serial.Serial class](https://pyserial.readthedocs.io/en/latest/pyserial_api.html#serial.Serial)
 OpenCV Library Documentation: [OpenCV Python API](https://docs.opencv.org/4.5.3/)