As of software version 4.3, you can now use multiple modules of the same type! This means you can use multiple Temperature Modules or multiple Magnetic Modules that can be controlled separately in the same Python API protocol. There are a few things to be aware of when using this feature, so please read on to learn more!

  • Note: While it is entirely possible to use more than two modules of the same type at once, Opentrons encourages you to be cognizant of:

    • Available deck space on the OT-2

    • The locations of modules on the deck relative to USB ports on the OT-2

Prerequisites

To use this feature, all of the following need to be true:

  1. You must be connected to the OT-2 via the Opentrons App and be running software version 4.3 or higher.

  2. You must be using multiple Temperature Modules or Magnetic Modules.

    • You can't currently use multiple Thermocycler Modules in the same protocol.

  3. You must be using a Python API protocol.

    • You can’t currently use multiple modules of the same type with Protocol Designer protocols.

Basic setup

How to connect multiple modules of the same type to your OT-2

The OT-2 maps out each module sequentially: In order of appearance to the corresponding physical robot USB ports, from lowest port number to highest port number. Typically, USB ports will be numerically ordered from left to right.

This is important to note because the order in which the modules are plugged into the OT-2’s USB ports will impact how a module is called via the load_module() method in your Python API protocol.

  • For example, this means Temperature Module 1 plugged into the leftmost USB port will correlate to the first temperature module that is called in your protocol via the load_module() method.

  • Using the same logic, the second temperature module in your protocol will correlate to the USB port to the right of Temperature Module 1 and should be called in your protocol via the load_module() method after Temperature Module 1.

Please see below for a diagram example that shows the basic mapping of two Temperature Modules on the OT-2:

Using a hub with multiple modules

If you need to increase the number of USB ports available on the OT-2 and are using a hub with this feature, please continue reading to ensure your multiple modules are:

  1. Called in the correct order in your Python API protocol via the load_module() method

  2. Correctly mapped to the physical robot’s USB ports and/or hubs

Additionally, please note that a hub is not necessary to use multiple modules unless you require additional USB ports.

For example, in a protocol, the diagram shown below would map to your modules as follows:

  • Referencing the diagram below with a hub, you should make sure that Temperature Module 1 in your protocol is plugged into USB Port 1 on the OT-2 and Temperature Module 2 in your protocol is plugged into Hub Port 1, which is then plugged into USB Port 2 on the OT-2.

    • Important note: If for any reason you want to plug Temperature Module 2 into a USB port to the left of Temperature Module 1, you should ensure that the physical modules are placed in the corresponding slot as per your protocol.

How to use multiple modules of the same type in Python API protocols

To use multiple modules of the same type in your Python API protocol, load a module as you would normally.

Please see our API Version 2 Documentation on Hardware Modules for an example of how to incorporate this feature into your protocol.

Limitations of the multiple modules feature

Protocol Designer protocols do not support multiple modules of the same type.

How to identify if USB port information is displayed correctly

Through the Opentrons App

The Opentrons App will display USB port information while using modules in your protocol. This means you can see which module is plugged into which USB port.

Please keep in mind that the Opentrons App will not indicate if anything is incorrect in your configuration as it relates to this feature. Due to this, it is critical that you ensure you are working with the correct configuration based on the order of modules being called in your Python API protocol.

However, the Opentrons App will provide you with on-screen guidance for how to use the feature. As shown in the images below, the Opentrons App will visually indicate the following as it relates to using multiple modules:

  1. Deck layout (USB order of modules [left to right] and which slot each module is in)

  2. Status of module (detected or undetected)

  3. Names of your modules and the ports they are plugged into (including whether it is a USB port or USB via hub port)

The image below shows an example of what the Placement and Calibration tab in the Opentrons App will look like when setting up multiple modules using USB ports only.

The image below shows an example of what the Placement and Calibration tab in the Opentrons App will look like when setting up multiple modules using USB ports and a hub.

The image below shows an example of what the Run tab in the Opentrons App will look like when a quick command is sent to each Temperature Module to help visually indicate which module is which when working with multiples of the same type in a protocol.

Through Jupyter Notebook

Using multiple modules of the same type through Jupyter Notebook will not display USB port information, however, you can use the protocol load order as a map to the USB ports to utilize multiple modules in a protocol.

Troubleshooting issues when using multiple modules of the same type

Please be sure to carefully review this article to confirm you have correctly configured all of the modules on your OT-2's deck so that they can be successfully detected by the Opentrons App and called in the order according to your Python API protocol.

Be sure to double check the following:

  1. Ensure modules are plugged into the correct USB ports of the OT-2 based on the order in which they will be called in your Python API protocol.

  2. The Run tab in the Opentrons App will now show which slot it thinks each module is in. This enables you to send a quick command to each module to confirm it is in a specific slot.

    • For example, if you’re using two Temperature Modules you can send a cooling command to each module and verify that the active module is in the correct slot according to the Opentrons App.

    • Note: If you go to quickly check your multiple Magnetic Modules by sending a command and, for example, you leave the magnets engaged (e.g. up) in the Magnetic Module(s), the magnets will stay up until otherwise reset. Therefore, please ensure you deactivate any modules before starting a run.

  3. When troubleshooting problems associated with multiple modules, Opentrons recommends that you do not change your Python API protocol. It is much easier to troubleshoot the physical configuration of multiple modules rather than rewriting a bunch of your code!

  4. You can download the logs from your OT-2 and send them to our Support Team for further troubleshooting if needed as well.

When in doubt, remember that the OT-2 maps out each module sequentially: in order of appearance to the corresponding physical robot USB ports, from lowest port number to highest port number. Typically, USB ports will be numerically ordered from left to right.

If you have any questions, please reach out to us at support@opentrons.com or through our live chat!

Did this answer your question?