Skip to the content
2 layers97.8 × 72.4 mmAutomatic Soldering Helper, the printed circuit board in 3D

Automatic Soldering Helper

anadskman/Automatic-Soldering-Helper

A small robot arm that can help hold wires, PCBs and other parts while I'm soldering.

Size
97.8 × 72.4 mm
Copper layers
2
Thickness
1.6 mm
Parts
18
Nets
32
Pads
74
Tracks, vias
147, 6
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
16 Aug 2026
Updated
7 Sep 2026

Overview

Automatic Soldering Helper is an open-source printed circuit board by anadskman, from the anadskman/Automatic-Soldering-Helper repository on GitHub. It is a 2-layer board of 97.8 × 72.4 mm with 18 parts on 32 nets, routed with 147 tracks and 6 vias.

It is built around the ULN2003. Its parts include 5 switches, 3 connectors, 1 capacitor, 1 resistor and 1 IC. It belongs with the robots and motor control boards of this library.

Main components

1

README

README.md

Automatic Soldering Helper

image

A small robot arm that can help hold wires, PCBs and other parts while I'm soldering.

I wanted to make something like a motorised helping hand that I can move around with buttons instead of having to keep adjusting normal helping hands every time.

I already had most of the motors and electronics so I decided to try make the arm mostly out of parts I already had.

How It Works

The whole arm rotates around the base using a 28BYJ-48 stepper motor and a ULN2003 driver.

The rest of the arm uses 4 small 9g servos:

  • Shoulder
  • Elbow
  • Wrist
  • Clamp

I originally planned on using a gear ratio for the base because I thought the stepper might struggle with the weight of the arm.

After printing most of the arm and seeing how light it actually was I decided to remove the whole gear ratio part and just attach the motor directly to the arm. This also makes the base way simpler and smaller.

Testing

Before buying the final electronics I printed everything for the arm except the final motor base and connected it to an Arduino Uno just to confirm the idea would actually work.

I only have 3 potentiometers so for testing I used them to control the servos and switched between the wrist and clamp when needed.

Kinda surprisingly it worked pretty well.

There is a small bit of electrical noise making the servos vibrate but I'm adding a 1000uF capacitor to the final electronics which should help with that.

The Arduino is only being used for testing. The final version will use an ESP32.

Clamp

I printed a small basic clamp for the first test just to make sure the servo could actually open and close something.

After that I redesigned it into a bigger clamp taking inspiration from some videos I saw on Instagram.

The bigger one should be much more useful for actually holding wires, connectors and small PCBs so I think I'll use that for the final version.

The clamp is controlled by another 9g servo.

Controls

I wanted the final arm to use physical controls instead of needing a computer every time I want to move it.

I'm using:

  • 3 potentiometers
  • 6 momentary buttons

The potentiometers can be used to manually position the shoulder, elbow and wrist.

The buttons can then be used for things like:

  • Saved positions
  • Moving the base
  • Opening and closing the clamp
  • Home
  • Changing modes

The ESP32 can save arm positions so I can move the arm somewhere useful and then return to that position later without manually adjusting everything again.

Saved Positions

A saved position can store:

  • Base position
  • Shoulder angle
  • Elbow angle
  • Wrist angle
  • Clamp position

This means I could have different positions for stuff like holding wires or holding a PCB.

The positions will be stored on the ESP32 so they don't disappear every time it loses power.

Base

The base uses the 28BYJ-48 stepper motor I already had.

I originally designed a larger base with printed gears to increase the torque but after actually printing the arm it was much lighter than I expected.

Because of that I decided to remove the gears and just drive the rotating part directly from the stepper.

There will also be a limit switch so the arm can find its home position when it starts.

Table Mount

For attaching the whole thing to my desk I'm going to reuse the clamp from my old helping hands.

It already works well for attaching stuff to the edge of a table so there isn't much point designing another clamp.

The helping hands clamp will just slot into a mount on the bottom of the arm.

Electronics

The final controller will be an ESP32 CH340C USB-C development board.

The servos aren't going to be powered directly from the ESP32.

They will use the 5V power rail and all of the grounds will be connected together.

I'm also adding a 1000uF capacitor across the servo power to help with the small amount of electrical noise I noticed while testing.

The stepper motor will be controlled through its ULN2003 board.

PCB

I don't really need a normal manufactured PCB for this project so I'm making a 3D printed one instead.

The PCB will basically have slots and paths where I can insert the wires to keep everything organised.

I redesigned the PCB after working out the final electronics and made sure to export the traces in the STEP this time because I forgot to last time and ended up drawing them by hand in Fusion.

The ESP32 and other electronics can then mount onto this inside the case.

Firmware

The final firmware will run on the ESP32.

Instead of using GRBL I decided to make the position system specifically for the arm since only the base uses a stepper and everything else uses servos.

The firmware will handle:

  • Manual movement
  • Servo control
  • Stepper control
  • Clamp control
  • Saved positions
  • Base homing
  • Smooth movement
  • Physical buttons
  • Potentiometer controls

This should make it pretty easy to use while I'm actually soldering instead of having to control it from my computer.

BOM

ItemQtyStatusPriceNotes
ESP32-CH340C-Type-C1Buy$5.03Main controller
1000uF 50V Electrolytic Capacitors5Buy$2.22Servo power smoothing
M2 Hex Socket Button Head Screw Kit1Buy$6.99Arm assembly
DS228/DS428 12mm Green Momentary Pushbuttons6Buy$3.25Physical controls
28BYJ-48 5V Stepper Motor1Owned$0.00Rotates the arm
ULN2003 Stepper Driver Board1Owned$0.00Drives the stepper
9g Servo4Owned$0.00Shoulder, elbow, wrist and clamp
10k Potentiometer3Owned$0.00Manual arm controls
Limit Switch1Owned$0.00Base homing
10k Resistor1Owned$0.00Limit switch pull-up

Order Cost

Cost
Subtotal$17.56
Savings-$0.19
Shipping$0.00
Estimated import charges$16.93
Total$34.30

Current Progress

So far I've:

  • Designed the arm in CAD
  • Printed most of the arm
  • Designed the clamp
  • Tested the servos with an Arduino Uno
  • Confirmed the arm can actually move
  • Simplified the rotating base
  • Planned the ESP32 controls
  • Planned the saved position system
  • Designed the 3D printed PCB
  • Worked out the final BOM

The main thing now is getting the final parts and putting everything together properly.

Images

SchematicPCBCase
SchematicPCBCase

Parts

18
QtyValueFootprintReferences
5SW_PushConnector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalSW1, SW2, SW3, SW4, SW5
4Motor_ServoConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalM1, M2, M3, M4
3R_PotentiometerConnector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_VerticalRV1, RV2, RV3
11000UFCapacitor_THT:CP_Radial_D6.3mm_P2.50mmC1
1Limiter SwitchConnector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_VerticalJ3
1R 10KResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR1
1ULN2003Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ2
1external powerConnector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalJ1
1~Esp32 Devboard:ESP32_30pinU1

Similar boards

  • 4 layers99.6 × 76.2 mmE TKT, the printed circuit board in 3D

    E TKT

    andreisperid/E-TKT

    open source embossed label maker

    110 parts481MIT
  • 2 layers31 × 64 mmPower driver, the printed circuit board in 3D

    Power driver

    jmfriedt/SDR-GB-SAR

    Opensource, openhardware implementation of a Software Defined Radio (SDR) Ground Based Synthetic-Aperture RADAR (GB-SAR)

    6 parts70
  • 2 layers160 × 100 mmMPCNC Nano Estlcam Shield, the printed circuit board in 3D

    MPCNC Nano Estlcam Shield

    tnn85/MPCNC-Nano-Estlcam-Shield

    Ein CNC Shield für die MPCNC in Verwendung mit Estlcam

    96 parts70
  • 2 layers42.5 × 43.2 mmElectronicFocuser, the printed circuit board in 3D

    ElectronicFocuser

    jlecomte/ascom-oag-focuser

    Open Source ASCOM-Compatible OAG Focuser For Astrophotography

    4 parts55MIT
  • 4 layers100 × 49.8 mmExpansion board, the printed circuit board in 3D

    Expansion board

    reubenstr/zuko

    A quadruped robot dog!

    75 parts51MIT
  • 2 layers75 × 60 mmDUTler V2, the printed circuit board in 3D

    DUTler V2

    TheYoctoJester/dutler

    A bench butler for your Device Under Test: turns a Raspberry Pi Pico into a USB-serial console bridge with power-relay and MOSFET strap/reset control for embedded-Linux bring-up and hardware-in-the-loop.

    54 parts23Apache-2.0
  • 4 layers76 × 82.5 mmNucleo64 CNC, the printed circuit board in 3D

    Nucleo64 CNC

    terjeio/CNC_Breakout_Nucleo64

    CNC breakout for STM324F411 and ST32F446 development boards

    120 parts22

Questions

How big is the Automatic Soldering Helper PCB?

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

What parts does the Automatic Soldering Helper use?

18 parts, built around the ULN2003. 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 Automatic Soldering Helper KiCad files?

From the anadskman/Automatic-Soldering-Helper repository on GitHub, at the commit this page was made from: the board is PCB/Automatic-soldering-helper.kicad_pcb and its schematic PCB/Automatic-soldering-helper.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Automatic Soldering Helper design in my own project?

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