reverse-engineering a nanoliter dispenser
- Integration
- Set up dispensing tasks, wash cycles, and plate formats for the lab's bio-deposition workflow.
- File format
- Identified the file structure, coordinate conventions, and per-point parameters needed to load jobs in the vendor software.
- Job generation
- Wrote Python scripts that convert grids, plate maps, and experiment tables into dispense-point files.
- Workflow
- Layouts are generated from input data and stored in version control, replacing manual edits for each design revision.
The Scienion A6 is a contactless piezoelectric dispenser that ejects nanoliter droplets. A built-in camera lets the operator monitor droplet ejection.
I integrated the machine into the lab’s bio-deposition workflow and wrote tools to prepare its dispense jobs.
Preparing dispense layouts
Each run specifies dispensing positions, volumes, and order. The vendor software required most of these points to be entered or edited manually.
The lab used grids, triplicates, and plate layouts that changed between experiments. Updating these through the point editor could take days, so I looked for a way to generate the files directly.
Reverse-engineering the file format
The A6 had no scripting interface suitable for this work, and its file format was undocumented. I worked out the format by comparing files saved from the vendor software.
I started with a simple layout, changed one setting, and compared the saved files to identify which fields had changed. I then edited those fields directly and loaded the file back into the software to check whether it accepted the file and displayed the expected layout.
Repeating this process established the coordinate conventions, per-point parameters, and other records needed to load a job.
Generating jobs with Python
I wrote Python scripts to generate dispense-point files from grids, plate maps, and experiment tables. When a layout changes, the scripts regenerate the file rather than requiring each point to be edited manually.
The layouts are stored in version control, where changes can be reviewed. The vendor software is still used to load jobs, run the dispenser, and monitor the drop camera.