PnPAssist is a tool that helps you to assemble PCB boards manually.

Similar projects worth following
Starting from
makerstorage has 32 orders / 3reviews
Ships from China, Turkey
The PnPAssist is an open source innovative CNC table that position the next SMT component with a proper orientation for you to make hand assembly a lot more fun and way more efficient.

PnPAssist is a numerical, precise positioning device that makes tedious and repetitive manual PCB assembly easier for you and prevents you from making mistakes.

PnPAssist Discord Server:

Project Log Direct Links:

Why I build this?

I often find myself assembling PCB boards that I designed for my own R&D activities or for a small number of boards I prepared for sale on Tindie. This process is a little bit painful. First I find the location and value of the component from the CAD software. Then I find the right value/package component from my boxes among dozens of components and locate that component by determining its place on the blank PCB. This process continues repeatedly for each component. I designed a tool for myself to improve this time-consuming and error-prone process.

I take a look at the PnP machines for a long time and made researches to make or buy one for myself. But every time I gave up. It frightened me whether it would be accurate enough and the time consuming preparation phase for each new type of board. After all, I was making dozens from one type of board, not hundreds of the same board. There was no enough place in my room for such a large machine. That's why I decided to design a simpler and easier device.

How to Use It?

This machine works with a PnP mount file. Most of the CAD software (may be all of them) for PCB design has option to export this file. For Autodesk Eagle you can export from File > Export > Mount SMD menu

This text file contains the name, X coordinate, Y coordinate, angle, value and the package of the components on the PCB. 

Example Format:

R5 14.31  6.59  90 470ohm M0805
R6 16.41 10.04 180 470ohm M0805

Save this mount file to an SD card and put it on the PnPAssist SD card reader. The machine will home itself on power up.

Place the empty board on the rotary disk. Now you are ready to PnP. For the fist component you need to adjust the machine position under the laser cross. Every time you click the on board switch the machine moves in order to center the next component under the laser cross and the microscope. If you do not have a microscope You can only use the laser cross indicator. When the next component is at the center of the main rotary axis you can rotate the machine to feel your self comfortable to put the component on its place. The machine will show you the name value and the package of the component that you will use on it's oled screen. 


This machine has one linear and one rotary axis. The two lead screws move one center gear. This design have many advantages and simplifies the hardware design. The lead screws with center gear design locks the axis from moving and rotating freely and provide great precision. If you move only one of the motor the table moves and rotates at the same time. In this aspect there is a similarity with the CoreXY platforms. If you move the motors same amount at the opposite directions only the rotary axis moves. If you move the motors same amount at the same direction only Y axis moves. For this reason I decided to use only one step pulse signal from the micro controller to the motor drivers. This ensures that both motors rotate the same amount. 

I use atan2 function to convert the Cartesian coordinates to Polar coordinates for the rotary axis. A polar coordinate system uses an angle and a distance from a center point to define a point in 2D space.

For the given x,y coordinate of a component (we read mount file line by line from SD card and parse the x,y coordinates) we calculate the angle and the radius (distance to the origin) of that point. You can see the calculations in CalcAngleRadius function in the firmware. After this calculations we need to rotate to the angle and move as much as the radius. 


I design an 3D model component box with led indicators. The main board will drive the LEDs in order to indicate the component you need to take from...

Read more »


The PnPAssist Controller​ Board

Adobe Portable Document Format - 29.45 kB - 10/18/2021 at 07:41


Adobe Portable Document Format - 55.21 kB - 10/14/2021 at 12:28


Standard Tesselated Geometry - 80.36 kB - 08/30/2021 at 12:00


Adobe Portable Document Format - 29.13 kB - 08/12/2021 at 10:28


PnPAssist Screws and nuts.pdf

Screws and nuts used.

Adobe Portable Document Format - 20.72 kB - 08/06/2021 at 08:18


View all 22 files

View all 16 components

View all 13 project logs

  • 1
    PnPAssist Build Instructions
  • 2
    PnPAssist V2 Build instructions

View all instructions

Enjoy this project?



Pedro Barbero wrote 08/03/2021 at 11:39 point

Hi Nuri,
This project is incredible, I felt in love with it instantaneously! 

I've read that you use a switch in the main board to move to the next smd competent in the list, So... did you thought that you can use a foot switch to hands free switching? maybe will be useful, giving the possibility to being placing and soldering without using your hands for anything more. 

If the base could be  printed into ABS or metal cnc mechanized... you could be able to use a SMD rework station without damage the base.   

Hope you like my ideas! I'm finalist too into the refresh work from home life challenge and i'm so proud to be one of them with people like you! 

  Are you sure? yes | no

Nuri Erginer wrote 08/03/2021 at 13:15 point

Thank you Pedro,
I also like your project very much. Congratulation on being a finalist. 
Your ideas related with my project is stunning. I will consider them for the next version. It can be great to add a heating element to the base in order to reflow the PCB after PnP. I will think of that.
Most importantly maker communities like are great places to share projects. It is my honer to meet with you. While we both compete for the award, we aim to reach the better together by supporting each other.

  Are you sure? yes | no

Elliot Williams wrote 07/28/2021 at 12:48 point

Absolutely beautiful machine, and a great and simple idea that does just what it should.  And a clever 2D homing mechanism too.  

These kinds of devices -- not professional, fully-automatic, but human-augmenting -- are underappreciated IMO.   

  Are you sure? yes | no

Nuri Erginer wrote 07/28/2021 at 13:40 point

Thanks a lot Elliot,

I am very happy that makers like you love the tech / design of the machine

  Are you sure? yes | no

Reginald Beardsley wrote 07/24/2021 at 15:46 point

Please put this up on Crowdsupply or Kickstarter made with injection molded parts.  That would be much faster than using a lot of 3D printers to manufacture them   You can easily make molds for a small manual plastic injection molding machine.using the 3D printed parts as the pattern,   Make  plasters pattern for the parts, dry it out and pour the molds using zinc alloy.

However, I think this would sell well enough to justify taking it to a production shop.

But I'd love to buy a 3D printed one if you choose to start that way.

I'd like to suggest a pivoting vacuum  pick 'n place tool that would pick up from a  cut tape holder and then place and hold the part for soldering.  Load the part, press a button and solder.  Load next strip of parts.

That would also work for placement for reflow soldering.  For a small run of boards, place each part of a type on all the boards before switching the tape.

  Are you sure? yes | no

Nuri Erginer wrote 07/27/2021 at 08:32 point

Thanks for your support and ideas. I will open up a discord server in order to talk about the ideas and the progress with the community.

  Are you sure? yes | no

David wrote 07/24/2021 at 10:52 point

This is so awesome, I am totally going to build one.

  Are you sure? yes | no

Nuri Erginer wrote 07/24/2021 at 12:29 point

Hear to happy that. I am here if you like to ask anything

  Are you sure? yes | no

Oliveira wrote 06/23/2021 at 21:25 point

love it , such a professional look

  Are you sure? yes | no

Nuri Erginer wrote 06/24/2021 at 06:30 point

Thank you. Not that much but progressing well. :)

  Are you sure? yes | no

heinz wrote 06/16/2021 at 08:46 point

Very cool, thanks for sharing!

Do you have a video of it in action?

  Are you sure? yes | no

Nuri Erginer wrote 06/24/2021 at 06:31 point

Thank you. I will share all the STL files and a video soon.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates