Testing Scanbot with the Nanonis V5 Simulator

This page provides detailed instructions about how you can try Scanbot using the Nanonis V5 Simulator. Completing all of these tests will take approximately one hour.

When navigating the web application, avoid using the browser back and forward buttons. To go back one page, use the buttons located in the top right.

Installation (5 min)

  1. Download Nanonis V5 Simulator
  2. Download the latest version of Scanbot
    Note: If you prefer to build and run Scanbot from its source, follow the installation instructions here. If you want to install Scanbot from source and you want to test it using the simulator, you'll need to download this folder and extract it to scanbot/scanbot/ before the installation. This folder contains dummy data used in demo modes.

Launching Scanbot (5 min)

1. Opening the Nanonis V5 Simulator

  1. Open the Nanonis V5 Simulator
  2. From the Z-Controller module, enter a reasonable setpoint (10 pA - 100 pA) and turn the Controller on.
    Z-ControllerModule
  3. If the tip height indicator does not approach to the correct setpoint, it may be because the gain setting is incorrect. In the 'Current' module, try changing the Gain to LN 10^9.
    CurrenModule

2. Launch Scanbot

  1. Open Scanbot.exe. A terminal will open and you should see the server start. Alternatively, if you installed Scanbot using pip or from source, run scanbot
    Scanbot-terminal
  2. Scanbot should then open in a new browser tab. If it does not, then navigate to http://127.0.0.1:5000. When running Scanbot for the first time, you will see a warning letting you know that you have not yet reviewed the configuration. You may receive an additional warning message if Scanbot is unable to communicate to Nanonis. This will be solved in the next step.
    landing-page

Configuration (2 min)

  1. In Nanonis, check the TCP ports from system => options => TCP Programming Interface.
    tcp-ports
  2. Take note of the Nanonis version you're running from Nanonis > help > info check-nanonis-version
  3. In Scanbot, from the landing page, navigate to the 'Configuration' page.
  4. Ensure that the comma-delimited ports in Scanbot match those configured in Nanonis and the version numbers match.
    configuration-page
  5. Accept the configuration. This will save the scanbot_config.ini file and your settings will be remembered. Accepting the configuration will also stop the warning message from being displayed. For details about the rest of the configuration, see the user guide

Sample Surveying (10 min)

  1. From the Scanbot landing page, navigate to 'Data Acquisition' => 'Survey'.
  2. Review the survey settings. More details about these settings can be found in the user guide. Alternatively, you can hover over any field to obtain its description. In summary:
    • The Fine Grid Parameters control the size and spacing of each survey grid.
    • The Coarse Grid Parameters control the number of surveys to acquire (at different macroscopic locations) and the spacing between them. Note: The motor controller in the Nanonis simulator is not sufficient for testing the coarse movement of the STM tip, thus please leave the coarse grid size to 1x1.
    • The Scan Parameters configure the settings for individual scans.
      Note: At this stage, you will not be able to answer "Yes" to "Automated Tip Shaping?". We'll go through that later.
  3. Once you're satisfied with the survey parameters, click 'Start Survey'. Acquired images will begin populating the empty grid. You can either wait for the survey to complete or stop it any time with the 'Stop' button.
    survey-page

Automated Tip Shaping (10 min)

The automatic tip shaping process is outlined here. In Summary:

  1. An initial upward scan will be acquired to make sure the area is suitable for tip shaping. If it is not suitable (i.e. there is debris), the scan frame will move to the next location in the grid.
  2. A tip-shaping action will be performed in the centre of the scan frame.
  3. A downward scan will acquire an image of the imprint left behind.
  4. From this image, the imprint size and circularity will be calculated.
  5. If the imprint size and circularity do not meet the desired criteria, a more aggressive tip-shaping action will be performed and the process repeats.

Note: In demo mode, Step 1 always passes.

With Scanbot:

  1. From the landing page navigate to 'Data Acquisition' => 'Automation'.
  2. In Nanonis, from the 'Scan Control' module, open the 'Tip Shaper' module.
    tip-shaper-module
  3. In Nanonis, from 'Graphs', open the 'Signal Chart'. This can be used to monitor Scanbot's tip shaping actions (as well as looking at the parameters in the Tip Shaper module). Select the 'Current (A)' and 'Z (m)' channels. You can adjust the 'Averaging' slider to slow down the rate at which the curves move through the window. In the figure below, the tip was at an intial height of -2 nm, then moved 3 nm into the surface and retracted 8 nm before turning the feedback controller on. During this time, the current spiked to its maximum value of 10 nA.
    tip-shaping
  4. When running with the Nanonis Simulator, please obey the following in the 'Automated Tip Shaping' settings:
    • Select "Yes" for "Run in demo mode?". In demo mode, acquired images are replaced with pre-recorded data which is loaded from a file.
    • The scans loaded from this file are (10x10) nm in size. It is important that the settings in Scanbot reflect that or the size of the tip’s imprint will be calculated incorrectly.
    • The last imprint in the demo data has an imprint size of 1.55 nm2 and a circularity of 0.83. Set the parameters for desired size and circularity appropriate to these numbers.
  5. Click 'Start'
  6. Scans of the tip's imprint, along with its calculated size and circularity, after each iteration will be shown in the browser. Remember that in demo mode, these scans are pulled from a pre-loaded file so they will look different to what's shown in the Nanonis Scan Control module.
    auto-tip-shaping
  7. The process will finish when the tip imprint's area is smaller than the desired area and the circularity is larger than the desired.

Autonomous Tip Navigation (10 min)

Before Scanbot can take control over the coarse piezos and track the tip via the camera feed, a short initialisation procedure must be completed. This procedure gives Scanbot the initial location of the probe as well as the coordinates of the sample and clean metal. This is normally accomplished via a live camera feed, however in Demo mode, the camera feed is replaced with pre-recorded videos.

Initialisation

  1. From the landing page, navigate to 'Data Acquisition' => 'Automation'.
  2. Under the "Initialise Tip and Sample Positions" group, select "Yes" for 'Run in demo mode'.
  3. Click the "Initialise" button.
  4. Because demo mode was selected, a popup should open displaying a pre-recorded video. Note that the popup may not take focus.
  5. Follow the prompts in the top left of the popup. They will be in the following order:
    1. The recording will show a view of the STM with the tip fully retracted and out of view. Click anywhere within the frame to go to the next step.
    2. The recording will show the tip in close proximity to the sample surface. Click anywhere within the frame to go to the next step.
    3. Mark the location at the apex of the probe by clicking on it.
    4. Mark a location in close proximity to, but at a safe distance from the clean metal surface.
    5. Mark a location in close proximity to, but at a safe distance from the sample surface.
    6. A preview of the locations you have initialised will be shown. Press 'q' to close and finish the initialisation, otherwise the window will close by itself after 30 seconds. Your initialisation should look something like the figure below:
      initialised
      Note: the dotted line represents the path of the tip in the video recording. Placing the sample or metal coordinates outside the shaded region means that the tip will never reach them.

Tip Tracking Test

  1. Review the settings in the 'Move Tip' group. In live mode, these must be configured appropriate to your setup. Since we're running this in demo mode, the defaults are ok.
  2. In Scanbot, click the 'Go to Metal' button
  3. A popup video feed will open showing the STM tip move from its current position to the clean metal. The red marker will track the tip as it moves towards its target.

    Note: This is programmed so that the tip retracts in Z+ until its Z-coordinate is above the target Z-coordinate. Once the tip apex is above the target location, it then starts moving in the X direction towards the target (with the requirement that Ztip > Ztarget at all times when moving in X). Once the X-coordinate of the tip matches the X-coordinate of the target, it has reached its destination and Scanbot will initiate auto approach. This may result in weird behaviour in demo mode where the tip will retract further than it needs to before moving in the X-direction towards the target. This is a limitation with using a movie instead of a live camera feed, however you can monitor the terminal to see which direction Scanbot is trying to move the tip.

Survey Automation with Tip Tracking and Shaping (15 min)

Normally, Scanbot will remember the location of the STM tip after any such movement performed in the previous step. A limitation to running the initialisation in demo mode is that the video recording of the tip restarts from the beginning each time. This means the STM tip will not be at the location that Scanbot thinks it is, thus the initialisation procedure must be performed again for this test.

Initialisation

  1. Follow the initialisation steps in the previous test. Now that we're confident that the tip can be tracked via the camera feed, this time you can initialise the sample and metal coordinates as shown:
    quickinitialisation
    Setting the initial coordinates in this state lets the tip move back and forth between sample and metal locations without Scanbot losing track of the STM tip when the video recording restarts between movements.

Survey with Auto Tip Shaping

  1. Ensure the 'Auto Approach' and 'Tip Shaper' modules are open.
  2. Use the button in the top right to navigate back to the 'Data Acquisition' page.
  3. Navigate to the 'Survey' screen.
  4. Select at least 3 for the fine grid size.
  5. Choose “Yes” for "Automated Tip Shaping?".
  6. “Start Survey”.

Because we ran the initialisation procedure in demo mode, starting the survey with "Automated Tip Shaping" = "Yes", means that the survey will also be run in a demo mode. Images acquired from the Nanonis Simulator will be replaced with pre-loaded mock 'bad data'. This is to give Scanbot the impression that the STM tip is in need of reshaping (despite running on a simulator). The process for survey automation is as follows:

  1. Acquired images are analysed by Scanbot and deemed good or bad depending on the number of tip changes and how much the tip interacts with the sample.
  2. If five 'bad' images are detected in a row, Scanbot will use the camera feed to track and move the tip from the sample to the clean metal.
  3. After approaching on arrival, the auto tip shaping procedure will be initiated.
  4. After acquiring a 'good tip', Scanbot will move the tip back to the sample.
  5. A new survey will begin.
  6. In demo mode, this process will repeat indefinitely if the initialisation was completed as in the figure above. Click stop survey to end the process.

Note: Scanbot is able to detect when the tip is unstable or 'noisy' during image acquisition. It cannot detect doubled tips. The built-in image classifier can be replaced with a custom one by using the hk_classifier hook.