Skip to content
Software for writing protocols and running them on Opentrons robots
Branch: edge
Clone or download
b-cooper feat(api): allow robot to discover thermocycler and return live data (#…

In addition to allowing for thermocyclers to be discovered by the hardware controller and returned
from a GET /modules call, this adds a synchronous adapter to the module class instances to allow for
communication with peripherals with out clogging the main pipes. Now all attached modules to a
hardware controller instance will be wrapped in a synchronous adapter. Calls to GET
/modules/{serial}/data should return the expected payload in the presence of a connected
thermocycler board. Note: the firmware should shim the serial and model strings until further
development on the FW side.

Closes #2958
Latest commit 34af269 Mar 22, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github chore(repo): Configure semantic PR plugin for squash-merging only (#3103 Feb 21, 2019
__mocks__ perf(app): Upgrade Electron to v3 and remove Node in renderer (#2374) Oct 2, 2018
api feat(api): allow robot to discover thermocycler and return live data (#… Mar 22, 2019
discovery-client chore(release): 3.8.0 (#3232) Mar 19, 2019
labware-designer fix(api,shared-data): Lowercase labware names and camelCase categories ( Mar 20, 2019
labware-library refactor(labware-library): Scaffold out responsive nav (#3215) Mar 19, 2019
protocol-designer feat(protocol-designer): update transfer form design (#3221) Mar 20, 2019
scripts chore(labware-library): Scaffold out project (#3206) Mar 13, 2019
webpack-config chore(release): 3.8.0 (#3232) Mar 19, 2019
.codecov.yml chore(api): Modify and update systems and docs to publish to pypi (#3006 Feb 5, 2019
.eslintignore build(babel): Add babel to disc-client and tweak app-shell build (#2016) Aug 8, 2018
.flowconfig build(babel): Add optional chaining proposal to babel config (#3201) Mar 12, 2019
.gitignore chore(release): 3.5.0 (#2554) Oct 25, 2018
.nvmrc (app, pd) Upgrade Node/npm to LTS Carbon with .nvmrc Dec 5, 2017
.stylelintrc.js style(js): Enable multiline comma dangle (#2012) Sep 12, 2018
.travis.yml chore(release): 3.8.0 (#3232) Mar 19, 2019
CLA.txt docs(*): Minor typo fixes and add notes to developer instructions in … Jun 29, 2018 docs(api): Add a way to build a PDF version of the docs (#2944) Jan 23, 2019
Dockerfile refactor(api-server-lib): Remove unnecessary api-server-lib (#2178) Sep 5, 2018
Makefile docs(docs): Update header and footer navigation (#1542) May 25, 2018
appveyor.yml build(travis): Refactor build to use stages (#2668) Nov 14, 2018
babel.config.js chore(labware-library): Scaffold out project (#3206) Mar 13, 2019
jest.config.js perf(app): Upgrade Electron to v3 and remove Node in renderer (#2374) Oct 2, 2018
yarn.lock style(js): Upgrade eslint and plugins (#3208) Mar 20, 2019

Opentrons Platform

Travis CI AppVeyor Codecov


Opentrons makes robots for biologists.

Our mission is to provide the scientific community with a common platform to easily share protocols and reproduce each other's work. Our robots automate experiments that would otherwise be done by hand, allowing our users to spend more time pursuing answers to the 21st century’s most important questions, and less time pipetting.

This repository contains the source code for the Opentrons API and OT App. We'd love for you to to explore, hack, and build upon them!

Opentrons API

The Opentrons API is a simple framework designed to make writing automated biology lab protocols easy.

We've designed it in a way we hope is accessible to anyone with basic computer and wetlab skills. As a bench scientist, you should be able to code your automated protocols in a way that reads like a lab notebook.


That is how you tell the Opentrons robot to pipette its max volume from one tube to another. Learn more here:

Opentrons App

Easily upload a protocol, calibrate positions, and run your experiment from your computer.



We love contributors! Here is the best way to work with us:

  1. Filing a bug report. We will fix these as quickly as we can, and appreciate your help uncovering bugs in our code.

  2. Submit a pull request with any new features you've added to a branch of the API or App. We will reach out to talk with you about integration testing and launching it into our product!

For more information and development setup instructions, please read the contributing guide.


You can’t perform that action at this time.