Inspiration
We are interested in expanding the capabilities of current open-source laboratory automation hardware/software through the engineering and hacking of liquid-handling robots. However, these robots can cost tens-of-thousands to hundreds-of-thousands of dollars, putting them well beyond what is affordable for many public research labs, schools, and resource-limited medical/scientific centers across the world. For this reason, we’ve long been inspired by the OT.One, a $3000, open-source, liquid handling robot made by a startup called OpenTrons. Beyond reducing the physical strain and time consumed by repetitive pipetting, technologies like this can be used to lower entry barriers to science and engineering through widespread access to and abstraction of programmed laboratory procedures on relatively low-cost, open-source equipment. Currently, there are 120+ Opentrons robots being used in labs across the world, but the amount of people actually building tools and programs for the robot is small, and its many flaws make it difficult to use. We, RoboTeam, are interested in developing, hacking, and improving Opentrons' popular liquid-handling robot, the OT.One. After our own experiences trying to use this robot, we’ve come to realize that the OT.One’s capabilities are severely restricted by the manual pipettes that it uses - for example, every time you want to change the volume being pipetted, you have to take the pipette out and adjust the volume manually. Its volume settings cannot be changed during protocols, nor can it perform many of the functions a human user would be able to carry out by hand. Being setup to control a manual pipette made for human hands, its controls are finicky, requiring frequent adjustment and recalibration. These problems all result in inaccuracy and imprecision that can trouble any laboratory procedures performed on the robot. You can see how this defeats the purpose of having a robot in the first place.
That’s where we come in. (Keep reading.)
What it does
RoboBench will change the way laboratory science is done -- for everyone. How will it do this? -- By integrating a fully automated, programmable, electronic pipette with the affordable, open-source liquid-handling robot known as the OT.One. We will henceforth refer to our hacked robot as the RoboBench. RoboBench is a fully automated liquid handling robot designed to carry out laboratory research protocols that demand both precision and repetition. With our electronic pipette mod, RoboBench can be programmed to do the stuff that's tedious, repetitive, and easy to mess up, all without tedious calibration or innaccuracy. You put your samples down in the machine, start it up, and walk away, leaving you way more time to focus on your research instead of sitting at the bench, pipetting for hours. With intuitive controls integrated through Python and the OpenTrons API, our mod allows for precise volume control notoriously absent from the stock OT.One robot. With RoboBench, you can change volume settings at any point in a laboratory procedure and be sure that it automatically resets to a calibrated, user-defined volume upon completion. In addition, aspiration speed can be calibrated and varied automatically within procedures. With this control comes the ability to use a new “repeater” mode that tells the pipette to aspirate a large volume of liquid and dispense it proportionately to multiple samples without stopping to refill. The pipette can even perform a dilution function where it automatically dilutes a sample to a user-defined ratio without complex programming or time-wasting movement. Our RoboBench can be used with any existing OpenTrons protocol, and the hardware can be seamlessly integrated with any existing model of OpenTrons liquid-handlers.This not only improves sterility, accuracy, and control for all users, but also allows for access to pre-programmed, precise laboratory procedures in resource-poor medical/scientific research facilities across the world.
How we built it
We took a Opentrons OT-One robot and completely revamped its liquid handling capabilities. We replaced the original manual pipette with an electronic pipette (model: Finnpipette), then removed its face and hacked its button pads so that they could be controlled by relays on an Arduino. We also replaced its dead batteries (came with the used lab gear we bought online) with our own relay-controlled power source. We wrote Arduino code enabling the activation of each button through keyboard actions sent from the computer through a serial port. We designed and 3D printed new rail handles to mount or modified pipette to the robot, made our own cables that fit within the existing OT.One robot, and fit our Arduino and relays in the existing control box of the robot. We used Arduino in conjunction with more robust scripts in Python and the OpenTrons API to enable complete computer control of the pipette alongside xyz control of the robot.
Challenges we ran into
*Soldering - there was a lot of delicate circuitry inside the pipette that we had to work around. (We actually had to solder multiple times as the delicate connections between the wires and circuitboard either broke or were connected improperly. Once we got the connections to work, we just epoxied everything so it would stay in place xD) *Getting the pipette to turn on - we removed the battery, intending to supply power from the Arduino. However, the Arduino couldn’t send enough current, so we ended up hooking the pipette to a power supply and put together a mosfet switch for the on/off toggle (this took like 2 hours!!). *Getting the Arduino to work with the pipette was also tricky due to no significant experience with Arduino and circuits *Once we got the Arduino to work, we needed to figure out how to integrate it with the preexisting OpenTrons app, which is written in Python - a language we’re not familiar in *Incrementing the volume for the pipette. Normally, you would press the buttons to increase or decrease the volume, however, the longer you press, the faster it increases/decreases. As a result, we didn’t have an easy way to efficiently set the volume. However, we found a workaround (see next section)! *The motor jammed at the very end :/
Accomplishments that we're proud of
*Being able to control the pipette through a laptop (ie. instead of pressing a physical button on the pipette to do something, we can now write a line of code to do the same thing) *Solved the incrementing/decrementing volume problem for the pipette! We wrote a script that allowed you to input how long (in milliseconds) to increase/decrease volume. Then we collectded data on change in volume vs time and fit a quadratic equation to the data, which we used in our code to set the amount of time to press the button given a volume. *Reverse engineered pipette rail mount to fit our electronic pipette (the original rail mounts that came with the OT.One did not fit our electronic pipette and weren’t even stable on the original pipettes) *Making something usable and repeatable by the entire OpenTrons community *Solved a pressing need that the OpenTrons community has been trying to solve from their inception (precise, programmable, automated, electronic pipetting)
What we learned
*Learned how to use/program arduinos, including how to make a .NET C# application to send information to the Arduino *Gained experience in 3 languages/platforms: C#, Arduino, Python, OpenTrons API *How to use Python to send/receive data from the Arduino *How to integrate all of our scripts into the OpenTrons Python app *How to use Fusion 360 for designing 3d-printed parts *Picked up a lot of ee skills including: soldering, building circuits, reading circuit diagrams *Wiring everything together: the pipette, power supply, OpenTrons robot, arduino, circuits
What's next for RoboBench
Our most immediate step will be to upload all of our code and hardware files to the OpenTrons GitHub, along with a step-by-step procedure for hacking any electronic pipette to be added to a liquid-handler. Although adding the electronic pipette is already a major improvement from the original robot, with Amazon Alexa integration and wifi capability, the RoboBench will become a truly indispensable member of any lab. Alexa integration and wifi capability will add to the flexibility of the robot as well as streamline the process of using RoboBench.
All things being said and done, this was a challenging, but extremely satisfying build!
Built With
- 3d-printing
- arduino
- autodesk-fusion-360
- blood
- c#
- finnpipette
- opentrons-api
- opentrons-ot-one
- python
- sweat
- tears
- visual-studio
Log in or sign up for Devpost to join the conversation.