Assembly / Mechanics

Feeder on OpenPnP-Machine, CAD

jonathans machine Miklmaekit


side, closed
side, open

The cover tape removal unit is optional. If you entail another removal solution omit the microswitch, feeder pcb, the bearing and some of the plastic parts. The servo-motor is then directly connected via a 3 pin cable to the arduino mega controller.

BOM, Feeder Mechanical Parts

# Quantity Part Specs Cheapest Source, Global, Asia, Long lead time Source Germany Source USA Annotation
1 - printed plastic parts 8mm, 12mm, 16mm 3d printed, sources see below
2 1 N20 Motor DC 60rpm@6V, shaft 3mm dia. aliExpress Roboter-Bausatz Rotation direction may differ at different manufacturers, but rotation direction doesn't matter. If it runs in false direction, just change polarity. Everything in the range from 30rpm up to 80rpm should work well.
3 1 TowerPro SG90 aliExpress Roboter-Bausatz Amazon
4 1 Microswitch 20mmx10.7mm, lever 6mm above body if not pressed, 9,5mm mounting hole distance: microswitch_drawing.jpg
click here to watch a little animation that helps to decide whether a microswitch might be suited or not: microswitch_tensioner_moving.gif
aliExpress Roboter-Bausatz Amazon
5 1 Pin dia=1,8mm, length 13mm max local Conrad Amazon Cut off of spring steel wire or buy 12mm pins directly if sourceable
6 7 flat head inner hexagon screw (DIN 912) M3x6 or M3x8 or M3x10 (because size doesn't matter) local Schrauben-Niro Amazon (sortiment of most M3 screws) or single screws Amazon and M2 screw sortiment mount cover to base
7 4 M2x10 Schrauben-Niro mount microswitch/servo to base
8 1 M3x12 Schrauben-Niro mount feeder to alu profile
9 1 M3x6 Schrauben-Niro mount feeder to alu profile
10 1 M2x8 Schrauben-Niro (M2x8 not avail.) mount advancing lever to piston rod
11 1 M2x8 Schrauben-Niro (M2x8 not avail.) to adjust lane height for different tape thicknesses
12 1 M3x16 for cover tape removal unit
13 2 counter sunk screw (DIN 965) M1,6×4 eBay Amazon mount N20 motor
14 1 bearing 683zz 3x7x3mm aliExpress Kugellager-Express Amazon for gear-wheel in tape removal assembly group
15 1 pull-spring 8x31mm, c=0.2N/mm local Hornbach, sortiment, enough springs for about 20 feeder Amazon to tension cover tape
16 1 pressure spring 7x12mm, c=0.66N/mm for cover tape removal unit, pressing the gears against each other
17 1 pressure spring 7x20mm, c=1.5N/mm to hold tape in position, quite strong, as the arm is short on the left side
15a 2 flat head inner hexagon screw (DIN 912) M3x6mm local Schrauben-Niro to mount pos 12
16a 1 M3x20mm Schrauben-Niro to mount pos 13
17a 1 M3x20mm Schrauben-Niro to mount pos 14
18 6 washer for pos. 14a, 15a and 16a to fix spring. use one on each side of the spring. (DIN 9021) for M3, Ø_outer: 9 mm; Ø_inner: 3,2 mm; thickness: 0,8mm Schrauben-Niro Hornbach
19 1 feeder-pcb further description of pcb OSHpark or source files see at separate page
20 1 5cm cable to wire microswitch to feeder-pcb 3pin dupont 5cm cable female to open end aliExpress Roboter-Bausatz buy commonly avail. dupont female-female cable of double length and cut it into two parts. one cable will be sufficient for 2 feeder then
21 1 15cm cable wiring n20 motor to feeder-pcb 2pin dupont 15cm cable female to open end aliExpress Roboter-Bausatz
22 1 cable wiring feeder-pcb to arduino mega controller shield 4pin dupont 70cm cable female female (depends on machine and placing of controller and feeder) aliExpress Roboter-Bausatz
23 2 M3 post assembly nut for alu profile Roboter-Bausatz

Printing the Parts

Download the parts in the download section. One 8mm feeder is produced from about 70g plastics.

  • 0.2 and 0.3mm layer thicknesses were tested
  • at 0.3mm layer: 2 solid bottom layer, 3 solid top layer
  • at 0.2mm layer: 3 solid bottom layer, 5 solid top layer
  • 0.3mm nozzle: 0.34mm extrusion width; 0.4mm nozzle: 0.45mm extrusion width were successfully tested, 0.5mm nozzle is too big. 0.4mm nozzle is preferred.
  • PETG was well tested, ABS+/smartABS/easyABS works, too. PLA was reported to work, too.
  • Slic3r Prusa Edition used


one set on 3d printers buildplate

Please see the 3D-CAD model to find the position of every part. Here are just important steps described. Additionally see annotations in BOM.

1: Postprocessing printed parts

Most parts can be used as printed. Remove all blobs and hairs from parts that are moving. Moving parts should move with less friction. Two parts need further preparation:

1. Cut away the small cube to make the advancing lever sharp, see picture. 2. Remove support from cover tape removal housing

2: Assemble Advancing Group

  • Insert 1.8mm diameter pin into advancing lever (pin max. 13mm length!)
  • Mount piston rod to advancing lever with M2x8mm screw. Don't tighten too much.
Assembled advancing group
Check that pin does NOT raise above cover
  • Mount arm delivered with servo motor as shown in the pictures.

Mount the piston rod in a hole distanced 6.5mm to the rotational axis of the servo. The arm delivered with the SG90 servo should be mounted in the position full advanced, where the motor's angle is at 90°. To make sure the servo is at 90° it is time to connect it to the arduino mega directly as the figure depicts with jump wires or by means of the controller-pcb to the connector N0 if it's at your hand right now already.

Go to the controller page for detailed instructions on where to obtain the firmware and upload it to the arduino mega. After flashing firmware open the serial monitor in the arduino ide and issue the following commands to set the servo angle to 90°:

M610 S1 ; enable feeder
M603 N0 A90 ; set servo of feeder N0 to 90°

Put remaining parts together

  • Insert the SG90 servo with piston rod and advancing lever mounted, tighten with M2 screws
  • Mount the microswitch with 2 M2x10 screws
  • Fit bearing into gearing wheel of cover tape removal unit
  • Pull spring above feeder: fix with 2 screws, there are several holes to adjust tension
  • Pressure spring within the feeder: fix with M3x20 screw and washer (if needed). Tighten a little and test with paper and plastic tape that it's going easy enough but is well hold

Insert Feeder-PCB

Insert the soldered feeder pcb into the slot. Place the cable from servo to pcb as depicted. Residual cable can be placed within the feeder in the free area below the microswitch, so there is no clutter below the feeder.

Finish: Close the Feeder

assembled, only cover not yet mounted

Mount the cover to the base with M3 screws of 6, 8 or 10mm length.

After Mounting to Machine: Assemble Cover Tape Removal Unit

The removal unit can be mounted at three different height levels to enable stacking the feeder next to each other. Adjust pressure of spring to have enough friction making the cover tape not slipping through, usually it doesn't take much pressure.

Load a Tape

Checklist: Is Assembly OK? / Finetune Feeder

Please check following on each assembled feeder before closing it with the cover:

  • Is the pin inserted in the advancing lever not rising above the cover at both sides?
  • Spring to hold the tape in place should only be as biased as neccessary. A good setpoint is found when the pickup location after feed action is very consistent. Usually plastic tapes need much more force to be kept in place as paper tapes do.
  • For plastic tapes or thin paper tapes adjust the feeder's lane height by turning the M2x8-screw clockwise. Make sure the tape is not screwed down fully as the tape can't be advanced any more.
  • If pickup location is not accurate you may want to lower the force of the pull spring. It doesn't take much force to remove the cover tape. Especially plastic tapes may not be positioned accurate if cover tape tension is too high.

Mounting a Feeder to the Machine

This is very specific to your machine. Please see the full 3D-model of the machine for an example of how to mount to a machine designed similar as Anthony Webbs. The feeders are designed to have the place to pick at about 23mm above fixation-layer and should fit though to other feeders (JohnSL, Malte Randt). To feed the feeder with parts, consider to use the reelholder.

How to put into operation with OpenPnP?

OpenPnP needs some electronics receiving the G-Codes coming from OpenPnP to drive the servomotor. You need some electronics to drive the servomotor. For this purpose there is an Arduino-shield and a firmware available (see below). How to configure OpenPnp → see separate page.


The downloads are separated by tape width.

latest STL-files

.stl files → prepared for direct printing

latest STEP-files

.step → interchange format

Native CAD-Model

If you would like to get the native Solidworks CAD-model, please contact me and I will send you.

Please beware: The model is grown by time. It is not clean, but functional.

If you changed the model for your needs and like to derive feeder for different tape width, edit sizes in the equation editor in Solidworks


version changelog
v1 first public release
v1.1 revision of cover tape remove unit to don't interfere each other if stacked up next to each other
cable-management clip
v1.2 (25112017) *rear part of feeder 1mm taller for more clearance at piston rod
*easier mounting servo
*increased servo mount stability
*added clearance at front of advancing lever
*aligned holes to mount pull spring in order to mount servo easier (allen key through holes for assembly)
*more clearance for piston rod in base if at retract position and feeder stacked up on machine
*cable-“management” to fix cable leading from rear to front
* moved motor pcb below feeder for less cable mess (use feeder pcb v3 for this!)
v1.35 (internal only)
v1.4 (2017-12-10) (internal only) *improved some features for enhanced reliability :
*advancing lever improved pin
*tape lead improved for different thicknesses of paper/plastic
*allow for thicker paper tapes (widened lead a little (smd 0603 caps in paper are higher than 0603 resistors) )
*mould below advancing lever bit wider and deeper for better plastic tape advance
*rearranged pcb-slot
*added more anti-elephant-foot chamfers
*cutout in cover to allow for longer screws to mount microswitch
*wire microswitch and servo from internal
*tape pushdown arm lengthened further to have another spring push it down (cover tape tension might lift it off, parts popping out)
*lengthened other side of pushdown arm to allow for more force keeping tape in place
*screw to mount cover at the very front of the feeder (lane will be more accurate and printing in abs is less problematic in that area (less wrapping))
v1.45 (2017-12-11) (internal only) *shortened pushdown arm again (removed need for a 4th spring), cover tape now rolls over a feature in cover base so the pushdown arm doesn't lift while tensioning cover tape by cover tape removal unit
v1.5 (internal only) *tightened lane to 1.25mm (was 1.5mm)
*pushdown arm angle 1.5°
*cover tape angle changed at time of removal
*changed hebelarm for tape tensioner to have less force
v1.6 (2017-12-15) *added feature to adjust nominal lane width by simple screw to suit different tape thicknesses
*more room for internal cabling
*reduced use of filament
*strengthened features to mount cover to base
* added feature to prevent parts from popping out of pockets
v1.7 (2017-12-28) *adjusted clearances for easier mounting of cover
*pushdown of advancing lever and advancing lever adjusted to have a rising force while retracting to reliably find the next hole in tape
*shrinked the gap in which the cover tape is inserted and peeled off (was 0.4mm, then 0.3mm and finally 0.2mm)
*removed double fit (mount cover to base)
v1.71 (2018-01-10) *revised cover tape removal unit (parametric now for tapes of 12/16mm width)
v1.75 (2018-09-09) minor changes suggested in openpnp-group
*tighter fit of gear to n20motor
*cutout for reverse n20 motor
*cutout to screws of sg90-motor
v1.80 (2018-11) coming up:
*cover screw holes little wider for easier mounting
*advancing lever pin now designed for 2mm rod (1.8mm rod version has moved to the misc-addon directory if needed)
*cover-tape cutouts for cabling (improved version to this:
*removed disabler-thingy from default 3d-print buildplate (still find it in misc-addons)
vDEV (internal)
  • maschine/pickandplace/feeder/0816feeder/mechanics.txt
  • Last modified: 2018/11/30 11:18
  • by michael