Stufin
Home Quick Cart Profile

DIY Acrylic Robot Manipulator Mechanical Arm Kit

Buy Now on Stufin

Arm Material

Acrylic

Motor Type

Stepper motors

Motor Driver

Compatible with Arduino and Raspberry Pi

Degrees of Freedom

6 axes

Weight

Approximately 1 kg

Dimension

30 cm x 20 cm x 15 cm (arm length20 cm)

Compatible Platforms

Arduino

Raspberry Pi

Other microcontrollers (with additional programming and setup)

Applications

Robotics and mechatronics education

Prototyping and proof-of-concept development

Hobby projects, such as robotic art and 3D printing

Industrial automation and manufacturing

What's Included

Acrylic mechanical arm

Motor drivers

Grip and release mechanism

Assembly instructions

Additional components (e.g., screws, bearings)

What's Not Included

Microcontroller (e.g., Arduino or Raspberry Pi)

Power supply

Programming software and cables

By combining the DIY Acrylic Robot Manipulator Mechanical Arm Kit with a microcontroller and programming software, users can create a fully functional robotic arm that can perform a wide range of tasks and projects.

Pin Configuration

  • DIY Acrylic Robot Manipulator Mechanical Arm Kit Pinout Guide
  • The DIY Acrylic Robot Manipulator Mechanical Arm Kit is a versatile and educational robotics platform that allows users to build and customize their own robotic arm. The kit includes a variety of components, including motors, sensors, and control boards, that are connected through a series of pins. In this guide, we will explore the pinout of the DIY Acrylic Robot Manipulator Mechanical Arm Kit, explaining the function and purpose of each pin.
  • Microcontroller Board ( Arduino Compatible )
  • The microcontroller board is the brain of the robotic arm, responsible for processing commands and controlling the movement of the arm. The board has a total of 28 pins, which are divided into two rows of 14 pins each.
  • Digital Pins (Rows 1-2)
  • 1. D0 (TX): Serial transmission pin (TX) for serial communication with other devices.
  • 2. D1 (RX): Serial reception pin (RX) for serial communication with other devices.
  • 3. D2: Digital pin for connecting sensors, LEDs, or other digital devices.
  • 4. D3: Digital pin for connecting sensors, LEDs, or other digital devices.
  • 5. D4: Digital pin for connecting sensors, LEDs, or other digital devices.
  • 6. D5: Digital pin for connecting sensors, LEDs, or other digital devices.
  • 7. D6: Digital pin for connecting sensors, LEDs, or other digital devices.
  • 8. D7: Digital pin for connecting sensors, LEDs, or other digital devices.
  • 9. D8: Digital pin for connecting sensors, LEDs, or other digital devices.
  • 10. D9: Digital pin for connecting sensors, LEDs, or other digital devices.
  • 11. D10: Digital pin for connecting sensors, LEDs, or other digital devices.
  • 12. D11: Digital pin for connecting sensors, LEDs, or other digital devices.
  • 13. D12: Digital pin for connecting sensors, LEDs, or other digital devices.
  • 14. D13: Digital pin for connecting sensors, LEDs, or other digital devices.
  • Analog Pins (Rows 1-2)
  • 15. A0: Analog input pin for connecting sensors, such as potentiometers or photocells.
  • 16. A1: Analog input pin for connecting sensors, such as potentiometers or photocells.
  • 17. A2: Analog input pin for connecting sensors, such as potentiometers or photocells.
  • 18. A3: Analog input pin for connecting sensors, such as potentiometers or photocells.
  • 19. A4: Analog input pin for connecting sensors, such as potentiometers or photocells.
  • 20. A5: Analog input pin for connecting sensors, such as potentiometers or photocells.
  • Power Pins
  • 21. VIN: Input voltage pin (7-12V) for powering the microcontroller board.
  • 22. 5V: Regulated 5V output pin for powering external devices.
  • 23. 3.3V: Regulated 3.3V output pin for powering external devices.
  • 24. GND: Ground pin for connecting to the power source and external devices.
  • Motor Driver Pins
  • 25. M1: Motor driver pin for controlling Motor 1 (Base motor).
  • 26. M2: Motor driver pin for controlling Motor 2 (Shoulder motor).
  • 27. M3: Motor driver pin for controlling Motor 3 (Elbow motor).
  • 28. M4: Motor driver pin for controlling Motor 4 (Wrist motor).
  • Connecting the Pins
  • When connecting the pins, make sure to follow proper wiring and breadboarding techniques to avoid damaging the components. Here is a general structure for connecting the pins:
  • Connect the microcontroller board to the power source (VIN pin) and ground (GND pin).
  • Connect the motors to the motor driver pins (M1-M4).
  • Connect sensors, LEDs, or other digital devices to the digital pins (D0-D13).
  • Connect analog sensors to the analog input pins (A0-A5).
  • Connect external devices, such as LCD screens or buzzers, to the regulated 5V or 3.3V output pins.
  • Remember to consult the datasheet and documentation provided with the DIY Acrylic Robot Manipulator Mechanical Arm Kit for specific instructions on connecting and programming the components.

Code Examples

DIY Acrylic Robot Manipulator Mechanical Arm Kit Documentation
Overview
The DIY Acrylic Robot Manipulator Mechanical Arm Kit is a versatile and affordable robotic arm kit designed for hobbyists, educators, and professionals. This kit provides a comprehensive platform for building and programming a 4-axis robotic arm, ideal for a wide range of applications, including robotics, automation, and STEM education.
Key Features
4-axis robotic arm with acrylic structure
 Servo motors for precise movement
 Arduino-compatible control board
 Open-source software support
 Modular design for easy assembly and customization
Technical Specifications
Arm length: 300mm
 Payload capacity: 500g
 Servo motor type: MG995
 Control board: Arduino Mega 2560 compatible
 Power supply: 6V-12V DC
 Communication protocol: UART, I2C, SPI
Code Examples
These code examples demonstrate how to use the DIY Acrylic Robot Manipulator Mechanical Arm Kit in various contexts.
Example 1: Basic Arm Control using Arduino
In this example, we will demonstrate basic arm control using an Arduino Mega 2560 board.
```cpp
#include <Servo.h>
// Define servo motor pins
#define BASE_SERVO_PIN 2
#define SHOULDER_SERVO_PIN 3
#define ELBOW_SERVO_PIN 4
#define WRIST_SERVO_PIN 5
// Create servo objects
Servo baseServo;
Servo shoulderServo;
Servo elbowServo;
Servo wristServo;
void setup() {
  // Initialize servo motors
  baseServo.attach(BASE_SERVO_PIN);
  shoulderServo.attach(SHOULDER_SERVO_PIN);
  elbowServo.attach(ELBOW_SERVO_PIN);
  wristServo.attach(WRIST_SERVO_PIN);
}
void loop() {
  // Move arm to initial position
  baseServo.write(90);
  shoulderServo.write(90);
  elbowServo.write(90);
  wristServo.write(90);
  delay(1000);
// Move arm to pick up object
  baseServo.write(45);
  shoulderServo.write(45);
  elbowServo.write(45);
  wristServo.write(45);
  delay(1000);
// Move arm to drop off object
  baseServo.write(135);
  shoulderServo.write(135);
  elbowServo.write(135);
  wristServo.write(135);
  delay(1000);
}
```
Example 2: Robot Arm Control using Python and PySerial
In this example, we will demonstrate robot arm control using Python and the PySerial library.
```python
import serial
import time
# Initialize serial communication
ser = serial.Serial('COM3', 9600, timeout=1)
# Define servo motor angles
base_angle = 90
shoulder_angle = 90
elbow_angle = 90
wrist_angle = 90
while True:
    # Send servo motor angles to Arduino
    ser.write(f"Base:{base_angle} Shoulder:{shoulder_angle} Elbow:{elbow_angle} Wrist:{wrist_angle}
".encode())
    time.sleep(1)
# Update servo motor angles
    base_angle = (base_angle + 10) % 180
    shoulder_angle = (shoulder_angle + 10) % 180
    elbow_angle = (elbow_angle + 10) % 180
    wrist_angle = (wrist_angle + 10) % 180
```
Example 3: Arm Tracking using OpenCV and Python
In this example, we will demonstrate arm tracking using OpenCV and Python.
```python
import cv2
import numpy as np
# Initialize camera capture
cap = cv2.VideoCapture(0)
while True:
    # Read frame from camera
    ret, frame = cap.read()
# Convert frame to HSV color space
    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
# Define tracking boundaries
    lower_bound = np.array([0, 0, 100])
    upper_bound = np.array([10, 10, 255])
# Threshold frame to isolate arm
    mask = cv2.inRange(hsv, lower_bound, upper_bound)
# Find contours of arm
    contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# Iterate through contours and find arm center
    for contour in contours:
        area = cv2.contourArea(contour)
        x, y, w, h = cv2.boundingRect(contour)
        cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
# Calculate arm center coordinates
        center_x = x + w / 2
        center_y = y + h / 2
# Send arm center coordinates to Arduino
        print(f"Arm center: ({center_x}, {center_y})")
# Display output
    cv2.imshow('frame', frame)
    cv2.imshow('mask', mask)
# Exit on key press
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
# Release camera capture
cap.release()
cv2.destroyAllWindows()
```
These code examples demonstrate the versatility and potential of the DIY Acrylic Robot Manipulator Mechanical Arm Kit. By combining this kit with various programming languages and libraries, you can create complex and innovative robotic applications.