The Open Micro-Manipulator is an open-source project designed to provide a low-cost, easy-to-build motorized XYZ motion control platform. It is engineered for high-precision tasks such as probing electronic components, optical alignment, and microscopy. The system utilizes a parallel kinematic structure combined with miniature ball joints to achieve a balance of mechanical stiffness and a wide range of motion. By leveraging off-the-shelf stepper motors and a 30 kHz closed-loop controller, the platform aims to make sub-micrometer precision accessible to hobbyists and researchers alike.

The system utilizes a parallel kinematic structure combined with miniature ball joints to achieve a balance of mechanical stiffness and a wide range of motion.
To achieve its precision goals, the platform employs a 'magnetic gearing' approach. This technique artificially increases the resolution of low-cost magnetic rotary encoders by a factor of 30, enabling the system to achieve steps as small as 50nm. While the project achieves this high resolution, the developers explicitly note a distinction between resolution and accuracy, stating that the absolute accuracy of the device is significantly lower than its theoretical resolution. The hardware is designed to be accessible, using a PCB that requires no SMD soldering and components that can be fabricated using standard 3-axis CNC milling or 3D printing.

The hardware is designed to be accessible, using a PCB that requires no SMD soldering and components that can be fabricated using standard 3-axis CNC milling or 3D printing.
Control and integration are handled through a firmware stack written in C++ that supports a subset of G-Code commands over a USB serial interface. The firmware includes a motion planning stack with look-ahead capabilities to ensure smooth path following and supports 6DOF-Pose interpolation. For ease of use, the project provides a Python API for serial communication and a graphical user interface (GUI) that can display live camera feeds, such as those from a microscope. While the project is currently optimized for XYZ motion, the underlying firmware architecture is designed to support more complex configurations, such as hexapod motion platforms.

For ease of use, the project provides a Python API for serial communication and a graphical user interface (GUI) that can display live camera feeds, such as those from a microscope.