Software engineering, 3-D printing, instrumentation design and documentation

Convert 3-D printers into laboratory automation equipment

scheduling software that converts 3-D printers into laboratory automation equipment
The LabBot scheduler system works with RepRap 3D printing common firmware (ie., Smoothieware, Marlin, ReprapFirmware) which is based on industry-standard computer numeric control (CNC) programming language called Gcode. This makes it possible to configure the scheduler with many types of low-cost RepRap open-source motion controllers which are widely available (ie., Smoothieboard, Duet, Azteeg X5 mini, MKS MBASE, RAMPS). The source code is available on github:
Overview of the scheduling software that converts 3-D printers into laboratory automation equipment
Related Products/Services
Line items: The LabAutoBox software has 3 different modes of operation Examples:


      The interactive mode is where you can manually control the various different lab automation functions. This user interface is always present on the left side of the LabAutoBox system software when the software establishes a connection with the robotic system. The connection is established via the serial interface using a python MQTT subscriber script.

      The image shows what the interface looks like. To demonstrate features showing color coded are the different functions.

Starting scheduler (green) that establish device connections and providing access to Interactive mode
scheduling software interactive with device components 3-printer view


      In order to make it possible to develop laboratory automation workflows described is a tool for building and editing programs. There are 3 different design modes that are selectable: Objects, Build Macro, Edit/Run Macro

      Designing laboratory automation programs involve defining and adjusting object physical parameters that are positioned on the robotic deck. The physical parameters define the XYZ positioning of the 3D printer/liquid handler/CNC robotic system. Building macros can involve both compiling individual commands or integrating other macro lists. The software allows you to test that the macros are working properly and to make adjustments when needed and there is a logger display interface that allows you to monitor the progress of the application. If a problem is observed you can abruptly stop the run.

      The LabBot Robotic Schedular tool allows you to define objects that serve as reference points or XYZ positioning. At the top of the tool is a list of already defined objects (denoted by blue) and at the bottom (denoted by red) is where you can adjust the physical properties. Upon saving the target settings (“Save Target Settings”), the location of the object is shown on the graphical display of the robotic deck.

      Normally you can give an object an arbitrary name, with the exception of the “wash station” and the “drypad”. These two objects involve special macros (relating to wash and dry macros).

Upon saving the object properties, the new data is stored as a temporary session variable (that lasts as long as the browser stays open indefinitely). For long-term storage into a file, then you need to select the “Save objects” button which will save the data into a JSON file. There is a tool available for selecting, downloading, and uploading JSON object files that is accessible by clicking the “Manage object files” button.
The software contains a filemanager that stores object profiles. This makes it possible to store templates. This tool makes its possible to save, select, upload and delete files.

The robotic deck display is designed to work with different-sized robotic systems like small 3D printers or larger liquid handling workstations. At the top of the deck display, there is a tool for adjusting the width and height. The location of the objects is relative to the zero position being at the bottom left corner of the instrument this is where the instrument should be homed to.
laboratory graphical user interface for designing programs
Build Macro
laboratory graphical user interface macro building tool

This tool is used to craft macros segments. Here referencing the color codes are the different types of macros that can be developed: After selecting a macro segment and entering the data, the macro can be inserted into the macro assembler. Using the macro assembler tool, macros can be selected and saved or deleted. If saved you can see the full LabAutoBox macro syntax in the Edit/Run view.

Edit/Run Macro
edit run and save laboratory automation macros
The ‘Build Macro’ tool is useful for crafting macros but they need to be tested and this is done in this view. Since there can be some syntax to some of these macros. The macros listed in the ‘Macro assembler’ box at the bottom of the ‘Build Macro’ view are abbreviated and so the full syntax is shown in this ‘Edit/Run Macro’