Kinnow - Automatic Pick and Place Feeder

A low cost, stackable, automatic pick and place parts feeder that supports up to 24 mm tapes

Similar projects worth following

Over the last few years, various pieces of gear, useful for building electronics and robotics projects at home have become very affordable. Electronics test equipment, 3D printers and capable single board computers are now affordable enough to justify buying them for personal use. However, one device with the potential of making electronics more accessible to many people has not reached this level of affordability yet: the pick and place machine.

Some open source pick and place projects have already been developed, but they lack commercial availability, they don't fully automate the PCB assembly process (thus limiting the amount of work the machine can do before operator involvement is required), or they're simply not cheap enough.

I believe that making this advanced prototyping and assembly tool available at a lower price point can enable a more complete electronics engineering learning experience, by allowing the students to understand and practice a part of the PCB volume manufacturing process. It also encourages electronics experimenters to use smaller and more complex SMD parts, and can be used by small businesses to satisfy their production needs.

My end goal is to create a fully featured pick and place machine at the mid range hobby 3D printer price point, that supports at least 20 automatic tape feeders, with closed loop control of every motion related component.

Tape feeders represent a big part of the final cost of the machine and are the part that benefits more from a modular design, as they need to be easily loaded and unloaded from the machine to use different components, and several of them need to be fabricated and used together, which is easier and cheaper if they're self contained as a module. This is why I think this project is an appropriate entry to the Hackaday Prize 2018 contest.

Standard Tesselated Geometry - 205.94 kB - 06/02/2018 at 00:16


Standard Tesselated Geometry - 54.48 kB - 06/02/2018 at 00:16


Standard Tesselated Geometry - 29.18 kB - 06/02/2018 at 00:16


  • Cost analysis part 1

    ottoragam06/03/2018 at 21:52 0 comments

    After having selected nearly every part needed to buld the automatic feeders, I decided to do a cost analysis to make sure I'm still in the right path with the project.

    Here's the BOM for one 8 channel feeder controller:

    All the prices were taken form authorized electronics distributors, and I estimate the feeder PCB to cost about $3 USD.

    The motors needed for the feeder are about $1.5 each in single quantities, and each feeder uses about 75 grams of PLA filament. The laser cut tape sprocket adds another $5. Taking all this into account, the mechanical parts for a single feeder amount to $9.5.

    In total, we are now at $14 USD. I still need to add the cost for the cables and the final quadrature encoder electronics and a few fasteners, but I feel that a cost of less than $20 in parts is very attainable. Also, this analysis does not take into account the volume pricing of any part, meaning that when fabricated en masse the cost will be even better.

  • System architechture

    ottoragam06/02/2018 at 00:31 0 comments

    I started working on the control board for the automatic feeders last week. The electrical schematic is almost complete, and the board routing is going well:

    You can get a PDF copy of the schematic via Github ( There you can also get the STL models of the feeder parts.

    The board is going to support 8 automatic feeders. I chose a PSoC5200 microcontroller. It is a Cortex ME3 unit with integrated programmable logic. The programmable logic is crucial to perform the quadrature decoding of 8 optical encoders and to generate the 32 pwm signals needed to drive the 16 brushed motors. It will have a USB bootloader to make things easier for the final user.

    I selected the AP1010AEN motor driver for it's compactness and low cost. It is a dual H-bridge chip capable of driving motors up to 18V and 350 mA when using both channles.

    There will be four 4-channel LM324 opamps to amplify the signal coming from the phototransistos used in the quadrature encoder sensors.

    The boad measures 50x100 mm and it uses JST-SH connectors (1 mm pitch) in order to fit everything in a reasonable space. The controller is intended to work with a 6 to 12 V power supply, and it features an onboard voltage regulator for the logic, allowing for single supply operation.

    Also, last week I got the boards for the quadrature encoder sensor. I'm currently performing some test, and I'll publish the respective findings once I get a reliable quadrature signal.

  • Parts feeder works!

    ottoragam05/20/2018 at 22:18 0 comments

    The parts feeder features are:

    • Stackable cartridge design (it uses 30mm per cartridge)
    • Cartridge is mountable in a 2020 extrusion bar
    • Adjustable tape thickness, for maximum compatibility
    • Support for up to 8 meters of cover tape winding

    Here's a video of the feeder moving the tape back and forth:

  • Choosing components

    ottoragam05/07/2018 at 03:51 0 comments

    Many SMD parts are provided by their manufacturers on an embossed plastic or paper tape. A thin, transparent cover tape is placed on top of the carrier tape to avoid the components from falling out. The carrier tape has a fixed spacing hole pattern on one side (or both, if the tape is sufficiently wide). Normally, a sprocket wheel meshes with these holes and is spun to advance the tape.

    SMD capacitors in tape & reel packaging by Filip Wahlberg. Licensed under the Creative Commons Attribution-Share Alike 4.0 International license.

    The purpose of an automatic tape feeder is to move a new component to a known and fixed location each time the pick and place machine needs to place the part in question on the PCB. This feeder design uses a sprocket with a DC motor to accomplish this.

    Some existing feeder designs use a small gearmotor and a worm gear to reduce the overall thickness of the feeder. I opted to use a not so short gearmotor that doesn't require extra mechanical parts, with a hollow, internally threaded output shaft to greatly simplify the mounting of the sprocket. The same motor is going to be used to peel off the cover tape by winding it up in a small reel.

    The angular position of the sprocket needs to be set accurately. A quadrature encoder will be needed to read a pattern in the sprocket wheel so a microcontroller gets position feedback for the closed loop control of the sprocket. A pair of tiny reflective reflective sensor will be used to create the quadrature signal.

View all 4 project logs

Enjoy this project?



Connor Krukosky wrote 06/24/2018 at 21:25 point

Please go look at this person's design:
I feel they have already solved the issue of a simple and cheap PnP feeder, but maybe you can improve on their design?

  Are you sure? yes | no

ottoragam wrote 06/24/2018 at 22:13 point

Thanks for the link, Connor. A member of the OpenPNP group showed me a similar design not long ago. My design is mechanically simpler, as the only moving parts are the two motor shafts, and the gearmotors are more robust than the hobby servos (not so fine pitch steel gears vs tiny plastic gears). Also, I'm not limited to thin paper tapes, I can feed ICs. The most important downside is that my feeder is kinda thick. I searched many hours for a flat and cheap DC motor, and I couldn't find something thinner at a comparable price.
I'll upload the multichannel feeder controller schematic and board files once I'm done debugging it (I just got the PCBs).

  Are you sure? yes | no

Connor Krukosky wrote 06/25/2018 at 15:07 point

Fair enough, but how do you deal with different thicknesses of tape yourself? Wouldn't you need a new feed wheel to deal with the different thicknesses?
Otherwise you could end up with a mm or so of slop in the Z (up down) axis correct?
Also are you going to have a peel-back mechnism like the design I referenced? Where it has its own feedback loop?
I have found most trying to have a motorized pickup for that software controlled run into the issue where they could peel back too much or too little, which for a few tests could be fine but could cause issues over a whole spool of parts.

I wish you much luck in your experimentation and exploration. I do not mean to be too criticizing, I just have thought about this issue a LOT on my own.
My considerations are cost and complexity (not just mechanical but electrical complexity, which generally translates to cost). The major problem being if you simplify the mechanicals then you need complex electronic control to make sure you feed the proper amount or peel back the proper amount, etc. Which ultimately could make the overall mechanism simpler but the problem of precise movement more complex.

Though you may argue that those cheap hobby servos are a bad idea due to plastic gears, that is only valid if we are over stressing these servos. Which in this use-case, unless the tape gets caught somehow, should not be an excessive workload for the plastic gears in my opinion. But testing is key.

I am very excited to see where you go with your project.
The world of home pick and place is still in its infancy and there is still tons of space for innovation.

  Are you sure? yes | no

ottoragam wrote 06/25/2018 at 20:41 point

Take a look at this image, it shows the feeder cartridge with all the parts:

The feeder has an adjustable support to accommodate for different tape thicknesses. It should be able to support 10 mm thick tapes (for connectors or the bigger ICs). The feeder will also have a closed loop controlled cover tape peeling motor. The microswitch showed in the image will be open if the tape has not enough tension. My feeder controller can keep track of the length of feeded tape, so I can increase the duty cycle of the cover tape peeling motor proportionally to the feeded tape distance, to compensate for the increased torque required to keep the cover tape tensioned as the roll diameter of the coiled cover tape increases.

I appreciate that you're taking your time to comment on this project. The sooner someone detect an issue with the design, the better.

The electronics complexity of this design compared to the project you linked should be similar. The hobby servo feeder uses an integrated H-bridge (inside the servo), and a potentiometer for closed loop control, and it uses an Arduino Mega to control the servos. And, if I understand correctly, that system drives the N20 motor directly from the ATMega microcontroller, which is not entirely a good idea. My system uses a dedicated dual H-bridge with thermal and current protection, a quadrature optical encoder instead of a potentiometer and a much more capable cortex M3. The quadrature deconding and pulse counting is handled in the programmable logic of the PSoC, the firmware only needs to read a 16-bit counter register to know where the tape is, thus making the control program very easy to implement. As you can see, both systems are almost completely analogous.

The differences are that my electronics can work with a wide input voltage range, can use any DC motor and use the position feedback more effectively, but more control boards are required for the same amount of feeders (6 feeders per board). Also, the encoder will not wear like a potentiometer, which is a point of failure in the hobby servo system.

What I had in mind when I commented about the plastic gears was the lifespan of the servo, not so much the capability to survive an overload condition. As you say, testing is needed to determine how they perform in this application. I think they should be able to go through many tape reels, but one can get metal gearmotors for less than the servos.

  Are you sure? yes | no

Connor Krukosky wrote 06/26/2018 at 23:20 point

Great, thanks for the photo of the model. And I appreciate the thorough explanation.

So the point about the sprocket wheel I made was with concern to the tape being fed moving when a nozzle comes and presses down on the part to ensure a good vacuum pickup. Currently I feel the tape may sag down or move slightly up/down based on how long the teeth on the sprocket are. I'd love to see tests of a spring-loaded head being pushed onto the component and tape.

Also for the pickup for the cover tape its great to see the simplistic closed loop setup. I'd be sure to make sure the tape doesn't slip past the switch due to it rolling up, pulling to the side, etc. I would do extensive testing there or bring the walls around where the microswitch's lever close to the lever so that there is no room to slip off.
Another thing to consider with the pickup is if you are going to spool within the feeder you must then remove the feeder to remove the old spool-up and to feed a new spool. The other design does not require this and makes installing a new spool and cleanup a breeze.
I would see about two gears to grab and pull the tape and eject it out the back like the other design. That would allow for easy feeding/cleanup. The other consideration is when the spool is first setup or almost empty your motor has to turn more to pickup the same amount of top tape. Where as when its more filled it can pickup that tape faster with less movement. So your limiting speed for how fast you can feed components will change theoretically. Not that this is a concern with slow PnP machines but an interesting considering non-the-less.

Also on the other design, the N20 motor I think is just fed power... The closed loop system in that design PURELY uses the microswitch for control. No micro-controller required to control the pickup of the top tape. Which is an en-genius little design in my opinion. Of-course when you plug in the feeder though it will run the motors until a spool is loaded. So either an "off" switch will be needed or you will need to disconnect un-used feeders.

Thank you for taking the time to respond. I personally love discussing design of stuff like this and actually have been accumulating the parts to start building my own PnP machine. Though the feeders have always been a question for me. I was going to go with the design I linked but am very curious to see the progress on your project and maybe I can assist in testing in the future!

  Are you sure? yes | no

ottoragam wrote 06/27/2018 at 23:07 point

First of all, thanks for your thoughtful comments! I think the tape won't sag too much under nozzle pressure, but there's a big possibility I may be wrong. The sprocket teeth length can be easily adjusted, and the variable height tape support piece can be extended to shorten the length of unsupported tape in case the thing is too floppy.

I believe the cover tape slipping ca be effectively controlled by using a spooling piece of appropriate length with a wall to prevent the cover tape from moving sideways. Removing the feeder cartridge to install a new tape is indeed necessary, but maybe by removing the top cartridge wall, and implementing something like an snap on spool will solve this issue. The thing with the variable spool diameter as the feeder uses more tape shouldn't be much of an issue, The controller could adjust the speed of the motor as time goes on, because it always knows how much tape it has been used.

You're right, I now see that the N20 motor was connected to the microswitch. I'm now pondering if it would be better to go with that configuration too. It'll save wire, connectors, H-bridges and a few microcontroller pins. Do you see any problem with loosing direction and speed control of the cover tape motor?

It'd be awesome if you could test the feeder. If you don't have problem with soldering SMD stuff I could send you the PCBs and parts so you can assemble a test unit.

  Are you sure? yes | no

Connor Krukosky wrote 07/02/2018 at 16:08 point

Absolutely, I appreciate the discussion. I personally have not dealt with a PnP nozzle before so I don't know the amount of spring load they have. So it will be interesting to see what kind of sag may be seen.

Thats a good idea. Don't know why I didn't think about the spool having side walls heh... And having the top off may be a good idea to make it serviceable without removal from the machine. Would be interesting to attempt.

And I personally see no issue. You'd probably want a way to disable power to that closed loop to disable it. But I don't see a need for a whole H-bridge just for it... The fun part is getting the right amount of spring tension on the tape so that the spring is doing the work of peeling back the tape and the spool is just doing the job of picking up the slack lost due to the spring extending and taking up the tape.

With your current design using a closed loop system like we are describing would not work since you are relying on the microswitch to do this "pickup". And that really doesn't have enough spring tension or travel distance.
Look at this video of the design I linked earlier:

Also my PnP is just a pile of parts atm. I have only started in the last month or so collecting parts to build one, so it will likely be awhile..

  Are you sure? yes | no

ottoragam wrote 07/04/2018 at 20:35 point

I got the feeder controller PCB working now. I'll start writing the firmware and see how the feeder performs. I'll be posting more updates here, and you could also follow the thread on the OpenPnP group (!topic/openpnp/Kvf-em-fnAk), as I need to integrate the feeders with their software.

  Are you sure? yes | no

Idris wrote 05/07/2018 at 11:26 point

I'm looking at the same problem and came to many of the same conclusions. A couple of things came to mind; Why read the position of the sprocket when it's the position of the tape that is important? Have you considered using a pair of transmissive sensors to read the position of the tape via the sprocket holes? The position of the components is referenced to the sprocket holes even if the spacing isn't the same.

  Are you sure? yes | no

ottoragam wrote 05/07/2018 at 23:02 point

Hi Idris, thanks for the feedback. I thought of keeping track of the component position with a cutout pattern instead of sensing the tape holes because of the increased resolution due to the number of pulses I get when moving the tape. My plan is to setup a complete motion profile, with control for the speed and acceleration of the system, not just the position, to allow for smoother operation and avoid dropping parts off the tape. Maybe this is overkill for a feeder, but the Cortex M0 I intend to use can handle all of it just fine (I developed a CNC closed loop brushed motor controller, so it's just a matter of making a few adjustments to that project).

Your suggestion is worth considering, as it'll make fabricating the sprocket far easier. I'll make some space in the 3D printed cartridge design to accommodate an optical sensor for indexing the tape holes.

I didn't think of using the feeders when populating boards by hand, your SMD production experiments look quite promising. I also had to assemble a lot of boards myself for a crowdfunding campaign, and I just ended dropping all the components on an antistatic mat and placing them with tweezers.

  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