As a subset of the Electronic Manufacturing line the main function is controlling the pick and place machine. The software is pretty far along but still needs some polishing. Here are the main functions:
The main input is the BOM generated by the layout software. Currently it is only set up for Cadence Allegro, but this is relatively trivial to provide additional formats. I am committed to providing support for any file system required. This is easy to adapt and our main target market doesn't use Allegro.
This BOM has every component that is part of the design as well as the associated XY coordinates. This info is loaded into a spreadsheet that allows for selecting which parts get stuffed and a location of where to pick the part from.
The panel section of the interface allows for the layout and locations of blank PCBs. This allows for panelization of the PCBs, or stuffing one at a time.
There is a tray section that takes care of components that are delivered in trays.
There are some other features: machine calibration, firmware updates, configuration, inventory controls, etc. that are rather boring and won't be covered here.
Now the disclaimers. All the source code will be made available, however it has been designed in NI LabWindows. I have purposely used as little NI function calls as possible, but as it stands it can only be compiled in LabWindows. The reason I did it in LabWindows is because it is the IDE that I am comfortable with. The only real functions I am using from it though is the user interface. As this project grows my bet is someone would be willing to design a new interface for this.(please)
The source will be available in the near future, screenshots to follow as well.
Copyright 2010 Open Capitalist