Setting up the HCS software

Step 1: Make sure the right firmware is uploaded to the controller - in octopi-research/firmware/octopi_firmware_v2/main_controller_teensy41/main_controller_teensy41.ino
(github link to this file), comment #include "def_octopi.h" and uncomment #include "def_octopi_80120.h" and then upload. If the controller is not detected in the IDE, try disconnect both the USB and the power and connect the USB again.

For controllers shipped before Dec 2022, make sure to disconnect the power before uploading the firmware. Otherwise the board and the connected motorized stage can be permanently damaged.

Step 2: Copy the HCS configuration txt file to the software folder. The HCS configuration txt file can be found in the software/configurations folder (octopi-research/configuration_HCS_v2.txt at master · hongquanli/octopi-research · GitHub).

Step 3: Launch the program with python3 main_hcs.py. When running the program for the first time, it’s advised to remove the objective to prevent collision due to wrong settings.

Step 4: After the program has opened, install the objective if it has been removed, and load the plate. Bring the plate into focus and note the following numbers:
note the following numbers:

  • z position when in focus
  • x and y position when the upper left corner of B2 is in the center of the FOV

Step 5: In the configuration txt file, add the following lines, replace the placeholder numbers with the numbers you noted in the last step (note that z has unit of mm while in the GUI display the unit is um)

X_MM_384_WELLPLATE_UPPERLEFT = 10
Y_MM_384_WELLPLATE_UPPERLEFT = 10
DEFAULT_Z_POS_MM = 2.000000

After these steps, the software is calibrated to the hardware setup and the navigation viewer will properly display where you are.

Note that the default configuration file assumes (1) A1 is the well at the opposite corner to the plate clamp (2) the camera QR code side is facing the 6 o’clock position (towards you) while the XY stage cable is facing the 3 o’clock position (to the right).

If the program does not start due to timeout, try the following: disconnect the USB, disconnect the power, connect the USB, connect the power, start the software again.