super-cheap pick-and-place device with ~1 mil accuracy
I have an idea how to make an super-cheap pick-and-place machine that is accurate enough to place BGAs and QFNs with 0.40mm ~ 0.50mm ball/pad pitch. But I'm currently sans machine shop, so I'm looking for someone to partner with who can machine a few parts to build a couple prototypes, then maybe sell them. My guess is, we could sell hundreds to thousands per year at about $400 ~ $500, because it lets hobbyists, one-man operations and nano-companies design and reliably assemble prototype PCB with fine-pitch SMT components (BGAs, QFNs, etc).
My goal is to make a device for people who cannot afford or justify an automatic pick-and-place machine. This includes me, at the moment. I don't want a partner driven primarily by profit. I want a partner who wants to do this for himself and/or likes the idea of introducing a product that breaks loose creativity that's been bottled up by the difficulties and expense of fine-pitch SMT assembly. But the idea is to make something radically cheap, not to line your pockets with cash. Profit? Yes, a little. Wealth? Nope. Incidentally, this approach assures we don't have competition from jerks just trying to line their pockets. Once we're done, maybe we'd sell through places like here, pololu, sparkfun and others. Whatever makes it easy to find any "buy cheap".
Rather than file for patents, play "secret", or ask for confidentiality agreements, I'm gonna treat this as an open/community design. I will describe the basics of my idea here in this message, then ask for ideas to make the device cheaper, more flexible, more accurate, more convenient to operate, etc. Let's see if we can come up with something that "blows their minds", and more importantly, unleashes an avalanche of creativity in untold thousands of new projects.
Before I describe the device, let me explain the philosophy of this design. Pretty much any of us with good vision, magnifier or low-power microscope and reasonable dexterity can reliably solder most SMT components with nothing more than a pre-heater beneath the PCB, a hot-air pencil/gun above the PCB, and either manually-applied solderpaste or stencil-guided solderpaste application. This includes all components with visible/exposed contacts (QFPs, TSSOPs, SOICs). I'm even able to place and solder 0201 capacitors with a vacuum pick-up pencil, though it would be nice to make 0402 and smaller devices easier to handle.
But we cannot reliably place fine-pitch components with non-visible/non-exposed contacts on the PCB, including BGAs, QFNs, iLCCs, etc. Therefore, the goal is to make a very inexpensive but extremely precise and very reliable device to place the components we cannot reliably place otherwise. If it can help place other components too, that's fine. But we should not significantly increase the complexity or cost of the device to support components that can be reliably assembled without this device.
Now I'll describe the design. I'm sorry to not include a sketch yet, but I'd rather not bias the conversation with specific implementation details and lock your vision into mine. We'll get to that after a day or two of hearing configurations you envision to accomplish our objectives. For now, I'll describe the configuration fairly specifically, but try not to specify the design more narrowly than is necessary to explain its principles (which is all that matters to make it work).
First, what the design does NOT have - which is partly why the device can be cheap. The design requires no motors, no linear or rotary encoders, no electronics, and no power-supply (maybe/hopefully).
Presumably the device will weight 2~6 kilograms (5~15 pounds), and be about 300mm long by 100mm wide by 200mm high, though the 300mm dimension would need to be longer to support large PCBs.
Okay, now for a description. The device is a "tabletop device" --- it must be placed on a flat, smooth, reasonably level tabletop to operate properly. Imagine you are sitting at the table with the device on the table in front of you. The device is a single linear "track" ~300mm long (left-to-right == X-axis) and ~100mm wide (toward-and-away from you == Y-axis). This linear track has 2 feet on its left end and 2 feet on its right end that raise the bottom of the track ~20mm above the tabletop (up-and-down == Z-axis).
I usually visualize this track as two stainless-steel "guide bars" forming the X-axis, attached to fairly thick, solid, aluminum rectangle bases at both ends, with 2 feet attached to the bottom of each base. Mounted to the "guide bars" is a rectangular aluminum "stage" with 2 linear bearings sliding on each "guide bar".
So far, you should be able to visualize that you can slide this stage freely along the X-axis --- leftward and rightward. I usually visualize this stage being about 100mm long (X-axis) and 50mm wide (Y-axis).
The stage holds two devices. Mounted on the left side of the stage is a 1280x1024 (or better) webcam, pointing straight downward along the Z-axis. Mounted on the right side of the stage is a "vertical slider" (for lack of a better term) that you can move up-and-down ~20mm. In the middle of the "vertical slider" is some kind of suction/vacuum based "component holder". If you place a BGA, QFN or other component on the table beneath the "component holder", then lower the "vertical slider" until it touches the component, then raise the "vertical slider"... the component will be held by the "component holder" and rise up with it.
The webcam side of the "stage" is quite simple and straightforward. However, the "vertical slider" and "component holder" can both be implemented in many different ways (but perform the same functions). The only significant requirement of the "vertical slider" is: the component must not rotate when the slide moves up and down. The "component holder" could be something we provide as standard equipment. But the "component holder" is nothing more than a simple vacuum pick-up-tool that is mounted to the "vertical slider". So I usually imagine we provide some kind of simple adjustable mounting gizmo that lets customers mount their existing vacuum component pick-up-tools, which then function as the "component holder". Of course, we can still make or find a cheap one to provide to customers who have no vacuum pick-up tools. Sometimes I even imagine a big red squeeze bulb on top to generate the vacuum --- talk about cheap! Yet that's all we need for this device.
Okay, that's almost the entire device... believe it or not. The only other component of the system is a flat sheet of plastic/teflon that lies on the table beneath our device, with some holes drilled near the end closest to us. Believe it or not, this is all we need to place SMT components to 1~3 mil precision... assuming you've already figured out the simple procedure that makes it work! Just in case you haven't, I explain that next.
Some of the following elements aren't entirely necessary, and the process can be performed somewhat differently, but the principle remains the same. So keep your minds alert and active, looking for superior ways to implement the necessary process.
First I'll describe the process with a BGA, but the process for QFNs, iLCCs and other "hidden contact" packages is almost identical. You can process small to medium size PCBs when sitting down, but you may want or need to stand up to process large PCBs.
Near the front edge of the teflon sheet are x,y arrays of 10~25-mil diameter holes, plus several square and rectangular holes with dimensions between ~2mm and 64mm. Usually I visualize this 50mm~100mm wide front section of the teflon sheet is actually a separate ~1.6mm thick sheet of aluminum or stainless attached to the teflon sheet, but that's just my visualization (albeit for non-arbitrary reasons).
The hole arrays are for BGAs, and the larger squares/rectangles are for QFNs. There is at least one hole array with 1.27mm pitch, 1.00mm pitch, 0.80mm pitch, 0.75mm pitch, 0.65mm pitch, 0.50mm pitch, etc. Each hole array or has a ~5mm boundary around it without holes or openings.
For convenience, I'll assign a number to each step, so you can discuss them more easily in your replies.
#1: Place PCB on teflon sheet, slide it towards you until the near edge is flush against the metal sheet that has the holes and rectangular cutouts.
#2: Optional: slide the PCB leftward until its left edge if flush against the bar mounted along the left edge of the teflon sheet.
#3: Secure the PCB to the teflon sheet with tape (maybe we provide clips or something more convenient). Some of your are probably thinking "Why not just attach a thin layer of rubber or something less slippery to the top of the teflon sheet?". That's probably a good idea, since we want the sheet to slide on the tabletop easily, but we don't want the PCB to slide around on its top surface.
#4: Move the X-axis "stage" to its extreme left position (where it can't move any further), and lock it in place (if detents aren't sufficiently reliable). Note: though the X-axis "stage" is in the middle of a 300mm long X-axis "track", it can only move 50mm left or right before it reaches its limit (or detent).
#5: Place the BGA component on the hole array that has appropriate pitch for that BGA component. Be sure to place the BGA component so it is justified in the upper-left corner of the appropriate hole array. The easiest and most reliable way to accomplish this is to place it about one pitch unit too far left and high, so the upper-left solder balls have no holes beneath them, and therefore the upper-left corner of the BGA component cannot "drop into" the holes. Then very gently, and without any downward pressure, slide the BGA downward and rightward until you feel and see the BGA package nicely "detent" into the hole array. As long as you are gentle, you will not tear off any BGA solder balls.
#6: Slide the teflon sheet on the tabletop until the center of the pickup device is directly over the center of the BGA component. It is not necessary for the center of the pickup device to be precisely over the center of the BGA component, but it must be close enough to assure the BGA component is securely held by the pickup tool. The rotation angle of the component doesn't really matter, but try to be nice and neat and keep the X-axis of our device (the X-axis "stage") parallel with the horizontal rows of BGA balls.
#7: Apply vacuum to the component pick-up tool (squeeze the big red rubber bulb, hahaha), lower the "vertical slide" until the pick-up tool suction-tip is firmly pressed against the BGA component, then raise the "vertical slide" and verify the BGA component is firmly and securely held to the suction tip.
#8: Move the X-axis "stage" to its extreme right position (where it can't move any further), and lock it in place (if detents are not sufficiently reliable). Note: The X-axis "stage" is designed so that moving the stage to its "extreme left" and "extreme right" positions places the center of the pickup-device and center of the webcam directly over the same point. While we could easily machine the parts to assure this is "exactly true", the process does not require this to be precise to place components precisely. This means the gizmo that holds the vacuum pick-up tool need not hold it exactly in the correct X,Y position.
#9: Look at the LCD screen on your tabletop and hit the space key on your keyboard. Since the webcam is looking directly at the hole array where the BGA was picked-up from, pressing the space key displays the array of holes the BGA was sitting in near the center of your LCD. This step assumes the keyboard and LCD attached to your PC is on the same tabletop, but this is not a requirement, of course. Of course, the webcam must be plugged into the PC, and you must be running software designed to help us perform this process.
#10: Now slide the teflon sheet on the tabletop to position the BGA footprint on the PCB directly beneath the webcam. As you look at your LCD and slide the teflon sheet around, you'll notice the software displays two images simultaneously (each image at roughly half intensity - though each intensity is adjustable). One image is the still image that was captured when you hit the space key, which displays the hole array where you originally placed the BGA component in that hole array. The other image is a realtime display of what the webcam sees --- which is the now pads on the PCB where you want to place this BGA component, plus surrounding area of the PCB (typically 80mm x 64mm or smaller, depending upon what is the largest SMT component you need to support).
#11: Slide the teflon sheet on the tabletop to exactly position the two images over each other, so the holes in the hole array (the still image) exactly superimpose over the BGA pads on the PCB. Make sure the upper-left hole in the hole array is superimposed with the upper-left BGA pad on the PCB - otherwise you'll solder the BGA offset in X and/or Y by one or more pads! You can remember to do this, right? You better!
#12: Somehow secure the teflon sheet to the tabletop. In practice, the teflon sheet should have enough friction that no steps need be taken to secure the teflon sheet to the tabletop. But if your tabletop is too slippery, or you tend to bump into things without noticing, or it makes you feel better... place a couple weights on opposite corners of the teflon sheet, or tape the teflon sheet to the table. Then check that the images are still perfectly aligned on your LCD.
#13: Move the X-axis "stage" to its extreme left position (where it can't move any further), and lock it in place (if detents aren't sufficiently reliable). This positions the BGA component precisely over the BGA pads on the PCB. Do you understand why this is precise, even though we have NO encoders? If not, re-read the whole process until you "get it".
#14: Lower the "vertical slide" until the BGA component is touching the PCB, release the vacuum in the pick-up tool to release the BGA component, then raise the "vertical slide" while watching the BGA component to assure it doesn't move during this process.
That's pretty much the entire process. Of course, I leave out questions like "Do we place all our SMT components to the PCB before we solder them, or do we solder each component after we place it?". The answer to the above is probably, "If you plan to solder each SMT component by hand with a hot-air pencil, then you're probably better off soldering each component immediately after you place it. But if you plan to place the PCB into a reflow oven to perform soldering, then you're probably better off placing all (or many) SMT components (on one side) before you carefully place it into your reflow oven.". Clearly you must be careful not to bump the PCB or components from when you place the first component until after the solder has hardened. Otherwise, the precision is lost.
Now for a few random comments.
A: It is quite simple to make a "limit slide" that surrounds the X-axis "slide". You could then move this "limit slide" ALL the way leftward and rightward on the "guide bars" (300mm or more) to more easily support larger PCBs. Because it surrounds the X-axis slide, the "limit slide" is what limits the X-axis slide to moving exactly 50mm. The only difference is, now that 50mm range can be anywhere along the 300mm "guide bars" instead of "only in the middle".
B: We may want to make the piece of metal that contains the hole arrays and rectangular cutouts slide leftward and rightward to position the desired component template where convenient (which nominally near the center of the X-axis range, unless we provide the adjustment mentioned above in comment A). Alternatively, we can provide each hole-array or rectangular "template" as a separate small (~80mm) square of metal, then provide a way to secure any one of them to the teflon sheet to place parts that correspond to that template.
C: The pick-up tool doesn't necessarily need to be vacuum based, but whatever mechanism is adopted must not move or rotate the component during or after pickup.
D: Components in QFN, iLCC and even 0402 and 0201 packages can be handled in an equivalent manner with the above process (given appropriate "templates").
E: The teflon sheet could be replaced by an X,Y stage. While that would be rather nice in some ways, especially in keeping the PCB and components aligned with the PCB X and Y axes, it would probably add an additional 50% to 100% to the cost. That doesn't seem worthwhile to me, except as an option --- maybe.
I've surely forgotten to mention many ideas, thoughts and alternatives that I've had while dreaming up this device. Sorry about that, but that leaves everyone more unconstrained by my bad (and good) ideas. I hope this makes everyone more crazy and creative with their suggestions. Let the alternatives fly! Perhaps it is good to say things like:
--- a more sturdy version would .....
--- a more precise version would .....
--- a more flexible version would .....
--- a less expensive version would .....
... where your ideas don't apply [equally] to every possible implementation.
Don't feel constrained. Let the ideas fly.
And anyone ready, willing and able to help me make prototypes, please offer. I'm guessing that 50% to 90% of the components can be purchased as standard parts from the kind of supplier who sells small mechanical components and devices like linear bearings, precision shafts, and so forth. But surely not every part will be a standard item, or will not attach to the rest of the components securely and conveniently without some custom machined parts. So I'm looking for someone who can help with this aspect especially. And, unfortunately, my current project is stalled due to my inability to place components precisely, so I'm most interested in someone who can hit the ground running (can start machining up parts as soon as we settle on designs for each part).