The Opentrons API is an opensource software interface, written in Python, to control the set of Opentrons liquid-handlers. It was designed allow simple commands to perform relatively complex procedures, while at the same time exposing a lower level that gives the author control over the machine’s atomic movements.
In the chart above, my contributions are shown in orange.
From 2016-2018, I designed and programmed an important piece of the Python API; the automated-liquid-handling portions. Specifically, it starts at the high-level user protocol commands, and moves down through individual pipette movements, all the way down to programming motor spins.
Within the Opentrons Python API, mostly working on:
- Designing protocol commands
- Designing pipette actions
- Programming pipette movements
- Programming motion control and hardware abstraction
Here’s a video demoing my work. It shows protocol commands creating real-world liquid transfers:
In addition to leading design of the API’s interface, I spent considerable time in 2016 for the OT-One and in 2017 for the OT2 writing the motion control aspect of the Opentrons software. This includes how a pipette moves around, what parameters are required to allow fine control of liquid transfers, software interfaces for controlling the stepper-motor-driving system, and finally communication with the machine’s stepper-motor-driver through GCode.