Home-Built STM

This project is my attempt to build a low-cost scanning tunneling microscope (STM) capable of atomic resolution imaging in air. The piezo scanners typically used in STM typically cost at least hundreds of dollars. Some time ago I came across John Alexander’s simple STM project, in which he used a cheap piezo buzzer element with one of the electrodes cut into quadrants to enable XYZ motion. This type of scanner is less rigid than what is usually used for STM, but I decided to give it a try and see how far I could get with it. Turns out I was able to image highly-oriented pyrolytic graphite (HOPG) with my STM with atomic resolution! The image below shows the hexagonal lattice structure of graphite.

Overview of the technique

STM is a tool capable of imaging surfaces with atomic resolution. In STM, a sharp metallic needle is brought within a few angstroms of the surface of a conductive sample and a small bias voltage is applied across the gap. If the gap is small enough (<1 nm), electrons can cross the gap via quantum tunneling. This “tunneling current” is typically in the pA – nA range, and can be measured with a transimpedance amplifier. The STM tip is mounted on a piezoelectric scanner, which is capable of sub-angstrom motion in all directions. The tunnelling current measured by the transimpedance amplifier is fed into a feedback loop which controls the voltage applied to the Z-axis electrode of the piezo scanner and acts to maintain a constant tunneling current, and therefore a constant tip-sample distance. The X and Y axes of the scanner are used to raster scan the tip across the sample. By measuring the Z-axis voltage as a function of scan position, an image of the sample topography is constructed. If the tip moves closer to the sample surface, the tunneling current increases exponentially. This exponential relationship is what makes STM sensitive enough to resolve individual atoms, even under ambient conditions. If the STM tip is atomically sharp (not as hard to achieve as you might think!) then nearly all of the tunneling current will flow through the single atom on the tip which is closest to the sample surface, resulting in images with atomic resolution.

For more about this project, click one of the links below or in the top menu:

61 thoughts on “Home-Built STM

  1. Hey Dan,
    I was thinking that I have a laptop with an audio codec (which has an ADC and DAC). Do you think a custom software driver could be used to use these for an AFM? Because I realized they have high resolutions good enough for the afm positioners and reading the amplified sensor signal. And why buy external ADC and DAC if there is already some in my computer! However, I am scared an audio codec may not be suitable for DC electrical signals.. or something. I am wondering if you see a problem here? Thanks


    • Hi Ryan,

      I wouldn’t recommend it and don’t think it would work. Do you mean just for the probe drive and readout? You don’t need DC for that, but you likely won’t quite have a high enough sample rate and bandwidth, and I’m not sure how you’d implement the PLL (you’d probably have to use an external Q-control circuit instead). A qPlus sensor in air typically resonates at around ~25 kHz.

      I’ve implemented my PLL in an FPGA, and I’m using one of the DAC8814 channels (the bias voltage channel) to drive the probe at a 625 ksps. I’m using the LTC2326 ADC on my board to sample the probe oscillation at 250 ksps.

      You can also implement a simpler analog PLL instead, like the one described here: http://www.akiyamaprobe.com/wp-content/uploads/2009/03/akiyama-probe_technicalguide_2009mar23.pdf



  2. Hi Dan I was wondering if you have in program the build of an AFM and if there where any alternative to the expensive and easly damageable probe



  3. hi, i was wondering whether this thing could get a proportion of an object. (xnumber of atoms by xnumber of atoms by Xnumber of atoms)
    thanks Kevin G.


  4. Hello, this is awesome. Could you give a detailed schematic of what you put on that big breadboard on the top picture? Is it the same as the electronic schematics you already made available? Thanks


      • Thank you! Could the arduino uno’s analogWrite() and analogRead() be used for a DAC and ADC?


      • You might (barely?) be able to get away with the Arduino Uno’s ADC (10-bit), but you’d be better off using something more precise. The Teensy’s ADC (16-bit) would probably work fine. The ADC doesn’t need to be particularly precise or low-noise, because the preamp’s feedback resistor already introduces a lot of noise, and the tunneling current varies exponentially with tip-sample distance so the measurement is extremely sensitive anyway.
        On the other hand, the analog signals that drive the scanner do need to have very low noise. The Uno’s analogWrite() won’t be good enough. I suggest you go for a DAC with at least 16-bit resolution. The DAC8814 that I’m using works pretty well, but if you’re looking for something cheaper, take a look at the DAC8565. It’s noisier, but should be good enough.

        Liked by 2 people

  5. Your design is quite elegant and extremely more affordable than purchasing STMs from manufacturers. Why not spend a few hundred dollars for a business license and sell your PCB or entire STM online? You would surely have the lowest priced STM on the market.


    • Thanks! I suspect there are probably quite a few similar instruments in research and educational labs that have been built for <$1k. This one's a great example: http://www.formatex.info/microscopy4/1280-1286.pdf

      I'm actually working on two new versions of the PCB, one of which is just a more complete version of the current one, and another which will offer much higher performance and hopefully do AFM too!

      I plan on selling both of these, as well as a few different preamp boards, since a few people have expressed interest.


  6. Hi!
    I have one question why is magnet in bottom plate under penny?
    “The sample bias wire is soldered to the nickel-plated magnet and is electrically insulated from the grounded base by a a piece of microscope cover glass. “


      • Only for ferromagnetic samples, for diamagnetic samples you must glue using cooper tape for example gold?
        Second question why you did v-groove, cone and flat? What would happen when be flat surfaces under each precison screw?


      • Oh, and the cone, flat and V-groove form a kinematic coupling that exactly constrain the 3 screws in position (without requiring precise machining), so that they can’t wiggle or slide around. Having flat surfaces underneath is also fine, it just allows the top part of the scan head to slide around if not held tightly enough by the springs.


    • Are you referring to DNA stretched in nanochannels? The nanochannels are on the floor of a microfluidic channel, and the roof of the channels is lowered by a piezo actuator. DNA in the microfluidic channel are always wiggling around due to their thermal motion, and as the roof is lowered, they wiggle themselves into the nanochannels in the floor.


    • I’m not sure those would be harder than tungsten. Tungsten carbide wire cutters would work, but for the price I’d rather just buy Pt/Ir, since it has the additional benefit of not oxidizing in air or during chemical etching. However, I don’t think there’s much point until I have a motorized coarse approach since I pretty much crash the tip every time anyway.

      Liked by 1 person

  7. Dear Den

    This is really impressive thing that you have realised. The question arises concerning detection of the low tunnelling current. Why not use amplitude modulated bias together with synchronous detection? Seems, this could increase sensitivity of the measurement…

    Very Best


    • Hi Sergey,

      Thanks! The technique you describe is indeed used to measure conductance spectra. I haven’t tried this yet but plan to eventually. This would effectively reduce the bandwidth of regular measurements though, since the modulation frequency needs to be within the preamplifier’s low bandwidth.


  8. Hello, I recently came across your project and was wondering if i could get in contact with you? I want to see if i can replicate it for a science project


    • There’s a BOM at the end of the schematics PDF, but Seeed doesn’t have most of the components used, so I suggest you solder the board up yourself. Some components, particularly the DAC and ADC, are quite expensive, so make sure you practice soldering 0.5mm-pin-pitch components if you’ve never done so before!

      That said, I might recommend starting with a breadboard, a Teensy and a 4-channel DAC first. You can use the Teensy’s ADC instead of the expensive one I used, it should work well enough. If you want a cheaper DAC to experiment with, you could try the DAC8565.


    • Hi June,

      I’ll post the software here eventually. The Teensy software does a few things: controlling the scan, controlling the Z-axis feedback loop, sigma-delta modulating the DACs, and sending data to the computer. Nothing too fancy.

      You’ll want to look into the “woodpecker” coarse approach method if you want to use a motor. It can also help reduce the chance of crashing the tip when doing a manual approach.

      I have a C# program running on a PC that receives the data and constructs the images line by line as the data comes in, and allows me to control the scan parameters.


  9. Hi Dan,

    Tomorrow, July 6,2015, I’m starting as a Teacher Fellow at UCDavis for their summer program called COSMOS. We will have about 20 top-notch high school juniors whose main project in the nanotechnology “Cluster” is to make an STM based on your design. This is my first experience with any of this. My role is as a “go between” the physics professors presenting about Quantum Mechanics, Computing, etc. and the students who will be basing their 4 week project on getting an image with their home-made STMs. With 20 students, how many would you recommend trying to make?
    Groups of 2, 3, 4 ,5, given the time frame?
    I’m a secondary level Physical science teacher with an Mechanical Engineering degree, so electronics is not a strong suit. I’m good at the vibration isolation. Any and all help appreciated.


    • Hi Gary,
      Awesome! Hard to say on group size, as larger groups don’t always work faster. Maybe 4? I’d suggest getting the Z-axis working as a first major step. This requires building a preamplifier, coarse approach mechanism and feedback loop. What’s you plan for the electronics? I’d suggest building the simpler analog feedback loop.
      Feel free to shoot me any more questions, especially on the electronics. I can suggest some simplifications here and there.


    • Thanks! Quite possibly, unless you count this one. Atomic resolution on HOPG isn’t too difficult to get, but metals are much more challenging. No luck on gold yet. I’m working on a more rigid scanner design that should improve things considerably if it works.


  10. Hi There,

    I have spen a lot of time looking at yours and John Alexander’s design. I have been wondering if there is an easy way to connect the current amplifier and the bias to the tip. I do know that many STM’s are designed in this way, but am not sure if there is any special considerations that need to be taken.



    • Hi Bob,

      Do you mean applying the bias voltage to the tip and grounding the sample, and measuring the current from the tip? You can do this by connecting the bias voltage to the preamp’s non-inverting input. In this case, the preamp’s output will be I_tunnel x R_feedback + V_bias, and you would just have to add V_bias to the setpoint voltage. The output range of the preamp (in the case of current flowing out of the tip) is then V_bias to ~10V, rather than 0 to 10V, but V_bias is usually pretty small so this would probably never be an issue. I don’t see any other issues with this and I know it is used in some designs.



  11. Hey I’m William I was wondering if you had any schematics or plans for making one, I’m 15 and I think that this would be a cool project to make.


    • Hi William,

      There are some mechanical drawings and dimensions given on the “Scan Head” page, and schematics on the “Electronics” page. I haven’t yet drawn any schematics for the data acquisition electronics, but there’s still some info on the parts I used. You can get creative with vibration isolation. Basically the STM just needs to sit on something heavy that is then suspended by springs, bungee cords, or sitting on a bicycle inner-tube.

      You should also take a look at John Alexander’s STM page if you’re after a simpler design.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s