Build a DIY Pick-and-Place Machine for Solo PCB Assembly
A real, working machine on your bench that places 0402 resistors faster than any human and never asks for coffee. Cost: $700. Time: a long weekend plus a week of fiddling.
Why build instead of buy
Commercial desktop pick-and-places start at $4,500 (LumenPnP, with feeders) and the entry-level pro models from China land near $9,000. If you can place 0805 and SOIC reliably, that's all most maker-tier products need — and a CoreXY frame with vacuum tip and a USB camera does that beautifully for under $700.
Bill of materials
| Subsystem | What | Cost |
|---|---|---|
| Frame | 2020 aluminium, 600 × 600 mm | $70 |
| Motion | NEMA 17, GT2 belts, linear rails MGN12 | $150 |
| Z + nozzle | Hollow stepper + vacuum nozzle set | $60 |
| Vacuum | 12 V diaphragm pump + solenoid | $45 |
| Controller | Smoothieboard / Octopus Pro | $70 |
| Vision | Two USB endoscope cams | $30 |
| Feeders | 3D-printed strip feeders ×8 | $25 PLA |
| Power, wiring, fasteners | — | $80 |
| Software | OpenPnP (free) | $0 |
Mechanical: the CoreXY trick
CoreXY decouples X and Y motion onto two stationary motors with crossed belts. The moving mass is just the nozzle head, not a full gantry. That keeps acceleration high (3 m/s²+) and ringing low — both critical for placing 0402 parts without flicking them off the tape.
Vision: down-cam + up-cam
Two USB endoscope cameras at ~$15 each. The down-cam (mounted next to the nozzle) reads fiducials on the PCB and corrects X/Y/θ. The up-cam (fixed to the frame, looking up) measures the part on the nozzle and rotates it to alignment. OpenPnP does the math — you supply lighting (a $4 white LED ring) and good focus.
Feeders: where most builds fall apart
The motion is the easy part. Reliable feeders are not. The lowest-effort path: print 8-mm strip feeders that the head physically advances by pressing a lever between placements. It costs you ~80 ms per pick — fine. Only build motorised electric feeders when your throughput justifies it (over 2,500 cph or 12+ part types).
OpenPnP: the brain
Open the package, edit machine.xml, and define your motors, nozzle tips, and cameras. OpenPnP's job-runner reads your PCB centroid file, sequences placements to minimise travel, runs vision alignment per pick, and logs every placement.
# job_recipe.yaml — minimal
board: rev3.kicad_pcb
fiducials: [F1, F2]
parts:
R_0402_10k: { feeder: F1, qty: 24 }
C_0402_100n: { feeder: F2, qty: 30 }
ATtiny_QFN: { feeder: F8, qty: 1, vision: precise }
optimise: nearest-neighbour
report: csv
Where it earns its keep
Three margins:
- Production runs of 50–300 boards at home instead of ordering JLCPCB assembly (you save $1.20–$2.50/board, including shipping)
- Quick turn revisions in 2 hours instead of 5 days
- Service offering: charge $0.04/placement plus $1/board for friends and small startups in your local maker scene — it pays for itself in 4 jobs
What goes wrong (so you can plan for it)
Tip pickup failures (vacuum leak, dirty filter), parts knocked over by accel ringing, fiducial mis-detect under glossy soldermask, feeders that feed two parts at once. Each has a five-minute fix once you've seen it. Budget 8 hours of "first job hell" before your machine starts paying you.
Comments
Post a Comment