YOU CAN 3D PRINT A MICROSCOPE THAT SEES INDIVIDUAL ATOMS
A desktop machine that images individual carbon atoms on graphite, built from printed parts and a piezo scanner.
by MechRedPanda
ScienceOpen-hardware
Built withTeensy3D printing
- difficulty
- ●●●●●
- time
- several weekends
- license
- None (no licence published)
- repo
- repo ACTIVE329 stars
●●●●● · several weekends · None (no licence published) · 329 stars · repo ACTIVE
WHAT YOU’LL NEED
Jump to section
COMPAREE VERDICT
This is a genuine scanning tunneling microscope: a sharp tungsten tip held within a few angstroms of a conductive surface, measuring the quantum tunneling current to map atoms. Its twist is that the main structure is FDM 3D-printed, with a piezo unimorph disk scanner and a Teensy 4.1 running the scan. The repo gives you Fusion 360 CAD, PCB files for the pre-amp and control board, firmware and Python software, but no written build guide and no BOM yet. The creator's YouTube video is the overview. The hard parts are vibration isolation, tip preparation, and the patience to get a stable tunnel junction without crashing the tip. If you have never worked with piezo actuators or sub-nanoamp currents, expect a learning curve. The reward is genuine atomic resolution on graphite, the standard test sample because it is cheap, flat and conductive. This is a real instrument, not a weekend novelty.
IN THE REPO
GOOD TO KNOW
- —Complete Fusion 360 CAD for the STM body and the vibration isolation platform.
- —No bill of materials yet. The creator lists it as future work, so you work out parts from the schematics, PCB files and video.
- —C++ firmware for a Teensy 4.1 (PlatformIO project) and Python software with a GUI for control and image processing.
- —There is no written step-by-step build guide. The creator points to his YouTube overview video, and the repo has CAD, PCB files, firmware and software. The tip is sharp tungsten wire.
- —No licence is published in the repository, so reuse and commercial rights are not granted. Ask the creator before redistributing or selling builds.
- —PCB design files for the pre-amplifier and control board are included (Altium, EasyEDA and PDF exports).
Parts to buy
6 itemsFrom our check of the build. Exact quantities and part numbers are in the creator’s BOM.
Can I build this?
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
Videos
More builds like this
All projectsGallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Read the README and watch the creator's YouTube overview video. There is no written build guide, so study the CAD, PCB files and firmware before you order parts. (There is no written build guide; the README points to the creator's overview video and to Dan Berard's home-built STM write-up, which this design is based on.)
- 2.Watch the creator's overview video and study the CAD and PCB files to work out the piezo disks and electronics before you order.(There is no BOM yet, so identify the piezo disks and electronic parts from the video, the CAD and the PCB files (and from Dan Berard's write-up); substitutions may change the driver voltages.)
- 3.Print the main body and test-fit the piezo mount before assembling the electronics — any misalignment here will ruin your scan stability.(The Fusion 360 source file is provided, so you can adjust tolerances if your printer runs loose or tight.)
KNOWN ISSUES
- The single biggest trap: buying a cheaper piezo scanner or substituting parts without understanding the voltage and capacitance requirements — the scan linearity and stability depend on matched components.
- Vibration isolation is not optional — the design hangs the scan platform on three long tension springs with magnetic (eddy-current) damping; if you skip it or run the head straight on a desk, you will see only noise, and footsteps in the next room can ruin a scan.
- Tip preparation is a skill, not a recipe — the repo does not document it, so learn it from Dan Berard's write-up and expect to make several tips.
- The first approach will almost certainly crash the tip into the surface. Have spare tungsten wire and expect to prepare several tips while learning the feedback loop.
- Graphite samples must be freshly cleaved (tape method) to expose a clean surface — old or dirty graphite will not give atomic resolution no matter how good your tip is.
- The pre-amplifier handles sub-nanoamp currents. Order the provided PCBs rather than improvising, keep leads short, and use a grounded metal enclosure or electrical noise will swamp the tunneling current.
Can this really see individual atoms, or is that marketing?
The repository shows the creator's images of graphite with the hexagonal pattern of carbon atoms. STMs have done this since the 1980s; this build makes it accessible, but getting there takes careful tip preparation and vibration isolation.
Why graphite and not other materials?
Graphite is conductive, atomically flat when cleaved, cheap, and air-stable — it is the standard beginner sample. Metals and semiconductors are possible but require better vibration isolation and surface preparation.
Do I need a clean room or vacuum chamber?
No — this is an air STM, which is why graphite works (it does not oxidize quickly). You do need a quiet room away from foot traffic and HVAC vents.
What if I cannot get platinum-iridium wire?
The design itself uses a sharp tungsten tip. Platinum-iridium oxidizes less in air, but it is not what the creator used, and there is no written guide comparing the two.
How do I know if my tip is sharp enough?
You cannot tell by looking — the test is whether you can establish a stable tunnel junction. If the feedback loop oscillates or you see no features at atomic scale, make a new tip (the creator cuts 0.25 mm tungsten wire at an angle while pulling) and try again.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
A 3D-printed frame, a piezo disk scanner, a tungsten tip and a Teensy — and the repo shows atoms on graphite. With no parts list yet, would you start from this repo or from Dan Berard's original write-up?
MechRedPanda
Mechanical Panda (Mech RedPanda) is a maker who publishes on Bilibili and YouTube. He based this design on Dan Berard's home-built STM and calls it the first STM to use FDM 3D-printed parts as its main structure.
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.
CompareeTEAM2mo agoedited
Practical notes from our verification: the repository has Fusion 360 CAD of the STM body and vibration isolation platform, PCB files for the pre-amplifier and control circuit (Altium, PDF and EasyEDA), Teensy 4.1 firmware, and a Python GUI for control and image processing. What it does not have yet is a bill of materials — the README lists it under Future Work as coming soon — or a step-by-step build tutorial; the creator points to an overview video instead and credits Dan Berard's home-built STM as the main inspiration, whose write-up is worth reading alongside it. There is also no licence file in the repository, so reuse rights are not granted by default. The hardest part is not in the files: it is preparing a sharp tungsten tip and getting a stable tunnelling current with a 3D-printed piezo disk scanner. The README itself says this is experimental and needs a strong understanding of STM, electronics and 3D printing — a real learning project, not a weekend novelty. 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.