AN OPEN-SOURCE MICRO-MANIPULATOR THAT STEPS 50 NANOMETERS WITH ORDINARY STEPPER MOTORS

A desktop XYZ micro-manipulator that makes 50-nanometre steps using ordinary stepper motors and magnetic encoders, driven by plain G-code and released under MIT.

by Diffraction Limited

FULL CAD BOM FIRMWARE DOCS

ScienceOpen-hardware

Built withRaspberry Pi Pico / RP20403D printing

difficulty
●●●●●
time
a weekend-plus
license
MIT
repo
repo ACTIVE1,858 stars
1
Jump to section

COMPAREE VERDICT

This is a three-axis micromanipulator that reaches 50 nanometre step sizes using ordinary stepper motors, magnetic encoders and closed-loop control at 30 kHz, in a working volume of about 23 mm per side. It takes G-code, so if you have run a CNC machine, the interface will feel familiar. The MIT licence explicitly covers the software, hardware design and documentation. The hard part is not the licence or the files — it is that there is no written step-by-step manual. You work from the FreeCAD model (which now includes every pin and fastener), the build chapter of the main video, a second video on making the ball joints, the setup guide and the Discord. The creator did not write it for someone who has never wired a stepper driver or debugged a motion controller. If you have built a 3D printer from scratch or tuned a CNC machine, this is within reach. If you have not, the learning curve will be steep and the debugging will take longer than the build. Keep in mind that 50 nm is step resolution; the creator says absolute accuracy is significantly worse. The single thing most likely to go wrong is the mechanics — inconsistent ball joints or rod lengths, or a misaligned encoder, will cost you the precision.

GOOD TO KNOW

  • —MIT license explicitly covers hardware, firmware and documentation.
  • —FreeCAD models and STLs are in the repo. KiCad board files with Gerbers are present.
  • —C++ firmware with motion path planning is included. G-code interface works like a CNC machine.
  • —Bill of materials is provided. No assembly manual — you will debug from the code and images.
  • —Magnetic encoders and closed-loop control run at 30 kHz. The demo video ends with results and applications such as automated microscopy of a chip die.
  • —This is a research tool, not a drop-in replacement for certified lab equipment.

Parts to buy

9 items

From our check of the build. Exact quantities and part numbers are in the creator’s BOM.

  • Three short-body NEMA 17 steppersFind
  • Three MT6835 magnetic encoder modulesFind
  • Three TB6612FNG driversFind
  • Raspberry Pi Pico 2Find
  • Control PCB and six ball-joint PCBsFind
  • 1 mm steel ballsFind
  • N52 magnetsFind
  • Brass tubeFind
  • PU stretch cord and fastenersFind

BUILDS OF THE WEEK

Five open-source builds worth your weekend, every week.

Checked like this one: what’s really in the repo, what it costs, how hard it is. One email, unsubscribe anytime.

Can I build this?

PrintFreeCAD models and STLs are provided for mechanical parts — brackets, mounts, and alignment jigs. You will need a well-tuned printer.
BuyThree short-body NEMA 17 steppers, three MT6835 magnetic encoder modules, three TB6612FNG drivers, a Raspberry Pi Pico 2, the control PCB and six ball-joint PCBs, 1 mm steel balls, N52 magnets, brass tube, PU stretch cord and fasteners. The BOM with suggested links is in the repo.
ToolsSoldering iron, hex keys, calipers or a dial indicator for alignment, a computer running PlatformIO for firmware upload, and a G-code sender.
SkillsYou need to have built and tuned a stepper-driven machine before. Reading firmware to understand pin assignments and motion parameters is required — there is no configuration wizard.
TimeA weekend-plus if you have done this kind of build before. Longer if you are debugging alignment or stepper tuning for the first time.
Cost$$ — motors, encoder modules and the PCBs dominate. Expect a couple of hundred dollars depending on what you already have.
SafetyNone beyond ordinary electronics care. Low voltage DC, no mains, no lasers, no sharp blades.

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

Videos

An Open Source Motorized XYZ Micro-Manipulator - Affordable sub µm Motion Control

About 430,000 views. Covers the ball joints, motors, magnetic encoders, electronics, firmware and kinematics, then a build and assembly chapter (from 14:33) and results under a microscope.

More builds like this

All projects

Gallery

opengraph.githubassets.com
media.springernature.com
img.youtube.com
img.youtube.com

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Clone the repository and read the README to understand what the project does and does not include.
  2. 2.Open the BOM and verify you can source the NEMA 17 motors, MT6835 encoder modules, 1 mm precision steel balls and N52 magnets.(Part numbers are listed. Availability varies by region.)
  3. 3.Load the FreeCAD models to see how the mechanics fit together.(There is no assembly manual. You will work from the CAD and photos.)
  4. 4.Set up PlatformIO and compile the firmware to check for dependency issues before you order parts.(The C++ code is well-structured but assumes you know how to configure stepper drivers and motion controllers.)

Resources

Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.

KNOWN ISSUES

  • No written step-by-step manual. You build from the FreeCAD model, the two YouTube videos (device and ball-joint manufacturing) and the setup guide — and the Discord is the place to ask.
  • Magnetic encoder alignment is critical — the firmware's calibration now checks for it, but a misaligned encoder will cost you the fine 50 nm step resolution.
  • The BOM has suggested supplier links, but the README warns it is not yet updated for hardware v4.0 — cross-check against the FreeCAD model, which now includes every pin and fastener.
  • G-code senders vary in quality. Test yours with simple moves before you run a full job.
  • Power it from 5 to 6 V (2 A) as the README specifies — the board has no current sensing, so supply voltage sets motor current and heating, and the creator notes that heat causes thermal drift in the printed parts.
  • This is a research tool. Do not assume it will drop into a regulated lab workflow without calibration and validation.

Can I use this to replace a commercial micromanipulator in a production lab?

No. This is a research build, not certified lab equipment. You can use it for your own experiments, but it has not been validated for regulated work.

Do I need a microscope to use this?

No, but the project was built for microscopy work. You can drive it with G-code for any three-axis positioning task.

What if I cannot source the exact encoders in the BOM?

You will need to modify the firmware to match the new encoder's resolution and interface. The code is readable, but it is not plug-and-play.

How hard is the mechanical alignment?

Hard. The 50 nm figure is step resolution — the creator stresses absolute accuracy is much worse — but everything still has to be square and rigid, and ball-joint and rod-length consistency matter most. Budget time for test moves and joint calibration.

Community builds

No community builds yet — be the first, we feature the best ones.

Discussion1

FROM THE COMPAREE TEAM

The device can make steps down to 50 nanometres in a 23 mm cube of travel and takes plain G-code over USB. What would you use a desktop micro-manipulator for: microscopy, optical alignment, probing chips, or something else?

CompareeTEAM1mo agoedited

Practical notes from our verification: the MIT licence explicitly covers the hardware design and documentation, not just the software, which is rare and worth calling out. The main video (about 430,000 views) is more than a demo: it has a dedicated build and assembly chapter, and the README points to a setup guide for new devices, a second video on making the improved ball joints and linkages for hardware v4.0, and a Discord for build help. The mechanism is parallel kinematics with three NEMA 17 motors driving linkage rods on miniature ball joints, not linear stages. Two cautions: the README warns that the BOM has not yet been updated for hardware v4.0, so cross-check it against the FreeCAD model, and the 50 nm figure is step resolution, not accuracy; the creator says absolute accuracy is significantly worse. If you have built a 3D printer or CNC machine from scratch, the build will feel familiar. If not, budget extra time for alignment and calibration. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.

Diffraction Limited

Diffraction Limited is the YouTube channel behind this design, a successor to an earlier manually operated 3D-printed micromanipulator. The whole design is released under an MIT licence that explicitly covers hardware and documentation, and the main video has about 430,000 views.

GitHub

Star the project on GitHub

DISCLAIMER

  • Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
  • Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
  • Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.