DIY Pick & Place Machine

A Pick and Place machine allows you to automatically place electronic components on a PCB in order to rapidly assemble electronic circuits - which is especially useful if you do mass production. As we have certain projects which require small to medium quantity batches of prototypes, this tool would be extremely useful to have, but commercial versions of these machines easily cost $10'000 upwards (For example this one).

Luckily, there are people like Anthony Webb, who simply build one themselves and upload the 3D model and component list online! The material costs come down to around $1000!

Then there is Jason Von Nieda and the openPNP community who wrote some really advanced open-source software which can be used to potentially drive any Pick and Place machine.

With these two components, there is really no excue not to have one in our lab, and therefore I decided to build one myself. This (work in progress) page is dedicated to document the build process to make it easier for other people with no prior mechanical hardware knowledge (like me) to rebuild Anthony's design and set up openPNP for it.

The main project page is available on Hackaday. Here is a video of the finished working machine:


The 3D model of the mechanical structure looks like this:

Anthony Webb's 3D model of his Pick and Place machine

If you're just starting out and would like to build the machine by yourself, have a look at these ressources first to get a clear picture of the whole project, which will help you to decide if you want to follow this step by step guide or not.

The first step of the process is to buy all the components listed in the bill of material. I've modified it lightly to match suppliers who ship to Europe (and specifically Switzerland) and to consolidate the number of different sources. I also made the choice of buying the cheapest version of the linear rails and therefore potentially need to drive the passive rail.

Work in Progress

The modified Bill of Material is available here

This section hopefully helps you to rebuild the design with a bit less uncertainty than if you just had the 3D model and bill of material in front of you. I try to especially document the less obvoius bits.

Work in Progress

1) Cut V-slots to appropriate length using a miter-box saw (🇩🇪 Gehrungssäge). The most important parts which have to be precisely the same are the legs (the 150mm 2040 profiles)!


2) Arrange V-slots supporting the build plate.

3) Screw edge mounts to ends of supporting 2020 profiles.

!! Use washers with M5x10mm screws OR 8mm screws for all corner mounts !!

4) Loosely screw the same edge mounts to the supporting 4040 profiles (B).

!! Align the top sides of the v-slots (on which the build plate will be mounted…

5) Put the frame upside down (flat side down) on the MDF or steel bed (or any other perfectly flat surface. Tighten screws once aligned according to CAD dimensions.


6) Screw the edge mounts to one side of the legs. Place them on another V-slot in order to align the edge mounts to lay flat.

7) Screw the legs with the previously attached edge mounts to two of the 2040x500mm extrusions.

8) Dont forget to insert some M5 T-nuts in the 4040 extrusions in order to screw down the MDF and Steel plate

9) Attach two corner mounts at each corner of the 4040 extrusion holding the build plate frame.

3D printed parts

10) !! add enough brim such that the parts nicely stick to the printer bed and don’t bend up !! Print slider brackets, motor mounts, idler pulley mounts and belt tensioners. !! when having a small printing bed and you cant add enough brim, the part may detach from the printer bed and bend up. In that case, for motor mounts, print them with the side up which goes against the extrusions to have this side as flat as possible !! !! for belt tensioners, orient them correctly such that there are no overhanging regions !!

11) Rail slider mounting brackets: BEFORE you mount them (not like in the picture), pre-thread the screw holes on the side of the slider brackets with the appropriate M3 screw(if you used thin ¼’’ stock) or M5 screw (for the thick model) all the way in!

12) Screw the mounting brackets to all MGN12 sliders as in the photo. Use M3x8mm screws if you used ¼’’ stock and 10mm screws for ½’’ stock.

13) Mount two rails to the 500mm extrusions. Use M3x8mm screws, 5pc per rail. Make sure it is well centered on both edges. Recommended to take the best sliding rail you have for the passive rail and mark the side you mounted it. !! Secure the ends of the rails with masking tape such that the sliders can’t escape from the rail as long as the end stops are not there yet !!

14) Mount the third rail on side of the remaining 500mm extrusion. Then mount that extrusion onto the slider brackets (check 3D model for the correct orientation) using M5x10mm screws if the brackets are from ¼’’ stock and 15mm screws if it was the thicker ½’’ stock. Make sure it glides smoothly!

Motor mounts

15) After printing, the motor mounts can be screwed on the stepper motors (using M3x8mm screws if ¼’’ stock was used and 10mm screws for the thicker ½’’ stock). I also placed a washer under 3 of the 4 screws (not the one closest to the mounting hole of the idler pulley).

16) Then mount the idler pulley on top of the spacer with a M5x15mm screw. Also fix the 36T pulley to the motor using a 2mm Allen wrench.

17) Screw the motors to the active Y-rail and the X-rail, respectively. Use M5x15mm screws if you printed the ½’’ stock model or 10mm screws for the thinner ¼’’ stock.

18) Same procedure for the idler pulley mounts, where you simply attach two idler pulleys!


19) After printing them, I recommend drilling the holes of the belt tensioner such that the appropriate M3 or M5 screw can loosely turn.

20) Loosely fix the end of the belt to the Belt Tensioner with zip tie after having slided it through the extrusion center.

21) Then loosely attach the belt tensioner. I used 2 washers to keep some spacing and not to squeeze the belt…

22) Cut the belt to the appropriate length on the other side and repeat the previous 3 steps.

23) When you’re happy with the coarse length of the belt, you can permanently Carefully adjust the belt tension;

24) Repeat the previous 5 steps for the X rail.

PNP Head

25) For the 3D-printed head mounts, again pre-thread the M3 screw holes and then mount the top plate to the PNP head while holding down the spring-loaded.


  • picknplace.txt
  • Last modified: 5 years ago
  • by raffael.tschui