+# Surface Mount Robot
+
+For a long time, we've hand-loaded prototypes and then sent production board
+runs out to one of several 3rd-party surface mount assembly shops. We've
+tired of dealing with these assemblers, however, would like more control
+over the process, and are intrigued by the [OpenPnP](https://openpnp.org)
+project.
+
+After playing around for a while with building a machine from scratch, Bdale
+was offered a surplus Philips (Yamaha) CSM84 pick and place robot. This is
+a massive thing to make room for in a home shop, but as designed it's meant
+to be able to hold 84 reel feeders with 8mm width reels, has a conveyer belt
+for loading and unloading assembly panels, 3 placement heads, and very good
+fundamental mechanical accuracy and repeatability. Unfortunately, the machine
+controller is 1980's era technology, and the machine isn't really capable of
+handling 0402 parts as-is. The goal, therefore, is to convert the machine
+over to using a modern control and vision system running OpenPnP, capable of
+loading [Altus Metrum](https://altusmetrum.org) and other products that make
+heavy use of 0402 passive components, and fine-pitch integrated circuits.
+
+## Sub-Projects
+
+* The stock machine has a nozzle vacuum sensing board that uses an analog
+ amplifier and comparators to output 3 states per nozzle as a 2-bit digital
+ signal. OpenPnP would rather have simple analog vacuum sensors on each
+ nozzle, readable by one of the system's control interfaces, then implement
+ the thresholds in software. That that end, Bdale designed a [replacement
+ vacuum board](https://git.gag.com/hw/csm84vacuum) that uses 3 NXP 4115
+ series analog output vacuum sensors, intended to be attached to three of
+ the "thermistor" inputs on the Smoothieboard that also provides axis servo
+ control.
+