DuckDuckGrow Board

An LED-matrix based solution for assisting with sample and solution allocation in large scale duckweed assays.

Elixir Nerves Tailwind
Type: Freelance Project
DuckDuckGrow Board cover image

While gathering requirements for the DuckDuckGrow-App, Tony and I discussed the practical side large-scale sample allocation. We both recognized that the task will require a high mental work load and reseachers would therefore be prone to introducing errors.

We came up with a solution in which an LED-matrix indicates where samples should be allocated. Moving from proof-of-concept to prototype the key requirements were an ergonoic and fast user experience. Beyond protype we focussed on maintaining user engagment with the task.

Client

Prof. Anthony Bishopp

The University of Nottingham

Goals

Reduce Mental Workload

Minimize Errors

Requirements

Usage Speed

Ergonomic Design

User Engagment

The Challenge:

Allocating solutions and genotypes at for high-thoughput assays is prolonged and monotonous task. Both factors combined increase the likelihood of mistakes in sample allocation. The key requirements were:

  1. Easy setup and data loading
  2. Rapid usage speed
  3. Increased user engagement
I contracted Lukas to develop a bespoke software-based solution for a BBSRC-funded project looking at a large genome x environment screen. As the project evolved, its scope expanded significantly and ultimately integrated novel hardware, in the form of an LED guided pipetting board. Throughout this process, Lukas was exceptional to work with. He has experience working as a PhD student in a bioscience lab, and this enabled him to bridge the technical side of this project with an understanding for how it would work in a lab environment. The final solution was the result of a highly effective collaboration that combined both mine and Lukas's vision, with Lukas driving all of the technical aspects. Communication was clear at all stages, and the project delivered in a timely manner. Overall, the experience was excellent, and I would highly recommend Lukas for scientific software projects.
Anthony Bishopp, Professor at Nottingham University.

The Solution:

In our first meeting we decided to develop a tool assiting the user with sample allocation that utilizes an LED-matrix. It was important that the tool would be ergonomic and and quick to use, without having to change the plates on the board too often. After some initial testing we setteled on one large pre-build LED-matrix that would hold six 12-well plates.

To integrate the board with the DuckDuckGrow-App, we decided that the user would:

  1. Download a .csv file for the current run from the app
  2. Tansfer the .csv file to a USB stick
  3. Plug the USB stick into the Raspberry Pi that drives the board

We preferred this approach over an IOT solution that would rely on the university WIFI. However, the board would require its own user interface, in form of a touch screen.

See DuckDuckGrow Dev-Log

The Result:

Using Elixir and Nerves I was able to deliver the Board in time. For a user interface I was able to provide a full screen browser on a touch screen attached to the board. The UI was powered by Phoenix running on the Raspberry Pi.

The board is simple to set-up as it gets all the information required form the file generated by the DuckDuckGrow-App. I deliberately kept the UI minimal with only three samples per page. On pressing a record the LED-matrix indicates the wells the sample has to be allocated to.

Initial testing has shown that in combination with a multi-load pippette, sample allocation is performed significantly faster. Users have reported that the board has turned a monotouous task into a an engaging experience.