2016 - 2019

Python API: Moving Liquids

The Opentrons API is an opensource software interface, written in Python, to control the set of Opentrons liquid-handlers. It was designed to 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.

See the project live on GitHub, and read the docs

Within the Opentrons Python API, I mostly worked on:

  • Designing protocol commands
  • Designing pipette actions
  • Programming pipette movements
  • Programming motion control and hardware abstractions

Here’s a video demoing my work. It shows protocol commands creating real-world liquid transfers:

As part of a team of four software developers in 2016, I played an outsized role in shaping the API, as well as the underlying motion-control system:

  • How a pipette moves
  • What parameters are required to allow fine control of liquid transfers
  • Software interfaces for controlling the stepper-motor-driving system
  • Communication with the machine’s stepper-motor-driver through GCode