This project was made to address the problem of finding a particular pack of ink from among a wall full of them. Done over a span of just 8 hours, this was the winner of the Staples M12 Hackathon.
The Android app (or responsive website) sends GET requests to a Node.js server with a position parameter corresponding to a certain position on the grid of ink. The node server does a lookup of the position across a preset list of (x,y) coordinates. It passes these coordinates, along with a laser intensity and time to complete the movement to a server running off a Raspberry Pi. The Pi relayed this information to an AMTEL USB peripheral, which translated the information to a hardware level for the two servos and the laser attached to them. The laser then took the 4 pieces of information - intensity, time to travel, X and Y coordinates to complete its movement. The precision in our setup turned out to be surprisingly good - we could target the laser with an inch of precision on both axes.
I primarily contributed to the project by writing the Android app for it. The Android app had the additional function to read NFC tags to determine a starting position. This could also trigger several other parts of the process. It would alert the server that a customer was looking for ink, turn on the laser and get it to a known starting position for the customer to follow. The customer would then select the ink cartridge needed and watch the laser do the work of finding their cartridge for them.