In some cases we may need to manually update the motor controller board's firmware, this document will walk you through the procedure to do so through your computer's terminal.


1. Plug in and power on robot

2. Locate your robot's IP address (link to instructions on locating IP address will be added shortly)

3. Copy the hex file attached to desktop - you can also find the firmware file on our Github). We will need the firmware path for the command in the following step, I find the easiest method to locate is by dragging and dropping the file into my terminal. See below 

4. Copy that firmware hex file to your robot using the following command : scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no (INSERT PATH TO FIRMWARE .HEX HERE AND REMOVE PARENTHESES) root@(INSERT YOUR ROBOT'S IP HERE AND REMOVE PARENTHESES):/data/edge-6168d32.hex
5. Now we want to connect to the robot via secure shell
6. Mac ssh command : ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@(INSERT YOUR ROBOT'S IP HERE AND REMOVE PARENTHESES)
. If you are using a Windows Computer use these instructions: https://support.opentrons.com/ot-2/troubleshooting/how-to-ssh-into-the-robot-on-windows
You will know you are correctly ssh'd into the robot because an Opentrons logo will appear in the terminal

8. Run python terminal
9. from opentrons import robot
10. robot.connect()
11. robot._driver._smoothie_programming_mode()

12. Run the command quit() to exit the python terminal
13. Now program the motor controller board with the hex file: lpc21isp -wipe -donotstart /data/edge-6168d32.hex /dev/ttyAMA0 115200 12000

10. The firmware will execute up until sector 25 then finish
11. Manually power off your robot, wait 45 seconds, then power on again
12. Once the firmware is pushed try reconnecting your robot in the OT App


Did this answer your question?