Skip to content
Stephen Hawes edited this page Aug 16, 2021 · 36 revisions

Welcome to the Index wiki!

The Index Pick and Place is an open source pick and place machine.

This project is under development. It is not currently in a stable state. Development is active and ongoing, but this is not yet a finished design. If you'd like to build one to help find bugs and design issues, please do!

In general, whatever is in the main branch represents the most stable and tested version of things. Feature branches are in progress, and in general, you shouldn't build from feature branch designs unless you're working on development! They could be completely non-functional or partway through edits.

The Index runs using OpenPnP. The Index will eventually be able to do multiple parts of the PCBA manufacturing process. It is currently capable of picking parts and placing them, but eventually the Index will support solder paste dispensing and interfacing with other machines, such as a PCB panel hopper and reflow oven.

Along with the Index machine itself, the project also includes feeders designed to work with the Index. Although they were designed with the Index in mind, they can work with any OpenPnP pick and place with a 20mm x 20mm rail for mounting.

What's the goal?

The goal of this project is to create a machine that allows people to create products at a larger scale than they could have otherwise. This blog post explains the ethos of the project, but in summary: Consider breaking the scales of producing a product into three broad categories. The smallest scale is prototyping, where you make 1-100 a year, using all hand tools, and very manual fabrication processes. The largest scale is mass production, where you hire a contract manufacturer to manage production of your product, use machines that cost upwards of a few million dollars, and requires a tremendous capital investment. There currently isn't much to help facilitate the third category, mid-scale production. This is where you have a significant number of units to produce (100-5000 a year), but not enough to justify hiring a contract manufacturer to make them for you.

The goal of the Index (and other machines in the works) is to help folks bridge the gap between prototyping and mass production. They should help with the production of a product at a moderate scale, with a cost that is reasonable for a business that does not have the resources to invest in expensive contracts or machines.

Project Requirements

The following is a list of product requirements for the Index. These must be true for the project to be considered achieving the initial goal.

  • Automated - no human interaction necessary from attaching the paste-applied board to the machine to having a board ready for reflow
  • Capable of picking and placing components down to 0603 passives
  • Integrated up and down vision for fiducial scanning and on-nozzle component alignment
  • Automatic nozzle tip changer to support a wide range of component sizes
  • Frame and motherboard design capable of future upgrades
    • Mechanical and Electrical support for conveyor belt module
    • Mechanical and Electrical support for solder paste dispensing head
    • Expansion ports for hacking and interfacing with the machine
  • Feeder Implementation - System supports banks of intelligent, powered feeders
    • Feeders can handle down to 4mm pitch components
    • Feeders can handle 8mm, 12mm, 16mm, and 24mm tape, both paper and plastic
    • Feeders can hold a standard 7" diameter reel of components.
    • Support for feeder communication in Marlin and OpenPnP

Milestones

The following are milestones for the project. These are technical definitions of where things stand with the design and testing of the Index.

Milestone 1 - Proof of Concept

Status: ✅ COMPLETE

Core functionality of all basic PnP actions working as tests, using final architecture, but not necessarily integrated with each other or lifetime tested. This includes:

  • X, Y, and Z linear motion, and two auxiliary axis for each nozzle
  • Feeder design operational, moving tape and peeling film
  • Integrated up and down vision, along with part lighting
  • Vacuum system operational and able to pick parts
  • Driving the machine using OpenPnP
  • Motherboard that supports these functions

Milestone 2 - Minimum Viable Product (MVP)

Status: 🧑‍💻 IN PROGRESS

Fully working and tested machine with all core functionality. We recommended that folks wait until this milestone is complete before building for practical usage, as opposed to R&D purposes. This milestone includes:

  • Index PnP
    • XYZ and rotation motion precise enough for 0603 placement
    • All printed parts designed for minimal/zero support material
    • All machine actuators (motors, pumps, lights, etc) lifetime tested
  • OpenPnP
    • Tuned and validated machine.xml file
  • Docs
    • Complete and accurate Bill of Materials, tracked and updated with the repository
    • Complete and accurate build guide
    • Complete and accurate usage guide
  • Lifetime testing across all of these subsections, picking and placing full panels, utilizing a tuned vision pipeline

Milestone 3 - Feeder Integration

Status: 🧑‍💻 IN PROGRESS

Fully working and tested machine with integrated Index Feeder support. This milestone includes:

  • Feeder
    • Communication protocol implemented and tested in feeder firmware
    • Lifetime testing and validation of mechanical functions across all four supported tape widths
  • OpenPnP
    • Custom Index Feeder type merged into mainline OpenPnP
  • Marlin
    • Full support for communicating with feeders using RS-485
  • Docs
    • Complete and accurate Bill of Materials, tracked and updated with the repository
    • Complete and accurate build guide
    • Complete and accurate usage guide
  • Lifetime testing across all of these subsections, picking and placing full panels using multiple feeders

Milestone 4 - Paste Support

Status: 🧑‍💻 IN PROGRESS

A fully working and tested paste dispensing upgrade for the Index. This includes:

  • Software solution for toolpathing and execution of the paste head (reimplementing in OpenPnP or creating separate tool)
  • Finalized and lifetime tested mechanical design and settings
  • Complete and accurate Bill of Materials, tracked and updated with the repository
  • Complete and accurate build guide
  • Complete and accurate usage guide

Milestone 5 - Automation Upgrade

Status: 🧑‍💻 IN PROGRESS

The automation upgrade includes a conveyor belt and PCB panel hopper for automatically loading in panels to be pasted and placed. This includes:

  • Finalized and lifetime tested hopper and conveyor design and firmware
  • Software support for integrating into the existing machine
  • Complete and accurate Bill of Materials, tracked and updated with the repository
  • Complete and accurate build guide
  • Complete and accurate usage guide

Milestone 6 - Reflow Integration

Status: 🔜 NOT STARTED

Creating, modifying, or supporting a reflow solution that can be added to the output of the conveyor belt. This could mean recommending an off-the-shelf oven that can be integrated with the Index, modifying an existing open source project to integrate with the Index, or building a reflow oven from scratch.

Where do things stand?

last updated 2021-08-16

Motherboard

Branch - mobo-rev03

We are working on releasing a new revision of the motherboard, REV03. This revision is intended to be very stable and unchanging for quite some time, supporting all future functionality outlined in the Milestones. At the moment, Motherboard REV03 beta boards have been ordered and spun up by a number of folks. We found a few small bugs, which are listed here, and are being addressed in a second, quick-turn beta to validate that the bugs are fixed. This second beta has been ordered, and spun up, confirming that all problems have been addressed! The final check before release is making sure our RS-485 implementation in Marlin works with the hardware serial pins we've selected. Upon this confirmation, the REV03 design will be released onto the master branch as an official release!

Frame

Branch - None currently

As we approach getting a solid CAD build of the machine, small changes like updating hardware count or tuning prints are added. Stuart Pittaway has an excellent update to the Z axis that is currently in review.

Feeders

Branch - feeder-firmware

The main active bit of development on the feeders is the firmware, ensuring that it works well and communicates over RS-485 back to the motherboard properly.

OpenPnP

Currently, stock OpenPnP can be used with the Index, but configuration is a bit tedious. There is currently a PR open with an actively developed config file that is being tuned. We are also working on adding our own feeder type into OpenPnP that will support our hardware specifically, and will take advantage of the features we've included.

Marlin

The firmware running on the motherboard is a build of Marlin. A few changes were necessary to facilitate all of the motherboard's functionality. We are adding in:

  • RS-485 support (effectively UART out with a dedicated pin for RTS)
  • External ADC support (for reading an analog voltage from a dedicated ADC IC connected to the vacuum sensors)
  • Board Config (having a specific board type for the Index Mobo with all the correct pin mappings)
Clone this wiki locally