{
  "id": 15409152,
  "title": "Open MicroManipulator – A sub-micrometer 3D motion control plattform",
  "url": "https://urgent.news/2026/10/18/open-micromanipulator-a-sub-micrometer-3d-motion-control-plattform",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-18T11:16:22.000Z",
  "source": {
    "name": "Hacker News",
    "slug": "hacker-news",
    "url": "https://github.com/0x23/MicroManipulatorStepper"
  },
  "original_language": "en",
  "account": "This project introduces an open-source, low-cost motorized XYZ Micro-Manipulator motion control platform capable of sub-micron precision. Designed for applications such as optical alignment, probing electronic components, and microscopy, the device utilizes a parallel kinematic structure and miniature ball joints, resulting in excellent mechanical stiffness and a broad range of motion. The system employs off-the-shelf stepper motors driven by a 30 kHz closed-loop controller and a highly accurate PWM signal. Magnetic gearing is utilized to enhance the resolution of the low-cost magnetic rotary encoders by a factor of 30, allowing for steps as small as 50nm.\n\nThe device can be readily controlled via simple G-Code commands through a USB serial interface, making integration into other projects effortless. The firmware incorporates a comprehensive motion planning stack with look-ahead capabilities for smooth and accurate path following. Users can follow several high-level steps to replicate the project, including joining the project's community Discord server for support and discussing related subjects. A setup guide is available to assist new device builders, and a video detailing improvements to the ball joint and linkage manufacturing process can be found on YouTube.\n\nAn updated hardware version has been released, addressing several issues from the previous design. A video demonstrating the improved ball joint and linkage manufacturing process is available on YouTube. Additionally, a FreeCAD model has been restructured and enhanced, including all necessary pins and fasteners, providing a reference for all mechanical parts. To simplify testing and usage, a Python control program with a graphical user interface is provided, complete with simple controls for device movement, a live camera feed, a simple G-Code runner, and real-time mouse control for biological applications. The lightweight Python API manages all serial communication, offering convenient command execution and debug message printing. Features include home, move, and calibration functions, as well as the ability to query device information.\n\nThe modular Python API allows users to access various functions, such as homing, moving, and calibrating the device, as well as querying device information. Users can simply copy the open_micro_stage_api.py file into their project and install the required dependencies from the requirements.txt file to get started promptly. Firmware version 1.0.4 includes numerous improvements and bug fixes, along with a new feature: tool usage support for laser engraving on the two GPIO pins of J5 on the PCB. The tools are integrated into the planner and run accurately during G-Code execution. Calibration now includes additional error checks to improve error reporting.\n\nThe kinematic model parameters have been cleaned up and better commented, with preset values for hardware version 4.0. Users can revert to the old hardware-v3.0 parameters if needed. For hardware version 3.0, users must switch back to the old kinematic parameters in the kinematic_model_delta3d.cpp file. Calibration improvements include enhanced logging, and several new G-Code commands have been added. All CAD models are designed in FreeCAD, allowing users to view and modify the design without paying for proprietary software. Most components are designed to be easily machined on a 3-axis CNC mill, though 3D-printed parts may experience thermal drift. CAD files are available for those who prefer to print the parts, while STL files for printing can be found online. The kinematic model is defined in the kinematic_model_delta3d.cpp file, and users should verify the arm length against the values set in the constructor. If using PCB version v1.2, users must drill out a misplaced via on diode D1 (fixed in v1.3). The electronics are designed in KiCAD and use commonly available modules, with no SMD soldering required. For firmware building and flashing, Visual Studio Code with the PlatformIO add-on is recommended.",
  "summary": null,
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}