A modern web-based control system for a 4-DOF robotic arm using Arduino and Flask. This project provides an intuitive GUI interface to control a KUKA-style robotic arm with precision and ease.
- Real-time servo control through web interface
- 4 degrees of freedom (DOF) control
- Intuitive slider-based interface
- Cross-platform compatibility
- Arduino board (Uno recommended)
- 4 servo motors
- KUKA-style robotic arm frame
- USB cable
- Python 3.11.4 or higher
- Arduino IDE 2.0+
- Modern web browser
- Operating System: macOS (M1), Windows, or Linux
-
Clone the repository
git clone https://github.com/agneya-1402/RoboArm.git cd RoboArm -
Install Python dependencies
pip install -r requirements.txt
-
Upload Arduino Code
- Open
arduino/arm_1.inoin Arduino IDE - Select your board and port
- Upload the code
- Open
-
Configure Serial Port
- For M1 MacBook:
- Check port name in Arduino IDE (usually
/dev/cu.usbmodem1101) - Update
app.pywith correct port name
- Check port name in Arduino IDE (usually
- For M1 MacBook:
RoboArm/
├── arduino/
│ └── Arm_1.ino
│
├── templates/
│ └── index.html
├── app.py
└── README.md
-
Start the Flask server
python app.py
-
Access the control interface
- Open your web browser
- Navigate to
http://127.0.0.1:5000
-
Control the robotic arm
- Use sliders to control each servo:
- Servo 1: Base rotation (0-180°)
- Servo 2: Arm segment 1 (0-180°)
- Servo 3: Arm segment 2 (0-180°)
- Servo 4: Claw control (0-180°)
- Use sliders to control each servo:
| Servo | Arduino Pin | Function |
|---|---|---|
| Servo 1 | 8 | Base rotation |
| Servo 2 | 9 | Arm 1 movement |
| Servo 3 | 10 | Arm 2 movement |
| Servo 4 | 11 | Claw control |
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Always ensure the robotic arm has adequate clearance before operation
- Start with slow movements when testing new positions
- Keep fingers clear of the claw mechanism
- Ensure proper power supply to prevent servo jitter
-
Serial Port Connection Issues
- Verify the correct port in Arduino IDE
- Check USB connection
- Ensure proper permissions on the serial port
-
Servo Movement Problems
- Verify power supply adequacy
- Check servo wire connections
- Ensure servo positions are within limits
This project is licensed under the MIT License - see the LICENSE file for details
- Inspired by KUKA robotic arms
- Built with Flask framework
- Arduino Servo library
- Serial communication protocol