This article includes the following information about hardware troubleshooting on the OT-2:

  1. Description

  2. Data collection procedure

  3. Hardware background

  4. Troubleshooting steps

⚠️Important: Although hardware issues are not always linked to SmoothieErrors, if you do happen to encounter one, it is helpful to determine if you are experiencing a homing fail or hard limit error before proceeding with the troubleshooting process.

Additionally, you might need to investigate the electronic boards for further troubleshooting.


Constant and/or repeating SmoothieErrors on one of or both mounts can be an indication of a hardware failure, specifically with the motor controller board, central routing board (CRB), and Raspberry Pi (RPi) with which it communicates. To diagnose these, you can investigate the boards yourself and send the Support team images, videos, and information about what is happening to expedite troubleshooting.

Data collection procedure

These are instructions you can follow to start examining the internal hardware:

1. Power off the OT-2 and access the motor controller board and the rear electronics (CRB and RPi boards are housed here).

2. Follow the cables leading from the rear electronics to the motor controller board to check for damaged cables (see pictures below for specific cables and connections). If there are any damaged cables, send some pictures over to the Support team showing both the damage and the slot into which the cable connects, so we can properly identify the cable.

3. Take a video of the 3 boards (motor controller board, CRB, and RPi) powering on when you turn on the OT-2. Send this over to Support so we can confirm everything is powering on correctly. You can also refer to our article on investigating the electronic boards for information on the LED indicators.

Hardware background

1. Motor controller/stepper driver board

The motor controller board is responsible for electrically driving the motors that move the pipettes around the OT-2. As a result, there are a lot of cables and connections that each control a specific movement. The above schematic outlines the connection slots on the board and what motor/logic this connection is monitoring.

If you are experiencing a SmoothieError:

  • Given the mount/axis shown in the actual error (such as Hard limit +B or ...G28.2Z returned ALARM: Homing fail, etc.), you can narrow down which cables would most likely be responsible for throwing an error if there was a hardware failure on that connection.

  • For example, with a Hard limit +B, we know our area of interest is the plunger of the pipette attached to the left mount and, thus, should first check that the Left Pipette B motor is properly connected and not damaged.

2. CRB and RPi

The RPi uses a serial protocol to command the motor controller board, the software running on the RPi sending G-code to the motor controller board. The motor controller board then receives it, interprets it, and electrically drives the gantry and pipette motors accordingly. It also handles connectivity with the USB/Ethernet adapter and Wi-Fi as well as monitoring the USB ports for the modules. The CRB helps deliver the data from the RPi to the motor controller board as well as deliver power to the motor controller board.

Troubleshooting steps

With this chain of data transmission, any improperly connected cable, broken cable, or damaged part of any board can be responsible for the error the OT-2 is experiencing. Thus, it’s best to check your cable connections before going straight to replacing the boards.

1. Reconnect motor controller board cables

Unplug and reconnect all the cable connections shown on each of the three boards. As mentioned above, you can unplug and reconnect specific connections on the motor controller board first depending on the type of error you received, and then test to see if that solved the problem. If not, you can try reconnecting all the cables.

2. Replace the boards of the OT-2

If you need to replace the boards, it is best to try and see which board actually resolves the problem, as we can use this to identify the exact origin of the problem for future reference.

It would be helpful, for future records, to check through each board to see which replacement solves the issue. Opentrons recommends the following:

  1. Swap the Raspberry Pi + Raspberry Pi shield and test if the robot powers on, homes, and connects to your computer properly.

  2. If that doesn't work, swap in the new CRB and test again.

  3. If that still doesn't resolve it, swap in the motor controller board.

If these new boards do not resolve the error, please reach out to our Support team.

Additional resources:

If you have any questions, please reach out to us at or through our live chat!

Did this answer your question?