Skip to the content
PCBKitNew board
2 layers100 × 100 mmArm, the printed circuit board in 3D

Why did I Build This? While watching a NASA Mars rover in action on YouTube, I noticed how every function, including the robotic arm, was controlled through a computer interface.

Size
100 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
23
Nets
51
Pads
136
Tracks, vias
318, 8
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
3 Jun 2025
Updated
24 Aug 2025

Overview

Arm is an open-source printed circuit board by regular030, from the regular030/SaturnArm repository on GitHub. It is a 2-layer board of 100 × 100 mm with 23 parts on 51 nets, routed with 318 tracks and 8 vias.

It is built around the TMC2208SILENTSTEPSTICK and RASPBERRY PI ZERO 2 W. Its parts include 9 resistors, 7 connectors, 4 switches and 3 ICs. It belongs with the Raspberry Pi (Linux) boards of this library.

Main components

2

README

README.md

SaturnArm - A Simple Robotic Arm

Youtube Video


    BOM: https://docs.google.com/spreadsheets/d/1lf9XG99qlgez3aRTxvFln9WQ-VlTF8MQk1fM6mLnBtQ/edit?usp=sharing

    image

    Why did I Build This?

    While watching a NASA Mars rover in action on YouTube, I noticed how every function, including the robotic arm, was controlled through a computer interface. It made me wonder, why not use virtual reality instead, to make the experience more immersive and intuitive?

    Files

    • Chassis
      • SaturnArm.gcode.3mf
        • G-code to print out the entire arm for the Bambu Lab A1m
      • arm_pcb.step
        • The PCB's 3D model file
      • Full-Arm.f3z
        • Full Fusion/Fusion 360 file for the arm
      • bot
        • All 3D files for the bottom part of the arm
      • middle
        • All 3D files for the middle part of the arm
      • top
        • All 3D files for the top part of the arm
    • Kicad
      • All PCB files for KiCad 8.0.5
    • Firmware
      • All the Firmware files for the Pi Zero 2 W
    • Unity
      • All the Files for the VR to Arm stuff in Unity 2022.3.38f1
      • DEPRECATED

    Instructions

    Building the Firmware on Raspberry Pi Zero 2 W

    1. Install Required Packages

    Open a terminal on your Pi Zero 2 W and run:

    sh
    sudo apt update
    sudo apt install -y git cmake g++ libopencv-dev libboost-system-dev pigpio

    2. Clone the Repository

    sh
    git clone https://github.com/regular030/SaturnArm
    cd SaturnArm/Firmware/Arm

    3. Enable pigpio Daemon

    sh
    sudo systemctl enable pigpiod
    sudo systemctl start pigpiod

    4. Build the Firmware

    sh
    mkdir build
    cd build
    cmake ..
    make -j1

    The executable SaturnArm will be created in the build directory.


    Calibration

    Before using the arm, you must calibrate it:

    1. Remove the Motors:
      Remove the motors from the arm.

    2. Run the Firmware:
      Start the firmware executable under the build directory:

      sh
      sudo ./SaturnArm
    3. Wait for Program to Run:
      Wait for the Program to run, after that wait for the motors to move to 0deg. Once the motors are done moving, make sure the arms are in an upright position before attaching the motors.


    Main Functions

    • move_to(x, z):
      Move the arm to a specific (x, z) coordinate using inverse kinematics.

      sh
      move:(x),(y)
    • set_servo_angle(servo_number, angle):
      Set a specific servo (shoulder, elbow, or claw) to a given angle.

      sh
      servo(number):(deg)
    • emergency_stop():
      Immediately stop all motion and disable servos.

      sh
       stop

    For more details, see the source code in Firmware/Arm/.

    TODO

    • Finalize VR Support - Delayed Indefinitely

Parts

23
QtyValueFootprintReferences
810kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R2, R3, R4, R5, R6, R7, R8
4RotaryEncoderRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW1, SW2, SW3, SW4
4Screw_Terminal_01x03TerminalBlock:TerminalBlock_bornier-3_P5.08mmJ1, J2, J3, J4
11kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR9
1Barrel_JackConnector_BarrelJack:BarrelJack_HorizontalJ6
1Conn_01x04Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ7
1RASPBERRY_PI_ZERO_2_WFiles Needed:MODULE_RASPBERRY_PI_ZERO_2_WU2
1Screw_Terminal_01x04TerminalBlock:TerminalBlock_bornier-4_P5.08mmJ5
1TMC2208_SILENTSTEPSTICKFiles Needed:MODULE_TMC2208_SILENTSTEPSTICKU3
1YAAJ_DCDC_StepDown_LM2596Files Needed:YAAJ_DCDC_StepDown_LM2596U1

Questions

How big is the Arm PCB?

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

What parts does the Arm use?

23 parts, built around the TMC2208SILENTSTEPSTICK and RASPBERRY PI ZERO 2 W. 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 Arm KiCad files?

From the regular030/SaturnArm repository on GitHub, at the commit this page was made from: the board is Kicad/arm.kicad_pcb and its schematic Kicad/arm.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Arm design in my own project?

Its repository states no licence, so its author keeps all rights: ask regular030 before reusing the design.

Similar boards

  • 2 layers53.3 × 81.3 mmL0ckcr4ck3r, the printed circuit board in 3D

    L0ckcr4ck3r

    Mew463/Project-l0ckcr4ck3r

    I've always wanted to build a robot that actually decodes locks while maintaining a cool desk toy vibe! I am quite happy with the user-oriented design and doubles as a nice fidgety-toy-thing to play with.

    19 parts66MIT
  • 2 layers87.6 × 63.2 mmTip Etcher, the printed circuit board in 3D

    Tip Etcher

    KN-NaMi/Tip-Etcher

    Tip Etcher

    89 parts3
  • 2 layers79.5 × 96 mmMainBoard PAMI-2024, the printed circuit board in 3D

    MainBoard PAMI-2024

    LesKaribous/Karibous-2024-PAMI

    Hardware pour les Petits Automates Mobiles Indépendants de la Coupe de France de Robotique 2024

    119 parts2
  • 2 layers68.6 × 53.3 mmTims CNC Shield, the printed circuit board in 3D

    Tims CNC Shield

    tim-callinan/Sand-Plotter

    This is a rework of the original arduino cnc shiled http://blog.protoneer.co.nz/arduino-cnc-shield/

    15 parts2
  • 2 layers54.3 × 35.2 mmUrumbu Stepper TMC2208, the printed circuit board in 3D

    Urumbu Stepper TMC2208

    SeanP2001/Urumbu_USB_Stepper_Motor

    A modular approach to prototyping machines that move in the FabLAB

    16 parts1MIT
  • 2 layers120.1 × 64 mmScrew Feeder Dispenser PCB, the printed circuit board in 3D

    Screw Feeder Dispenser PCB

    Hennerz-07/Automatic-Screw-Feeder-Dispenser

    This repository contains the firmware, CAD files, and supporting assets for the Automatic Screw Feeder & Dispenser, developed as part of a final-year BEng Mechatronic Engineering (MTE) project at the University of…

    36 parts
  • 2 layers111 × 107.5 mmSensor, the printed circuit board in 3D

    Sensor

    impatrq/UF3D

    El proyecto surgió a partir de la necesidad de brindar una solución a los pilotos y tripulaciones aéreas, quienes pasan largas horas sentados en condiciones que, sumadas a una mala pisada, pueden afectar la postura…

    14 parts
  • 2 layers120 × 100 mmTugas akhir, the printed circuit board in 3D

    Tugas akhir

    nanangcreacoll/kicad-tugas-akhir

    Repository untuk file kicad tugas akhir.

    35 parts