Supported Machines#
Every machine PyLabRobot supports, and how complete each driver is. Some are still work in progress (WIP) — if you have one of those, or a machine that is not listed at all, get in touch on the forum.
| Vendor | Device | Capabilities | Support | Links | Manager |
|---|---|---|---|---|---|
| Agilent | BenchCel 4R* | storage | Mostlyv1 | docscode | @rickwierenga |
| Agilent | VSpin | centrifuging | Mostlyv1 | docscodeOEM | @rickwierenga |
| Agilent | VSpin Access2 Loader | centrifuging | Fullv1 | codeOEM | @rickwierenga |
| Agilent (BioTek) | Cytation 1 | absorbancefluorescenceluminescencemicroscopy | Fullv1 | codeOEM | @rickwierenga |
| Agilent (BioTek) | Cytation 5 | absorbancefluorescenceluminescencemicroscopy | Fullv1 | codeOEM | @rickwierenga |
| Agilent (BioTek) | EL405 | plate washingdispensing | Mostlyv0 | OEM | @rickwierenga |
| Agilent (BioTek) | EL406 | plate washingdispensing | Mostlyv1 | codeOEM | @rickwierenga |
| Agilent (BioTek) | Synergy H1 | absorbancefluorescenceluminescence | Fullv1 | codeOEM | @rickwierenga |
| Agilent (BioTek) | Synergy HT | absorbancefluorescenceluminescence | Fullv0 | OEM | @rickwierenga |
| Agrowtek | Pump Array | pumping | Fullv1 | codeOEM | @rickwierenga |
| Azenta | a4S | sealing | Fullv1 | codeOEM | @rickwierenga |
| Azenta | FluidX IntelliXcap 96 | decapping | Mostlyv1 | docscodeOEM | @rickwierenga |
| Azenta | XPeel | peeling | Fullv1 | codeOEM | @rickwierenga |
| Beckman Coulter | CytoFLEX S | flow cytometry | WIP | OEM | @rickwierenga |
| BigBear | Orbital Shaker | shaking | Mostlyv1 | docscode | @rickwierenga |
| BMG Labtech | CLARIOstar (Plus) | absorbancefluorescenceluminescence | Fullv0 | OEM | @camillomoschner |
| Brooks | PreciseFlex PF3400 | arm | Fullv1 | docscodeOEM | @rickwierenga |
| Brooks | PreciseFlex PF400 | arm | Fullv1 | docscodeOEM | @rickwierenga |
| Byonoy | Absorbance 96 Automate | absorbance | Fullv1 | docscodeOEM | @rickwierenga |
| Byonoy | Luminescence 96 | luminescence | Fullv1 | docscodeOEM | @rickwierenga |
| Byonoy | Luminescence 96 Automate | luminescence | Fullv1 | docscodeOEM | @rickwierenga |
| Cole Parmer | GenoGrinder | shakinggrinding | Mostlyv1 | docscodeOEM | @rickwierenga |
| Cole Parmer | Masterflex L/S* | pumping | Fullv1 | codeOEM | @rickwierenga |
| Curiox | HT2000 | plate washing | Mostlyv1 | docscodeOEM | @rickwierenga |
| Formulatrix | Mantis | dispensing | WIP | OEM | @rickwierenga |
| Hamilton | Heater Shaker | heatingshaking | Fullv0 | codeOEM | @rickwierenga |
| Hamilton | Heater/Cooler | heatingactive cooling | Fullv0 | OEM | @rickwierenga |
| Hamilton | HEPA Fan | air filtration | Fullv0 | @rickwierenga | |
| Hamilton | Nimbus | liquid handlingarm | Mostlyv0 | OEM | @rickwierenga |
| Hamilton | Prep | liquid handling | WIP | OEM | @rickwierenga |
| Hamilton | STAR | liquid handlingarm | Fullv0 | docscodeOEM | @camillomoschner |
| Hamilton | STARlet | liquid handlingarm | Fullv0 | docscodeOEM | @camillomoschner |
| Hamilton | Tilt Module | tilting | Fullv0 | OEM | @rickwierenga |
| Hamilton | Vantage | liquid handlingarm | Mostlyv0 | OEM | @rickwierenga |
| Hettich | ROTANTA 460 Robotic | centrifuging | WIP | OEM | @rickwierenga |
| Hettich | SBS 300 R | centrifugingactive cooling | WIP | OEM | @rickwierenga |
| HighRes Biosolutions | AmbiStore | storage | WIPv1 | docscodeOEM | @rickwierenga |
| HighRes Biosolutions | LidValet | delidding | Mostlyv1 | docscodeOEM | @rickwierenga |
| HighRes Biosolutions | MicroSpin | centrifuging | Mostlyv0 | codeOEM | @rickwierenga |
| HighRes Biosolutions | SteriStore | storageheatingactive cooling | Fullv1 | docscodeOEM | @rickwierenga |
| HighRes Biosolutions | TundraStore | storageactive cooling | WIPv1 | docscodeOEM | @rickwierenga |
| Inheco | CPAC | heatingactive cooling | Fullv1 | docscodeOEM | @rickwierenga |
| Inheco | Incubator Shaker (MTP/DWP) | storageheatingshaking | Mostlyv0 | docsOEM | @rickwierenga |
| Inheco | ODTC | thermocyclingheatingactive cooling | Mostlyv0 | docsOEM | @rickwierenga |
| Inheco | SCILA | storageheatingshaking | Mostlyv1 | docscodeOEM | @rickwierenga |
| Inheco | Thermoshake | heatingactive coolingshaking | Fullv1 | docscodeOEM | @rickwierenga |
| Inheco | Thermoshake AC* | heatingactive coolingshaking | WIPv1 | docscodeOEM | @rickwierenga |
| Inheco | Thermoshake RM* | heatingshaking | WIPv1 | docscodeOEM | @rickwierenga |
| KBioscience | KUBE | sealing | Mostlyv1 | docscodeOEM | @rickwierenga |
| KBiosystems | Ultraseal ePRO | sealing | Mostlyv1 | docscodeOEM | @rickwierenga |
| KBiosystems | Ultraseal PRO | sealing | Mostlyv1 | docscodeOEM | @rickwierenga |
| KBiosystems | Ultraseal XT PRO | sealing | Mostlyv1 | docscodeOEM | @rickwierenga |
| Keyence | Barcode Scanner | barcode reading | Fullv1 | codeOEM | @rickwierenga |
| Liconic | STX series | storageheatingactive cooling | Mostlyv0 | OEM | @rickwierenga |
| Mettler Toledo | WXS205SDU | weighing | Fullv1 | docscodeOEM | @rickwierenga |
| Micronic | RD235 | barcode reading | Fullv1 | docscodeOEM | |
| Molecular Devices | ImageXpress Micro | microscopy | WIP | OEM | @rickwierenga |
| Molecular Devices | ImageXpress Nano | microscopy | WIP | OEM | @rickwierenga |
| Molecular Devices | ImageXpress Pico | microscopy | Basicv1 | docscodeOEM | @rickwierenga |
| Molecular Devices | SpectraMax 384 Plus | absorbance | Fullv1 | docscodeOEM | @rickwierenga |
| Molecular Devices | SpectraMax Gemini EM | fluorescenceluminescence | Mostlyv0 | OEM | @rickwierenga |
| Molecular Devices | SpectraMax M5e | absorbancefluorescenceluminescencetime-resolved fluorescencefluorescence polarization | Fullv1 | docscodeOEM | @rickwierenga |
| Opentrons | Heater-Shaker Module | heatingshaking | Fullv0 | OEM | @rickwierenga |
| Opentrons | OT-2 | liquid handling | Mostlyv0 | codeOEM | @rickwierenga |
| Opentrons | Temperature Module | heatingactive cooling | Mostlyv0 | OEM | @rickwierenga |
| Opentrons | Thermocycler Module | thermocyclingheatingactive cooling | Fullv0 | OEM | @rickwierenga |
| PAA | KX2 | arm | Mostlyv0 | @rickwierenga | |
| QInstruments | BioShake 3000 | shaking | Fullv1 | docscodeOEM | @rickwierenga |
| QInstruments | BioShake 3000 elm | shaking | Fullv1 | docscodeOEM | @rickwierenga |
| QInstruments | BioShake 3000 elm DWP | shaking | Fullv1 | docscodeOEM | @rickwierenga |
| QInstruments | BioShake 3000-T | shakingheating | WIPv1 | docscodeOEM | @rickwierenga |
| QInstruments | BioShake 3000-T elm | shakingheating | WIPv1 | docscodeOEM | @rickwierenga |
| QInstruments | BioShake 5000 elm | shaking | WIPv1 | docscodeOEM | @rickwierenga |
| QInstruments | BioShake D30 elm | shaking | WIPv1 | docscodeOEM | @rickwierenga |
| QInstruments | BioShake D30-T elm | shakingheating | WIPv1 | docscodeOEM | @rickwierenga |
| QInstruments | BioShake Q1 | shakingheatingactive cooling | Fullv1 | docscodeOEM | @rickwierenga |
| QInstruments | BioShake Q2 | shakingheatingactive cooling | WIPv1 | docscodeOEM | @rickwierenga |
| QInstruments | ColdPlate | heatingactive cooling | WIPv1 | docscodeOEM | @rickwierenga |
| QInstruments | Heatplate | heating | WIPv1 | docscodeOEM | @rickwierenga |
| Sartorius | Entris II | weighing | Mostlyv1 | docscodeOEM | @rickwierenga |
| Tecan | EVO | liquid handlingarm | Basicv0 | OEM | @rickwierenga |
| Tecan | Infinite 200 PRO | absorbancefluorescenceluminescence | Mostlyv0 | OEM | @rickwierenga |
| Tecan | Spark 20M | absorbancefluorescence | Mostlyv0 | OEM | @rickwierenga |
| Thermo Fisher | ALPS 300 | sealing | Mostlyv1 | docscode | @rickwierenga |
| Thermo Fisher | ALPS 3000 | sealing | Mostlyv1 | docscode | @rickwierenga |
| Thermo Fisher | ALPS 5000 | sealing | Mostlyv1 | docscodeOEM | @rickwierenga |
| Thermo Fisher | ATC | thermocyclingheatingactive cooling | Fullv0 | OEM | @rickwierenga |
| Thermo Fisher | Cytomat 2 C425 | storageheatingactive cooling | Fullv0 | codeOEM | @rickwierenga |
| Thermo Fisher | Cytomat 2 C450 SHAKE | storageheatingshaking | Fullv0 | codeOEM | @rickwierenga |
| Thermo Fisher | Cytomat 2 C_50* | storageheating | WIPv0 | codeOEM | @rickwierenga |
| Thermo Fisher | Cytomat 5C | storageheating | Fullv0 | codeOEM | @rickwierenga |
| Thermo Fisher | Cytomat 6000 | storageheating | Fullv0 | codeOEM | @rickwierenga |
| Thermo Fisher | Cytomat 6002 | storageheating | Fullv0 | codeOEM | @rickwierenga |
| Thermo Fisher | Heraeus Cytomat* | storageheating | Fullv0 | code | @rickwierenga |
| Thermo Fisher | Multidrop Combi | dispensing | Mostlyv0 | OEM | @rickwierenga |
| Thermo Fisher | ProFlex | thermocyclingheatingactive cooling | Fullv0 | OEM | @rickwierenga |
| Thermo Fisher | QuantStudio 5 | qPCRthermocycling | WIP | OEM | @rickwierenga |
| UFACTORY | xArm 6 | arm | Basicv1 | docscodeOEM | @rickwierenga |
No devices match your search.
An asterisk after a device name marks a note about the models that entry covers; hover it to read the note.
Reading the table#
Classifying lab automation equipment is hard. Many machines have overlapping capabilities (the Thermo Fisher Cytomat 2 C470 is a fridge, heated chamber, oven, plate hotel and shaker in one), different user groups refer to the same machine by whichever capability they happen to use, naming sits somewhere between user intuition and historical legacy (a thermocycler is really just a fast heater/cooler), and there is no widely accepted standard.
PyLabRobot does not solve that. Type is the one label that names what a machine is, and capabilities are the core functions it provides — a machine typically has several. Both are filterable, so a machine you think of as a shaker is still findable by someone who thinks of it as a heater.
Support is how complete the PyLabRobot integration is:
WIP — work in progress.
Basic — core functionality is available, integrated into
pylabrobot:main.Mostly — most capabilities are available, but some known commands are still missing.
Full — comprehensive support (≥90% of capabilities), with documentation.
The v0/v1 marker next to the support level is the API generation a machine’s driver belongs to.
v0 drivers live under pylabrobot.legacy and are being migrated.
PyLabRobot aims to expose every hardware/firmware capability of integrated equipment, including capabilities the OEM software does not surface. That lets you choose which functions you need.
Adding or updating a machine#
The table is generated from docs/_static/devices.json. Adding a machine means adding one JSON
object — there is no table markup to keep in sync. See
The device registry for the schema, and for how to put a device card on a
machine’s own documentation page.