Skip to the content
PCBKitNew board
2 layers50.9 × 36.5 mmRobotArmMK1.2, the printed circuit board in 3D

6 Degree of Freedom Articulated Robot Arm. 3D Modelled and Printed, Servo Actuators, ATmege328P based custom PCB with BLE Communications, Custom Android APK for Controls.

Size
50.9 × 36.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
25
Nets
37
Pads
101
Tracks, vias
191, 26
Pours
1
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
27 May 2025
Updated
29 May 2025

Overview

RobotArmMK1.2 is an open-source printed circuit board by EthanLawlor, from the EthanLawlor/RobotArm repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 50.9 × 36.5 mm with 25 parts on 37 nets, routed with 191 tracks and 26 vias.

It is built around the ATMEGA328P-PU, HC-05 and AMS1117. Its parts include 7 connectors, 5 capacitors, 4 resistors, 2 ICs and 1 diode. It belongs with the robots and motor control and radio and wireless boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

3

README

README.md

🤖 Desktop Robot Arm

A compact, fully customizable desktop robot arm designed for small-scale automation tasks. Developed as part of a Bachelor of Engineering in Mechatronics at Technological University Dublin, this project integrates 3D-printed components, servo motor actuation, custom electronics, Arduino-based firmware, Bluetooth control, and an Android app interface.

Robot Arm CAD Render
Figure: CAD render of the assembled Desktop Robot Arm


📦 Features

  • 6 Degrees of Freedom using MG66R and SG90 servo motors
  • Bluetooth-enabled control with HC-05 and MIT App Inventor
  • Android app with presets and direct manual controls
  • Custom PCB with schematics and Gerber files (KiCAD)
  • Modular 3D-printed design with STL files included
  • Smooth servo motion using filtering algorithms

📁 Repository Structure

  1. Documentation

    • RobotArm-ProjectReport.pdf – Full project report with design, testing, and results
  2. Electrical

    • KiCAD-PCB/ – Circuit schematics, custom PCB layout, and Gerber files
  3. Mechanical

    • STL-Files/ – 3D-printable mechanical components
    • Includes exploded views and CAD drawings
  4. Software

    • Arduino-Firmware/ – Code for ATmega328P (Arduino)
    • MIT-App-Inventor/ – Android app .aia source and .apk installer

🔧 Hardware Overview

  • Microcontroller: ATmega328P (Arduino Uno or custom board)
  • Servos: 5× MG66R, 1× SG90
  • Peak Current Draw: 2.8A (measured)
  • Bluetooth Module: HC-05
  • Build Volume: 135mm x 90mm footprint
  • Chassis: Fully 3D-printed components (PLA)

📱 Android App

  • Built with MIT App Inventor
  • Control individual servo angles or trigger gesture presets:
    • Home, Ready, Wave, Screwdriver, Circles, Diagonals, Worm, Demo
  • Bluetooth communication with Arduino via HC-05

📐 Mechanical Design

  • All STL files for 3D printing included
  • Exploded views, BOM, and design drawings available
  • Desktop-sized and modular for easy assembly and customization

🔌 Electrical Design

  • Custom PCB designed in KiCAD
  • Includes:
    • Circuit schematics
    • PCB layout
    • Gerber files for fabrication
  • Power and signal headers for servos, Bluetooth, and logic

🧠 Arduino Firmware Features

  • Servo smoothing for fluid movement
  • Bluetooth and Serial input parsing
  • Support for:
    • Comma-delimited angle commands (e.g., 90,90,90,90,90,90*)
    • Keyword triggers (Demo, Home, etc.)
    • Real-time smoothing level adjustment (0#/100#)

🚀 Getting Started

🔩 Requirements

  • Arduino IDE
  • Android device with Bluetooth
  • 3D printer (recommended material: PLA)
  • 5V power supply (min. 3A)
  • HC-05 Bluetooth module
  • Basic tools for assembly and soldering

🛠️ Setup Instructions

  1. 3D Print all components from the STL-Files/ folder.
  2. Assemble using provided CAD diagrams.
  3. Upload firmware from Arduino-Firmware/ to your ATmega328P.
  4. Install Android app from MIT-App-Inventor/ (.apk) or open .aia to modify.
  5. Pair Bluetooth module and connect via the app.
  6. Power on the system and start experimenting!

📚 Documentation

📄 Full design details, diagrams, testing results, and methodology can be found in the Project Report (PDF).


🧩 Future Improvements

  • Add tactile or force sensors
  • Integrate IoT control (Wi-Fi, MQTT)
  • Implement gesture learning via AI
  • Design swappable gripper attachments
  • Develop an educational kit version

📝 License

This project is open-source and distributed under the terms of the GNU General Public License v3.0 (GPL-3.0).


👤 Author

Ethan Lawlor
B.Eng. Mechatronics
Technological University Dublin

Parts

25
QtyValueFootprintReferences
4MountingHoleMountingHole:MountingHole_2.2mm_M2H1, H2, H3, H4
21KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR2, R4
222pFCapacitor_SMD:C_0201_0603Metric_Pad0.64x0.40mm_HandSolderC3, C4
1100nFCapacitor_SMD:C_0201_0603Metric_Pad0.64x0.40mm_HandSolderC5
1100uFPCBFootprints:TAJB_AVX-MC1
110KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR3
110uFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC2
116MHz OSCOscillator:Oscillator_SMD_ECS_2520MV-xxx-xx-4Pin_2.5x2.0mmY1
12KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1
1AMS1117Package_TO_SOT_SMD:TO-252-2U2
1ATmega328P-PPackage_QFP:TQFP-32_7x7mm_P0.8mmU1
1FTDiTerminalBlock_TE-Connectivity:TerminalBlock_TE_282834-6_1x06_P2.54mm_HorizontalJ2
1HC-05TerminalBlock_TE-Connectivity:TerminalBlock_TE_282834-6_1x06_P2.54mm_HorizontalJ1
1LEDLED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolderD1
1NeopixelTerminalBlock_TE-Connectivity:TerminalBlock_TE_282834-4_1x04_P2.54mm_HorizontalJ6
1PowerTerminalBlock_TE-Connectivity:TerminalBlock_TE_282834-2_1x02_P2.54mm_HorizontalJ7
1S1 S2TerminalBlock_TE-Connectivity:TerminalBlock_TE_282834-2_1x02_P2.54mm_HorizontalJ3
1S3 S4TerminalBlock_TE-Connectivity:TerminalBlock_TE_282834-2_1x02_P2.54mm_HorizontalJ4
1S5 S6TerminalBlock_TE-Connectivity:TerminalBlock_TE_282834-2_1x02_P2.54mm_HorizontalJ5
1SW_Push_DualButton_Switch_SMD:SW_Push_1P1T_NO_6x6mm_H9.5mmReset1

Questions

How big is the RobotArmMK1.2 PCB?

It measures 50.9 × 36.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the RobotArmMK1.2 use?

25 parts, built around the ATMEGA328P-PU, HC-05 and AMS1117. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the RobotArmMK1.2 KiCad files?

From the EthanLawlor/RobotArm repository on GitHub, at the commit this page was made from: the board is 1.Electrical/RobotArmMK1.2/RobotArmMK1.2.kicad_pcb and its schematic 1.Electrical/RobotArmMK1.2/RobotArmMK1.2.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the RobotArmMK1.2 design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers137.7 × 61.5 mmEMG Device, the printed circuit board in 3D

    EMG Device

    Demkku/EMG-Device

    Project for university course: Principles of Digital Fabrication of Oulu University

    73 parts
  • 2 layers92 × 75 mmBit v4.1.0, the printed circuit board in 3D

    Bit v4.1.0

    alazifi/baby-incubator-tester

    Berikut pasangan versi yang diimplementasikan untuk menghasilkan kinerja alat yang optimal.

    57 parts
  • 2 layers88.9 × 106.7 mmDataLogger, the printed circuit board in 3D

    DataLogger

    ataweg/DataLogger

    DataLogger using "Arduino UNO" board and Greiman SdFat library

    62 partsMIT
  • 4 layers126.6 × 37.7 mmGruzik2.0, the printed circuit board in 3D

    Gruzik2.0

    NYDEREK/LineFollower_GRUZIK2.0-light

    GRUZIK2.0 is simple light construction made for "line follower light" competition

    50 parts101MIT
  • 2 layers100 × 100 mmMain board V2, the printed circuit board in 3D

    Main board V2

    Resaj/cyclops-project

    Robot de carreras open source con cámara

    31 parts53
  • 2 layers90.9 × 38.4 mmSnaaur v1, the printed circuit board in 3D

    Snaaur v1

    duongngochoan/Self_balancing_robot_PID

    Used a PID control algorithm and MPU605 sensor to balance a two-wheeled robot.

    58 parts7
  • 2 layers56.8 × 68.6 mmEmg, the printed circuit board in 3D

    Emg

    leikoilja/muscle-imbalance-detection

    A device to assist patients with the rehabilitation of the knee joint after a knee surgery using EMG biofeedback. The device can reliably detect muscle activity and display it in an easy-to-use mobile application.

    84 parts6MIT
  • 2 layers135.8 × 56.1 mmPower board, the printed circuit board in 3D

    Power board

    xtarke/automated_buggy

    This shield connects microcontroller (MSP-EXP430FR2355) pins to the car's power board. Go to Power Board for more hardware information.

    87 parts5GPL-3.0