Token reading automation system which uses a 3-axis servo arm to press buttons, dynamic lighting and computer vision to read and return numeric authentication result.
The main state-machine controls the startup, initialization, self-test and operational processes. A front-facing LCD allows easy error reporting and status readout (idea from Dell servers). LED array allows dynamic lighting to eliminate shadows from the image captured by the camera.
An API interface allows remote querying of the physical token. A web-based GUI is also available for manual configuration and calibration of the device.
During design of the custom chassis, I was lucky with the mechanical tolerances such that the edges of the cube fit perfectly on the first fabrication run with our friendly Shenzhen machine shop. The design is machined from flat aluminium plates and thus uses minimal material volume and is flat-packable for efficient shipping. All components attach directly to this frame.
Software: C++, Python, HTML/CSS/JS
Hardware: PCB design, Mechanical design