Scanning tunneling microscopy (STM) techniques and associated spectroscopic (STS) methods, such as dI/dV point spectroscopy, have been widely used to measure electronic structures and local density of states of molecules and materials with unprecedented spatial and energy resolutions. However, the quality of dI/dV spectra highly depends on the shape of the probe tips, and atomically sharp tips with well-defined apex structures are required for obtaining reliable spectra. In most cases, STS measurements are performed in ultra-high vacuum and low temperature (4 K) to minimize disturbances. Advance tip preparation and constant in situ tip conditioning are required before and during the characterization of target molecules and materials. A common way to prepare STM tips is to repetitively poke them on known and bare substrates (i.e. coinage metals or silicon) to remove contaminations and to potentially coat the tip with substrate atoms. The standard dI/dV spectra of the substrate is then used as a reference to determine whether the tip is available for further experiments. However, tip geometry changes during the poking process are unpredictable, and consequently tip conditioning is typically slow and needs to be constantly monitored. Therefore, it restricts the speed of high-quality STM spectroscopic studies. In order to make efficient use of instrument idle time and minimize the research time wasted on tip conditioning, UC Berkeley researchers developed software based on Python and machine learning that can automate the time-consuming tip conditioning processes. The program is designed to do tip conditioning on Au(111) surfaces that are clean or with low molecular coverage with little human intervention. By just one click, the program is capable of continued poking until the tip can generate near-publication quality spectroscopic data on gold surfaces. It can control the operation of a Scienta Omicron STM and automatically analyze the collected topographic images to find bare Au areas that are large enough for tip conditioning. It will then collect dI/dV spectra at selected positions and use machine learning models to determine their quality compared to standard dI/dV spectra for Au20 and determine if the tip is good enough for further STS measurements. If the tip condition is not ideal, the program will control the STM to poke at the identified positions until the machine learning model predicts the tip to be in good condition.