PhysiClaw is a physically-interactive agent: it operates a phone by tapping on its screen, so it needs hardware to carry out those actions. This manual covers the assembly of that hardware. It has three parts: a CoreXY stage that moves across the plane (X/Y positioning), a touch mechanism that presses the screen along the Z axis, and a camera that watches the screen.
Before you begin
Before you start, read this manual all the way through, and check the parts you've bought against the bill of materials to make sure nothing is missing. Assembling a PhysiClaw takes about two to three hours, so set aside enough time.
Reporting an issue
Should you find an error in this manual or have a suggestion for an improvement, please consider opening an issue on GitHub (github.com/physiclaw/PhysiClaw/issues). When raising an issue please include the relevant page numbers and a short description; annotated screenshots are also very welcome. We periodically update the manual based on the feedback we get.
Domed head, hex drive. Used on surfaces where a lower profile matters but a flush head isn't required.
ISO 7380-1
Flat head cap screw (FHCS)
90° countersunk head, hex drive. Sits flush with the surface, used where nothing can protrude above the part.
ISO 10642 / DIN 7991
Shim
5×8×0.5 shim. Stacked under each idler to adjust axial play.
5×8×0.5
Hex nut
Pairs with a bolt to clamp parts firmly together.
ISO 4032 / DIN 934
Square nut
A square nut sits in a pocket of the printed part, letting you tighten a bolt into it.
DIN 557
44
HARDWARE — REFERENCEPhysiClaw.ai
Standard T-nut (slide-in)
Slides into the slot from the open end of the extrusion. As you tighten the screw, the nut is pulled up and catches on the inner edges of the slot opening.
Hammer T-nut (drop-in)
Drops flat into a slot anywhere along its length, then a quarter turn locks it.
GT2 drive pulley
20-tooth toothed pulley. One sits on each stepper shaft, locked to the shaft's D-flat with a set screw; it drives the GT2 belt.
GT2 · 20T · 5 mm bore · 6 mm belt
GT2 idler (toothed)
Toothed turning wheel that meshes with the toothed side of the belt as it spins.
GT2 · 20T · 5 mm bore · 6 mm belt
GT2 idler (smooth)
Un-toothed turning wheel that rides on the belt's flat back as it spins.
5 mm bore · 6 mm belt
Flat bracket
Two-hole plate with M5 holes 20 mm apart.
55
HARDWARE — TOOLSPhysiClaw.ai
2 mm & 3 mm hex drivers
The 2 mm and 3 mm hex drivers see the most use in this build. We recommend a quality driver in each size.
Driver sizes
These cover the socket screws used in this build: 2 mm for M3 button/flat head screws, 3 mm for M5 button/flat head screws (BHCS/FHCS), and 5 mm for M6 socket head cap screws (SHCS).
66
3D PRINTED PARTSPhysiClaw.ai
Part printing settings and guidelines
PhysiClaw's custom parts are printed by a nylon powder-bed fusion process, either Selective Laser Sintering (SLS) or Multi Jet Fusion (MJF), rather than the common FDM. The powder-bed process fuses nylon powder layer by layer into dense, support-free parts with uniform strength in every direction. These parts carry side holes and overhangs: with FDM the side holes deform and the overhangs sag, so a powder-bed process is required. Match the specifications below when sourcing parts.
3D Printing Process
Selective Laser Sintering (SLS) or Multi Jet Fusion (MJF)
Part Density
Solid
Material
Black PA12 nylon (or equivalent)
Dimensional Tolerance
±0.3% (min ±0.3 mm)
Layer Thickness
100 µm (0.1 mm)
Orientation
Service default
Minimum Wall Thickness
1.0 mm
Surface Finish
Raw / as-printed
File naming
Any file whose name ends in _x# tells you the quantity of that part required to build the machine. For example, a part named idler_mount_front_x2.step is needed two times.
77
PhysiClaw.ai
SECTION 01
Frame
Four 2040 aluminum extrusions form the base frame, and every other part mounts onto it. Make sure all four corners are square. This is the foundation for accurate motion later on.
88
FRAMEframe_10PhysiClaw.ai
Preload the T-nuts
Slide every T-nut into its slot before squaring the frame.
Bill of materials
Component
Spec
Qty
Extrusion 2040
345 mm · CB
2
Extrusion 2040
190 mm
2
T-nut
Slide-In M5
8
99
FRAMEframe_20PhysiClaw.ai
Direction Convention
Top, bottom, left, and right throughout this manual refer to this view.
Mind the placement
The short extrusion carrying the four slide-in T-nuts goes on top.
Counterbores face out
The counterbored ends of the long extrusions face outboard, each counterbore aligned with the short extrusion's end bore.
Square before final tightening
Each M6×20 SHCS drops through the long's counterbore into the short's end hole. Run all 8 in snug, square the frame on a flat surface, then tighten.
Bill of materials
Component
Spec
Qty
SHCS
M6×20
8
1010
FRAMEframe_30 · frame_31PhysiClaw.ai
Reinforce the frame
One joining plate reinforces each corner. Run an M5×10 BHCS through the plate, start a drop-in T-nut on it loosely, drop the assembly into the closed frame, then tighten.
Bill of materials
Component
Spec
Qty
Flat bracket
40 × 18 × 4 mm
4
BHCS
M5×10
8
T-nut
Drop-In M5
8
1111
FRAMEframe_40 · frame_41PhysiClaw.ai
Feet point down
The bumpers are the machine's feet, mounted under the four corners of the frame.
Use the screws that come with the bumpers
If the bumpers you bought came with their own screws, use those. They're the right size.
Bill of materials
Component
Spec
Qty
Bumper
Ø20 × 22 mm
4
BHCS
M5×16
4
T-nut
Drop-In M5
4
1212
PhysiClaw.ai
SECTION 02
Idler
Install one idler assembly at each of the four corners of the frame, all using smooth idlers. They roll against the flat back side of the GT2 belt, redirecting it around each corner.
1313
IDLERidler_10PhysiClaw.ai
Center hardware first
Drop the center M5 square nut and its M5×10 BHCS into the middle counterbore hole first. The idler stacks block access later.
Confirm the idler spins freely
Once installed, check that each idler turns freely.
Flat face toward the screw
Seat each square nut with its flat face pointing toward its screw.
Side pocket hard to seat?
If a side square nut won't drop into place, clear the pocket with a small screwdriver or a pin first. Prints can leave residue in the slot.
Bill of materials
Component
Spec
Qty
Idler mount
SLS/MJF 3D Print
1
Idler
GT2 20T, smooth
3
BHCS
M5×10
1
Shoulder screw
Ø5×10×M4
1
Shoulder screw
Ø5×20×M4
1
Square nut
M4
2
Square nut
M5
1
Shim
5×8×0.5
3
1414
IDLERidler_12PhysiClaw.ai
Two ways to the frame
The block locks to the frame in two places: the middle M5 screw catches a slide-in T-nut in the extrusion slot, and the bracket bridges block and frame. On the bracket, the longer M5×12 BHCS threads into the block's captive square nut; the M5×10 catches the T-nut in the frame slot.
2 mm gap to the corner plate
Position the block so it sits 2 mm clear of the frame-corner joining plate.
Bill of materials
Component
Spec
Qty
Flat bracket
40 × 18 × 4 mm
1
BHCS
M5×10
1
BHCS
M5×12
1
T-nut
Drop-In M5
1
1515
IDLERidler_20PhysiClaw.ai
Each idler stack is 18 mm
Idler 8.5 mm, spacer 9 mm, shim 0.5 mm. Use shims and spacers to bring every idler stack to a uniform 18 mm.
Spacer must total 9 mm
The spacer is 9 mm tall. If you can't buy that exact height, stack shorter spacers to total 9 mm.
Bill of materials
Component
Spec
Qty
Idler mount
SLS/MJF 3D Print
1
Idler
GT2 20T, smooth
3
BHCS
M5×10
1
Shoulder screw
Ø5×20×M4
2
Square nut
M4
2
Square nut
M5
1
Spacer
5×10×9
1
Shim
5×8×0.5
3
1616
IDLERidler_22PhysiClaw.ai
Long screw into the block
Same screw split as the left bracket: the M5×12 BHCS threads into the block's captive square nut, the M5×10 into the frame-slot T-nut.
Match the left block's gap
Set the right block the same 2 mm clear of the frame-corner plate as the left block. Keep both gaps equal so the idler stations stay symmetric.
Bill of materials
Component
Spec
Qty
Flat bracket
40 × 18 × 4 mm
1
BHCS
M5×10
1
BHCS
M5×12
1
T-nut
Drop-In M5
1
1717
IDLERidler_30PhysiClaw.ai
Motor A idler — sits lower
This idler carries Motor A's belt. With no spacer, it rides on the lower belt plane.
Bill of materials
Component
Spec
Qty
Idler mount
SLS/MJF 3D Print
1
Idler
GT2 20T, smooth
1
BHCS
M5×10
1
Shoulder screw
Ø5×10×M4
1
Square nut
M4
1
Shim
5×8×0.5
1
1818
IDLERidler_31PhysiClaw.ai
2 mm gap to the corner plate
Set this block 2 mm clear of the frame-corner plate, the same gap used at every other idler station.
1919
IDLERidler_40PhysiClaw.ai
Motor B idler — sits higher
This idler carries Motor B's belt. The 9 mm spacer lifts it onto the upper belt plane.
Bill of materials
Component
Spec
Qty
Idler mount
SLS/MJF 3D Print
1
Idler
GT2 20T, smooth
1
BHCS
M5×10
1
Shoulder screw
Ø5×20×M4
1
Square nut
M4
1
Spacer
5×10×9
1
Shim
5×8×0.5
1
2020
IDLERidler_41PhysiClaw.ai
Match the left block's gap
Set the right block the same 2 mm clear of the frame-corner plate as the left block, so the lower idler stations stay symmetric.
2121
PhysiClaw.ai
SECTION 03
Motor
Two NEMA 17 stepper motors mount on the top extrusions of the frame, one on each side. They drive the CoreXY belts, which move the stylus carriage.
2222
MOTORmotor_10PhysiClaw.ai
Note the motor wire direction
Check which way the motor's wires face and match the orientation shown. That orientation sets the wiring clearance later.
Only the spacer height matters
Motor A's spacer must be 8 mm tall.
Tighten in a cross pattern
Run all four motor screws in finger-tight first, then tighten opposite corners in pairs. This pulls the motor flat against the bracket instead of tilting it to one side.
Bill of materials
Component
Spec
Qty
Motor bracket
60×42×3
1
Motor
NEMA 17 stepper, 38 mm height
1
BHCS
M3×6
4
BHCS
M5×16
2
Spacer
6×12×8
2
2323
MOTORmotor_11PhysiClaw.ai
Motor A
We refer to the left motor as Motor A.
Note the wire direction
Confirm the motor's wires face the direction shown before fixing the bracket.
Leave the bolts loose
Don't fully tighten the motor mount yet. You'll slide it later to tension the belt.
2424
MOTORmotor_20PhysiClaw.ai
A taller spacer here
Motor B's spacer must be 12 mm tall.
Right motor — mirror image
Built like the left motor, but mirrored: the cable connector faces right.
Bill of materials
Component
Spec
Qty
Motor bracket
60×42×3
1
Motor
NEMA 17 stepper, 38 mm height
1
BHCS
M3×6
4
BHCS
M5×20
2
Spacer
6×12×12
2
2525
MOTORmotor_21PhysiClaw.ai
Motor B
We refer to the right motor as Motor B.
Mirror
This is the right motor, a mirror of the left. The cable connector faces right.
Leave the bolts loose
Snug only. Final torque comes after belt tensioning.
2626
MOTORmotor_30PhysiClaw.ai
Two heights
The A and B belts sit at different heights: Motor A's pulley (left) is coplanar with the lower idlers, Motor B's pulley (right) coplanar with the upper idlers. Slide each pulley along its motor shaft into position, then lock it down with the set screw.
Set screws
Tighten one set screw onto the shaft's D-flat first, then tighten the other.
Threadlocker
Apply threadlocker to every set screw. A loose pulley throws off motion accuracy and is the single most common issue users report. Before you do, though, make sure the pulleys and idlers are aligned. You can also hold off on the threadlocker and apply it after the belts are installed.
Bill of materials
Component
Spec
Qty
Pulley
GT2 20T, 6 mm
2
2727
PhysiClaw.ai
SECTION 04
Linear motion
PhysiClaw's X/Y motion uses a CoreXY arrangement, guided by three MGN9H linear rails: two run left and right as the Y axis, and one spans between them as the X axis. Each of the two points where the X axis meets the Y rails carries two idler assemblies.
2828
LINEAR MOTIONlinear_10PhysiClaw.ai
Build two Y rails
The Y axis uses two identical rails. Assemble both the same way.
Clean and grease the rails
MGN9H rails arrive coated in shipping oil. Wipe it off and pack the carriage with fresh grease before mounting. That's what gives smooth, long-lasting motion. Prep every rail the same way.
Let the T-nuts hang
Thread an M3×10 FHCS into every other hole and let its drop-in T-nut dangle on the screw tip. Lower the whole rail onto the extrusion slot, then tighten to draw the nuts up snug.
Mind the carriage
The carriage slides off the rail end with little effort, and a dropped one spills its ball bearings, ruining it. Keep it on the rail, and never swap carriages between rails.
Bill of materials
Component
Spec
Qty
Linear rail
MGN9H, 240 mm
2
FHCS
M3×10
12
T-nut
Drop-In M3
12
2929
LINEAR MOTIONlinear_11PhysiClaw.ai
Install the rails
Adjust the idler mounts away from the motor so both ends of each Y rail sit snug against them.
Fix the Y rails, but not tight
Hold both Y rails in place with the bolts snug, not fully tightened. Only once the X axis is installed and travels smoothly should you torque them down.
Tighten from the middle out
When you do tighten, start at the center bolt and work outward so the rail beds down flush against the extrusion.
3030
LINEAR MOTIONlinear_20PhysiClaw.ai
Straight side toward the motor
The left and right joints are mirrored. Mount each one with its straight side facing the motor.
Tighten in a cross pattern
Thread all four screws in first, then tighten opposite corners in pairs. This seats the joint flat on the slider.
Bill of materials
Component
Spec
Qty
XY joint (left)
SLS/MJF 3D Print
1
XY joint (right)
SLS/MJF 3D Print
1
FHCS
M3×10
8
3131
LINEAR MOTIONlinear_30PhysiClaw.ai
Preload the X-beam T-nuts
Slide the two M5 T-nuts in, one from each end.
Bill of materials
Component
Spec
Qty
Extrusion 1020
185 mm
1
T-nut
Slide-In M5
2
3232
LINEAR MOTIONlinear_31PhysiClaw.ai
Check the X beam slides smoothly
The X beam should glide freely along the Y rails. If it binds, realign the Y rails until it runs smoothly, then tighten them from the center bolt outward.
Be patient
Don't expect to get it in one pass. Snug a few screws, slide the X beam to feel the resistance, then nudge the Y rails and try again. It can take a few minutes of back-and-forth before the beam glides smoothly.
Bill of materials
Component
Spec
Qty
FHCS
M5×12
2
3333
LINEAR MOTIONlinear_32PhysiClaw.ai
X rail
Mount this rail just like the Y rails: let the T-nuts hang loose, lower the rail into the slot, then tighten.
Bill of materials
Component
Spec
Qty
Linear rail
MGN9H, 150 mm
1
FHCS
M3×10
4
T-nut
Drop-In M3
4
3434
LINEAR MOTIONlinear_33PhysiClaw.ai
Check both axes move freely
The X rail is now mounted on the X beam. Confirm its carriage slides smoothly along the X rail, and that the whole beam still travels freely along the Y rails. If either binds, realign that rail and retighten from the center out.
3535
LINEAR MOTIONlinear_40PhysiClaw.ai
Motor B idler — sits higher
This idler carries Motor B's belt on the left joint. The 9 mm spacer lifts it above the others, keeping its belt on the upper plane.
Bill of materials
Component
Spec
Qty
Idler
GT2 20T, smooth
1
Shoulder screw
Ø5×20×M4
1
Spacer
5×10×9
1
Shim
5×8×0.5
1
3636
LINEAR MOTIONlinear_41PhysiClaw.ai
Use the correct hole
The idler mounts in the top hole of the left joint. Take care not to use the wrong one.
Bill of materials
Component
Spec
Qty
Square nut
M4
1
3737
LINEAR MOTIONlinear_42PhysiClaw.ai
Motor A idler — sits lower
Use the toothed idler here, not the smooth one.
It carries Motor A's belt and, with no spacer, rides on the lower belt plane.
Bill of materials
Component
Spec
Qty
Idler
GT2 20T, toothed
1
Shoulder screw
Ø5×10×M4
1
Shim
5×8×0.5
1
3838
LINEAR MOTIONlinear_43PhysiClaw.ai
Install in the right position
Before tightening, confirm the idler is seated in the correct position on the joint.
Bill of materials
Component
Spec
Qty
Square nut
M4
1
3939
LINEAR MOTIONlinear_44PhysiClaw.ai
Motor A idler — sits lower
This idler carries Motor A's belt on the right joint, in the top hole. With no spacer, it rides on the lower belt plane.
Bill of materials
Component
Spec
Qty
Idler
GT2 20T, smooth
1
Shoulder screw
Ø5×10×M4
1
Shim
5×8×0.5
1
4040
LINEAR MOTIONlinear_45PhysiClaw.ai
Install in the right position
Before tightening, confirm the idler is seated in the correct position on the joint.
Bill of materials
Component
Spec
Qty
Square nut
M4
1
4141
LINEAR MOTIONlinear_46PhysiClaw.ai
Motor B idler — sits higher
Use the toothed idler here, not the smooth one.
It carries Motor B's belt and, with the 9 mm spacer, rides on the upper belt plane.
Bill of materials
Component
Spec
Qty
Idler
GT2 20T, toothed
1
Shoulder screw
Ø5×20×M4
1
Spacer
5×10×9
1
Shim
5×8×0.5
1
4242
LINEAR MOTIONlinear_47PhysiClaw.ai
Check all four idlers
All four idlers are now mounted on the XY joints. Recheck that each one sits in its correct location.
Bill of materials
Component
Spec
Qty
Square nut
M4
1
4343
PhysiClaw.ai
SECTION 05
Belt path
PhysiClaw's CoreXY drive runs on two GT2 belts, A and B, set on two stacked planes so they never cross. The two belts must be tensioned equally to keep the motion accurate.
4444
BELT PATHbelt_10 · belt_11PhysiClaw.ai
Install belt A
The Motor A belt is a single open length with both ends clamped to the X carriage. It must stay flat in one plane and never twist along the way. The teeth grip the toothed pulleys; the smooth back rides on the smooth idlers.
The clamp self-locks
Feed each belt end into the clamp's bottom slot, loop it around the post, and fold it back against itself so the teeth mesh. That teeth-on-teeth grip holds the belt with no extra fasteners.
Tension by sliding the motor
Leave Motor A's two M5 screws loose, clamp both belt ends into the clamp, then slide the motor to pull the belt tight.
Bill of materials
Component
Spec
Qty
Timing belt
GT2-6 mm, open-ended
1
4545
BELT PATHbelt_20PhysiClaw.ai
Clamp the belt before mounting
Make sure the Motor A belt is seated in the clamp's bottom slot before you fix the clamp to the X carriage.
Match the Motor B belt length
Before fitting the Motor A belt into its clamp, cut the Motor B belt to match it. Both must be the same length.
Bill of materials
Component
Spec
Qty
Belt clamp
SLS/MJF 3D Print
1
BHCS
M3×8
4
4646
BELT PATHbelt_30 · belt_11PhysiClaw.ai
Install belt B
Route the Motor B belt on the upper idler plane. It must not cross belt A. Clamp both ends to the X carriage, the same way as belt A.
Check the belts
With both belts installed, push the carriage by hand through its full travel in every direction. It should move smoothly with the same, even resistance throughout. That resistance is just the motors. Confirm there's no sticking, no interference, no twisted belts, and no odd noises, with the two belts on their separate planes.
Threadlocker
If the pulley set screws have no threadlocker yet, apply it now that the belts run smoothly.
4747
BELT PATHbelt_30PhysiClaw.ai
75 Hz
Belt tension
Equal tension on both belts is essential for a CoreXY motion system. Even a slight difference between the two will skew the gantry's motion. You can adjust a motor's position to fine-tune the tension of its belt.
Pluck the belts
For a quick check, move the X carriage fully to the motor side and pluck the indicated belts with a finger. The two should feel and sound about the same. Matching pitch means roughly equal tension.
75 Hz at 220 mm
For a precise check, measure each belt with a tuning app on your phone while the X carriage is parked at the marked position. Pluck the belts and aim for 75 Hz. If both read the same frequency, the tension is correct.
4848
PhysiClaw.ai
SECTION 06
Touch end
Mount the capacitive stylus tip onto the push-pull solenoid, then install the two together onto the X carriage.
4949
TOUCH ENDtapz_10PhysiClaw.ai
Fit the stylus tip
The solenoid ships with a nut on its bottom end. Remove that nut, then thread the stylus tip on in its place.
Solenoid mount holes
Two M3 holes, 15 mm apart.
Bill of materials
Component
Spec
Qty
Solenoid
12 V, 2×M3, 15 mm pitch
1
Stylus tip
Conductive fabric tip, Ø7 mm
1
5050
TOUCH ENDtapz_11PhysiClaw.ai
10 hole pairs for height tuning
The mount has 10 pairs of holes, spaced 1 mm apart. Pick a pair now, and you can later raise or lower the stylus in 1 mm steps.
Route the power leads
As indicated, feed the solenoid's +/− leads into the rectangular hole on the mount side, then run them up and out through the rectangular hole at the top.
Ground the solenoid
Clamp the ground wire's bare copper between the solenoid housing and the mount, then tighten a screw to pin it. This grounds the solenoid. Run the ground wire out through the other rectangular hole below to join the power leads.
Bill of materials
Component
Spec
Qty
Solenoid mount
SLS/MJF 3D Print
1
BHCS
M3×6
2
5151
TOUCH ENDtapz_20PhysiClaw.ai
Mount the solenoid to the clamp
Six screws hold the solenoid assembly to the clamp. To adjust the stylus height later, undo them and refit at a different hole pair.
Bill of materials
Component
Spec
Qty
BHCS
M3×8
4
FHCS
M3×10
2
Square nut
M3
6
5252
PhysiClaw.ai
SECTION 07
Phone bed
Two cross-beams mount under the frame and carry the printed phone bed. The phone lies in the bed screen-up, its top-left corner seated against the bed's corner, level under the stylus.
5353
PHONE BEDphone_10PhysiClaw.ai
Make two
You need two identical cross-beams for the bed.
Bill of materials
Component
Spec
Qty
Extrusion 1020
230 mm, M5 end holes
2
BHCS
M5×16
4
T-nut
Drop-In M5
4
5454
PHONE BEDphone_20PhysiClaw.ai
Bill of materials
Component
Spec
Qty
Phone bed
SLS/MJF 3D Print
1
FHCS
M3×8
4
T-nut
Drop-In M3
4
5555
PHONE BEDphone_30PhysiClaw.ai
Seat the bed on the beams
Lay the two cross-beams parallel, slotted faces up, then lower the bed's hanging T-nuts into the slots and tighten.
5656
PHONE BEDphone_40PhysiClaw.ai
Install the phone bed
Stand the frame on end first. It's far easier to work vertically. Then slide each beam's T-nuts into the slots on the frame's underside.
Position the phone
Place a phone on the bed, pushed into the top-left corner. Move the X carriage around and check the stylus tip can reach every part of the screen.
Set the solenoid height
Set the solenoid's mounting height so the stylus tip just makes stable contact with the screen. Too low, and the solenoid can't pull in fully: the magnetic force is then too weak to hold the tip down, so the tip springs back and both long-press and swipe fail. Too high, and the tip can't reach the screen or the contact patch is too small. Fine-tune until the tip makes stable contact with the screen.
Keep the screen flat
The rear camera bump lifts one corner, so the phone won't lie flat. Slip a thin shim or a few sheets of paper under the low edge until the screen is level and facing straight up. Make sure the phone can't rock or shift when the stylus taps. Any tilt or wobble can make it miss.
5757
PhysiClaw.ai
SECTION 08
Control board
The control board mounts at the front of the frame. The solenoid's wires are spiral-wrapped to a Teflon tube that stiffens the bundle so it holds its shape, clear of the motors and belts. The tube anchors to a frame-mounted holder and to the carriage.
5858
CONTROL BOARDboard_10PhysiClaw.ai
Fit the T-nuts
Leave them loose for the next step.
Bill of materials
Component
Spec
Qty
Control board holder
SLS/MJF 3D Print
1
FHCS
M5×12
2
T-nut
Drop-In M5
2
5959
CONTROL BOARDboard_20PhysiClaw.ai
Mount the control board holder
Mount it on the top extrusion's outer face.
6060
CONTROL BOARDboard_30PhysiClaw.ai
Fasten the control board
Four screw–nut pairs. The lower two nuts are obscured and not drawn.
Bill of materials
Component
Spec
Qty
Control board
MKS DLC32 V2.1
1
BHCS
M3×10
4
Square nut
M3
4
6161
CONTROL BOARDboard_31PhysiClaw.ai
Fit the T-nuts
Two M5 FHCS into hammer T-nuts. Leave them loose for the next step.
Bill of materials
Component
Spec
Qty
Tube holder
SLS/MJF 3D Print
1
FHCS
M5×12
2
T-nut
Drop-In M5
2
6262
CONTROL BOARDboard_32PhysiClaw.ai
Mount the tube holder
Mount it on the top extrusion beside the control board. Its 4 mm socket anchors the fixed end of the Teflon tube.
6363
CONTROL BOARDboard_40PhysiClaw.ai
Rough length
Make the tube about 400 mm, long enough to reach from the tube holder to the X carriage at its farthest position.
Anchor the solenoid leads
Cable-tie the solenoid leads to the tube holder, so the solenoid's travel can't shake the wire at the control-board terminals. Constant shaking works the contact loose, and the solenoid stops tapping the screen.
PTFE vs FEP
Either tube works here: PTFE (milky white) or FEP (clear). The Ø4 tube's stiffness is enough to hold the wire bundle's shape.
Spiral-wrap the tube
Spiral-wrap the solenoid wires to the Teflon tube along its length. The wires don't go inside. The tube just stiffens the bundle so it holds a clear path past the belts and motors.
Bill of materials
Component
Spec
Qty
Teflon tube
Ø4/2, 400 mm
1
Spiral wrap
Ø4, ~400 mm
1
6464
PhysiClaw.ai
SECTION 09
Camera
The camera is mounted on the right side of the frame, facing the phone screen.
6565
CAMERAcamera_10PhysiClaw.ai
1/4-20, not metric
The socket screw and hex nut that the gooseneck mounts on are 1/4-20, the imperial tripod thread (≈ 6.35 mm). Don't substitute an M6.
Imperial Tools
SHCS 1/4-20 takes a 3/16" hex key; hex nut 1/4-20 takes a 7/16" (or metric 11mm) open-end wrench. Needle-nose pliers you already have will also do the job. There's no need to buy tools just for this.
Bill of materials
Component
Spec
Qty
Corner bracket
2ר6.5 mm
1
BHCS
M5×10
1
T-nut
Drop-In M5
1
SHCS
1/4-20×16 (imperial)
1
Hex nut
1/4-20 (imperial)
1
6666
CAMERAcamera_20PhysiClaw.ai
Thread on the gooseneck
Spin the gooseneck's female end onto the stud, snug against the hex nut. The free male end takes the camera next.
Bill of materials
Component
Spec
Qty
Gooseneck
Ø10×300, 1/4-20 M/F
1
6767
CAMERAcamera_30PhysiClaw.ai
Thread on the camera
Thread the camera's 1/4-20 female socket onto the gooseneck's male stud until it bottoms on the stud collar. The camera now hangs off the neck tip.
Bill of materials
Component
Spec
Qty
Camera
4K HD, autofocus
1
6868
CAMERAcamera_40PhysiClaw.ai
Use the lower slot
Mount the corner bracket on the lower slot of the right extrusion's outer face.
Orient the camera
Bend the gooseneck so the camera points squarely at the phone screen, and align the sensor's long edge with the phone's long edge.
Lock it down
Make sure the camera is held firm. It shouldn't drift or wobble.
Route the USB cable
Secure the camera's USB cable along the gooseneck to keep it clear of the belt.
6969
PhysiClaw.ai
SECTION 10
Wiring
Connect the control board's stepper driver outputs to the motors. Wire the solenoid to the spindle output, and ground it.
7070
WIRINGwire_10PhysiClaw.ai
Power off first
Never plug in or remove a driver while the board is powered.
Mind the orientation
Match each driver's pin labels to the board silkscreen before pressing it home. A reversed TMC2209 can burn out on power-up.
Rule of thumb
Colored to colored, black to black.
Heatsink
TMC2209 driver modules typically include a heatsink that can be stuck onto the top of the driver chip.
Bill of materials
Component
Spec
Qty
Motor driver
TMC2209
2
7171
WIRINGwire_10PhysiClaw.ai
Motor B (X)
Motor A (Y1)
Solenoid (spindle)
Power (DC in)
USB Serial Port
Motor A
Motor B
Connections
The board uses standard GRBL axis outputs, remapped as follows: the X-axis motor driver drives Motor B, the Y1-axis motor driver drives Motor A, and the Spindle output drives the solenoid (in place of a spindle).
No polarity
The Spindle output (to the solenoid) is not polarity-sensitive. Either lead can go to either terminal.
Motor cable connectors
Motor side: 6-pin PH2.0 (2.0 mm pitch), with two pins empty and only four used. Board side: 4-pin XH2.54 (2.54 mm pitch).
Bill of materials
Component
Spec
Qty
Power adapter
12 V 2 A
1
Motor cable
XH2.54
2
Data cable
USB serial
1
7272
WIRINGwire_splicePhysiClaw.ai
Extend the leads
The solenoid's stock leads don't reach the control board. Splice extra hookup wire onto both the 12 V and GND leads.
Keep the stock leads under 50 mm
Cut the solenoid's stock leads back to 50 mm or less before splicing, so the joints sit clear of where the cable bends most. A joint that flexes with every gesture fatigues and snaps.
Stagger the splices
Solder each joint and cover it with heat-shrink. Offset the two splices about 10 mm so the insulated joints don't sit side by side.
Bill of materials
Component
Spec
Qty
Lead wire
0.3 mm²
1
7373
WIRINGtapz_10PhysiClaw.ai
Ground the stylus
The stylus rides on the solenoid's iron core, and the core is tied to the housing through the metal return spring, so grounding the housing grounds the core, and the tip with it. Give it a real ground reference. Do not use the control board's GND.
Why it matters
A capacitive screen senses a touch through capacitive coupling to ground. A finger works because the body is a large conductor tied to earth; the arm's stylus couples to earth too weakly, so a tap shifts the screen's charge distribution only slightly, and the phone registers the touch unreliably. Tie the stylus to a solid ground to restore that coupling and steady the touch.
How to ground it
Connect the housing to the power supply's common ground. The simplest option is to clip the wire to bare metal on a desktop PC chassis that is grounded through a three-prong outlet. The chassis reaches earth through the mains, giving a stable reference.
Three wires
Three wires run from the solenoid: positive (+), negative (−), and ground. Use spiral wrap to bind all three wires together with the Teflon tube into one bundle, and run it up to the control board holder, then connect + and − to the control board's Spindle terminal and the ground wire to the power supply's common ground.
Warning
Never put the ground wire into a wall socket. Mains voltage (220 V/120 V) is lethal. Touching the live terminal instead of earth can cause a fatal shock and instantly destroy your phone and equipment. Connect only to a verified ground point.
7474
PhysiClaw.ai
SECTION 11
Bill of materials
This is the complete parts list for the whole machine. Use it to gather everything before you start assembling.
7575
Bill of materials11 — BOMPhysiClaw.ai
Class
Component
Spec
Qty
Application
Frame
European Standard Anodized Black Aluminum Profile Extrusion 2040 T Slot
Length 345 mm, counterbored 10 mm from each end on the 40 mm-wide face for M6 SHCS
2
Frame side rails
Length 190 mm, both ends tapped M6
2
Frame end rails
European Standard Aluminum Profile Extrusion 1020
Length 185 mm
1
Gantry X beam
Length 230 mm, M5 through-hole 10 mm from each end
2
Phone bed support
Custom parts
3D printed parts
Selective Laser Sintering (SLS) or Multi Jet Fusion (MJF), PA12 nylon (or equivalent), black
11
Idler mount (4 pc), XY joint (left), XY joint (right), Belt clamp, Solenoid mount, Phone bed, Control board holder, Tube holder
Linear guide
MGN9H rail
Rail length 240 mm
2
Y-axis rails
Rail length 150 mm
1
X-axis rail
MGN9H carriage
H-type long carriage, 4×M3, 15 × 16 mm mounting hole pitch
3
One per rail
Motion components
Pulley
GT2 20T, 5 mm bore, 6 mm width
2
Motor drive pulleys
Idler
GT2 20T smooth, 5 mm bore, 6 mm width
10
Redirect the CoreXY belt
GT2 20T toothed, 5 mm bore, 6 mm width
2
Redirect the CoreXY belt
Timing belt
GT2, 6 mm width, 5 m/roll
1
CoreXY belt
7676
Bill of materials (cont.)11 — BOMPhysiClaw.ai
Class
Component
Spec
Qty
Application
Electronics
Control board
MKS DLC32 V2.1 (incl. USB cable)
1
Main controller
Stepper driver
TMC2209
2
Motor drivers
Power supply
12 V 2 A adapter, 5.5×2.1 mm barrel plug
1
System power
Camera
4K HD USB webcam, autofocus
1
Overhead phone-screen view
Wiring / Cables
Motor cable
XH2.54, 4-pin, 200 mm
2
Stepper motor → control board
Lead wire
0.3 mm² stranded flexible wire, pure copper core, 2 m
1
Solenoid GND + lead ext.
Actuators
Stepper motor
NEMA 17, 38 or 40 mm height
2
Drive motors
Solenoid
12 V, 0.8 A, 10 mm stroke, 0.2–6 N push-pull, 2×M3 mounts, 15 mm pitch
1
Drives the stylus tip to tap
Hardware
Flat bracket
40 × 18 × 4 mm (L×W×T), 20 mm hole pitch, M5 holes
6
Frame & idler joints
Motor bracket
60 × 42 × 3 mm (L×W×T)
2
Motor mounts
Corner bracket
2-hole right-angle bracket, 26 mm long, 30 mm leg, 2ר6.5 holes
1
Camera arm mount
Bumper
Cylindrical, 20 mm diameter, 22 mm height, incl. machine screw
4
Frame feet
Stylus tip
M3 female thread, Ø7 mm fabric tip, Ø8.5 mm OD, 12.5 mm height
1
Screen-tapping tip
Teflon tube
2 mm ID, 4 mm OD, 1 m, PTFE or FEP
1
Backbone for the solenoid wire so the run holds its shape
Spiral wrap
Ø4 mm, ~0.5 m
1
Binds the wire to the tube
Gooseneck
360° adjustable, 1/4-20 M/F, 300 mm long, 10 mm OD
1
Camera arm
7777
Bill of materials (cont.)11 — BOMPhysiClaw.ai
Class
Component
Spec
Qty
Application
Fasteners
BHCS
M3×6 (thread dia × thread length)
10
Motors & stylus
M3×8
8
Belt clamps & stylus
M3×10
4
Control board mount
M5×10
15
Frame, idlers, camera base
M5×12
2
Idler-mount brackets
M5×16
10
Frame, phone bed & Motor A mount
M5×20
2
Motor B mount
FHCS
M3×8, length = overall (incl. head), not thread length
4
Phone bed
M3×10
26
Gantry & stylus
M5×12
6
Gantry, control board & tube holder mount
SHCS
M6×20
8
Frame joints
1/4-20×16, imperial (≈ 6.35 mm), not interchangeable with M6
1
Camera arm
Shoulder screw
Ø5×10×M4 (shank dia × shank length × thread)
4
Idler
Ø5×20×M4
6
Idler
7878
Bill of materials (cont.)11 — BOMPhysiClaw.ai
Class
Component
Spec
Qty
Application
Fasteners
T-nut
Drop-In M3
20
Gantry & phone bed
Drop-In M5
23
Frame, idlers, phone bed, control board holder, tube holder, camera base
Slide-In M5
10
Frame & gantry
Square nut
M3, 5.5 mm square, 2.4 mm thick
10
Stylus holder & control board holder
M4, 7 mm square, 3.2 mm thick
10
Idler
M5, 8 mm square, 4 mm thick
2
Idler
Hex nut
1/4-20, imperial (≈ 6.35 mm), not interchangeable with M6
1
Camera arm
Shim
5 mm ID, 8 mm OD, 0.5 mm thick
12
Idler
Spacer
5 mm ID, 10 mm OD, 9 mm height
4
Idler
6 mm ID, 12 mm OD, 8 mm height
2
Motor A bracket standoff
6 mm ID, 12 mm OD, 12 mm height
2
Motor B bracket standoff
Tools
Hex key
2 / 3 / 5 mm
3
M3, M5, M6 screws
Other
Grease
Lithium grease, NLGI 2
1
Rail lubrication
Threadlocker
Loctite 243 or equivalent — medium strength, blue
1
Lock pulley set screws
Heat shrink tubing
Ø3 mm
2
Insulate and protect wire splices
7979
END OF MANUAL
Next, tell PhysiClaw what you'd like it to do.
“PhysiClaw can do anything you can do on your phone: it looks at the screen and touches it, just like you.”