Published In

Journal of Measurement Science & Instrumentation

Document Type


Publication Date



The purpose of this article is to reduce the barrier of developing a house-made scanning probe microscope(SPM). Here in this paper,we cover all the details of programming an SPM controller with LabVIEW. The main controller has three major sequential portions. They are system initialization portion,scan control and image display portion and system shutdown portion. The most complicated and essential part of the main controller is the scan control and image display portion, which is achieved with various parallel tasks. These tasks are scan area and image size adjusting module, Y-axis scan control module, Xaxis scan and image transferring module, parameters readjusting module,emergency shutdown module,etc. A NI7831 RFPGA board is used to output the control signals and utilize the Z-axis real-time feedback controls.The system emergency shutdown is also carried out by the FPGA module. Receiving the shutdown command from the main controller,the FPGA board will move the probe to its XYZzero position, turn off all the high voltage control signals and also eliminate the possible oscillations in the system. Finally, how to operate the controller is also briefly introduced. That messy wires fly back and forth is the main drawback of LabVIEW programming. Especially when the program is complicated,this problem becomes more serious. We use a real example to show how to achieve complex functionalities with structural programming and parallel multi-task programming. The actual code showed in this paper is clear, intuitive and simple. Following the examples showed in this paper, readers are able to develop simple LabVIEW programs to achieve complex functionalities.


This is the publisher's final PDF. Article is available in the Journal of Measurement Science & Instrumentation.

Persistent Identifier

Included in

Physics Commons