OpenLH: Open Liquid-Handling System for Creative Experimentation With Biology

8,664

62

21

Introduction: OpenLH: Open Liquid-Handling System for Creative Experimentation With Biology

About: We are a Human Computer Interaction lab at the School of Communication, in the Interdisciplinary Center Herzliya, Israel. We design, fabricate and evaluate technology, learning on how we interact with robot...

We are proud to be presenting this work at the International Conference on Tangible, Embedded and Embodied Interaction (TEI 2019). Tempe, Arizona, USA | March 17-20.

All assembly files and guides are available here.
Latest code version is available on GitHub

Building/built one? Write us at info@milab.idc.ac.il! We would love to know, support, and even feature your work on our website.

Why did we build this?

Liquid handling robots are robots that can move liquids with high accuracy allowing to conduct high throughput experiments such as large scale screenings, bioprinting and execution of different protocols in molecular microbiology without a human hand, most liquid handling platforms are limited to standard protocols.

The OpenLH is based on an open source robotic arm (uArm Swift Pro) and allows creative exploration. With the decrease in cost of accurate robotic arms we wanted to create a liquid handling robot that will be easy to assemble, made by available components, will be as accurate as gold standard and will cost just around 1000$. In addition the OpenLH is extendable, meaning more features can be added such as a camera for image analysis and real time decision making or setting the arm on a linear actuator for a wider range. In order to control the arm we made a simple blockly interface and a picture to print interface block for bioprinting images.

We wanted to build a tool that would be used by students, bioartists, biohackers and community biology labs around the world.

We hope more innovation can emerge using the OpenLH in low resource settings.

Step 1: Materials

Step 2: The OpenLH Has 3 Main Parts

1. The pipetting end effector.

2. A uArm Swift Pro base

3. A linear actuator operated syringe pump.

* uArm Swift Pro can also be used as a laser engraver, 3d Printer, and more as seen here

Step 3: How to Build the End Effector

1. Dismantle an old pipette and keep just the main shaft.

We used a CAPP ecopipette as it has an aluminum shaft and "O rings" making it air tight. (A-C)

Other pipettes could probably work.

2. 3D Print the parts using PLA and assemble (1-6)

Step 4: Making a Syringe Pump

1. Use a linear actuator Open Builds.

2. Connect 3d printed PLA adapters.

3. Insert a 1 ml syringe .

4. connect the syringe to the end effector with a flexible tube.

Step 5: Setting Up!

Secure all parts to a designated area of work

You can connect the uArm directly to your bench or in your biological hood.

Install python and blockly interfaces:

Python interface #### How to use the python interface? 0. Make sure to do `pip install -r requierments.txt` before starting 1. You can use the library inside pyuf, is our modification for the version 1.0 of the uArm library. 2. For examples you can see some scripts inside the **scripts** folder. #### How to use the printing example? 1. Take a **.png** of the example you would like to print. 2. Run `./convert.sh your_pic.png` and adapt respectevely the path in `test_print.py` to use `your_pic.png.coords` 3. Run `python test_print.py` with the robot connected

### Blockly interface 1. Make sure that you did `pip install -r requierments.txt` before starting. 2. Run `python app.py` this will open the web server that displays the blockly 3. In a different console run `python listener.py` which will be receiving the commands to send to the robot. 4. Now you can use the blockly from the link displayed after running `python app.py`

Step 6: Program Arm With Blockly

Serial dilutions are done by liquid handlers saving time and effort for their human operators.

Using a simple loop to move from different XYZ coordinates and handling liquids with the E variable a simple liquid handling experiment can be programmed and executed by the OpenLH.

Step 7: Print Microorganisms With Pic to Print Block

Using the bit to print block you can upload a picture and have the OpenLH print it.

Define starting point, tip location, bio-ink location and deposition point.

Step 8: Effective Liquid Handling

The OpenLH is surprisingly accurate and has an average error of 0.15 microliter.

Step 9: Some Future Thoughts

1. We hope many people use our tool and conduct experiments they couldn't do otherwise.

So If you do use our system please send your results to info@milab.idc.ac.il

2. We are adding an OpenMV camera for smart colony picking.

3. We are also exploring adding UV for cross linking of polymers.

4. We propose extending the reach with a slider as described by https://www.instructables.com/id/How-to-Combine-UA...

In addition the uArm is extendable by many other sensors that can be useful, if you have ideas let us know !

Hope you enjoyed our first instructable!

The media innovation lab (miLAB) team.

“I make mistakes growing up. I’m not perfect; I’m not a robot.”
— Justin Bieber

First Time Author

Participated in the
First Time Author

Be the First to Share

    Recommendations

    • Puzzles Speed Challenge

      Puzzles Speed Challenge
    • "Can't Touch This" Family Contest

      "Can't Touch This" Family Contest
    • CNC Contest 2020

      CNC Contest 2020

    21 Discussions

    0
    alxtrck
    alxtrck

    Question 5 weeks ago on Step 3

    does the pipette shaft need to be cut in any way when it's dismantled?

    0
    SurfaceAnalysis
    SurfaceAnalysis

    10 months ago

    Hi there, thanks for the awesome instucion. Right now we are building up the System. We are also wondering how you connected the NEMA 17 to the board. Could you explain how your wiring ist set up? Thanks!

    0
    AlionWar
    AlionWar

    Reply 10 months ago

    Hello, we did actually fixed our issues on the wiring stuff. So I'll explain how we did this. First of all we followed this website : https://lastminuteengineers.com/a4988-stepper-motor-driver-arduino-tutorial/
    For the powering of the NEMA 17 you need a 12V voltage. We used the extension at the top of the uArm but you can also use the controller(available on the uArm website) if you bought it. To power the driver you can use either the pin robot extension at the back of the robot or the controller if you bought it.
    Make sure to place a capacitor between Vmot and GND on the driver to avoid getting voltage spikes that may destroy the driver/motor. The heat dissipator is a plus. Also make sure to check the current limiter potentiometer to avoid current spikes !
    If you need more help feel free to contact me.

    0
    SurfaceAnalysis
    SurfaceAnalysis

    Reply 10 months ago

    Hi AlionWar, thank you for your fast response. We ordered the a4988 Shield. We also found the 12V powering on the top of the uArm. We will try the wiring like in the link you posted. We will use the 3DPrintingInterface Extansion on the back of the uArm to connect GND and Vmot. But we are still wondering how to connect the orange/purple wires on the picture of your link.

    0
    AlionWar
    AlionWar

    Reply 10 months ago

    Oh yes sorry my bad, I didn't mentioned those. These 2 wires are used to drive the motor. The DIR one is used to indicate the direction of rotation. The STEP one is used to run the motor. These 2 pins can be driven with digital output. So what you have to do is to connect each of this wire to a digital output either on the back of the robot or on the controller if you have it. Digital outputs are digital pins set to output in arduino. So you just have to found which pin on the robot are digital. Usually it's written D+number and then you have to program the arduino AtMega inside the robot with Arduino IDE to send 1 or 0 to the digital outputs when you need it.

    0
    SurfaceAnalysis
    SurfaceAnalysis

    Reply 10 months ago

    Hi AlionWar, we managed to connect the Nema17 to the Mega2560 of the uArm. But we were not able to use the Blockly/Python Software from the GoogleDrive posted in this instuctions. We were able to use either the Steppers of the Arm or the Stepper of the Actuator with the NEMA17. Did you manage to use both and write like a script to use the Arm and the external Stepper at the same time? Thanks for your help!

    0
    AlionWar
    AlionWar

    Reply 9 months ago

    Hi, we indeed successfully used both robot and stepper motor but we did not used them the same way, meaning that as I told you before we have the uArm controller which is a separate arduino AtMega 2560 card that we program to order the actuator's motor with arduino code and we use Python script to move the robot. I don't know if it's possible to use the robot's arduino AtMega to drive the actuator's motor but I guess there is a way to do it but we did not worked on that. Sorry about that ! Good luck for your research !

    0
    SurfaceAnalysis
    SurfaceAnalysis

    Reply 9 months ago

    HI AlionWar, we were able to conncet the external NEMA17+Shield with the uArm board. We are also able to control them with the same program. We had to use the older firmware 3.2 to change some pin connections. If you are interested i could send you a little more detailed instruction.

    0
    Badassbiologist
    Badassbiologist

    Reply 3 months ago

    Could you send me these instructions. Trying to interface stepper motor with uarm and control stepper from blockly.

    0
    Badassbiologist
    Badassbiologist

    Question 3 months ago on Step 5

    Can share a photo of how the linear actuator stepper motor connects to the uarm?

    0
    gypti
    gypti

    5 months ago

    Hey,
    People who build the openLH: what are your experiences? Does the robot work well? What are the limitations?

    0
    AlionWar
    AlionWar

    Tip 11 months ago

    Isn't the motor you used for your project a NEMA17? Because the uArm can only power up to 12V and the NEMA23 requires at least 24V and when I plug it in the uArm doesn't give any power at all and makes a weird sound (probably by trying to move the motor). Also the NEMA17 has got a white/translucide connector which the NEMA23 hasn't got, and we can barely see in the video you've got a white connector on your motor. It would be great if you could change that on your excel so that people doesn't make the mistake I did. Thanks!

    0
    miLAB IDC
    miLAB IDC

    Reply 11 months ago

    Hi AlionWar, thank you for your comment.
    The motor that we've used for this project is indeed, as you mentioned, NEMA 17 and not NEMA 23. We'll update the excel file soon.

    0
    AlionWar
    AlionWar

    Reply 11 months ago

    Hi, Thank you for the update ! I was just wondering, do you have any docs/specs on the wiring part because I don't get how you connected the driver motor using the robot powering without the uArm controller, because we need at least a A4988 to drive the motor.

    0
    PeaceOot
    PeaceOot

    1 year ago

    Isn't there already an air pump in the uArm? Can that be used for the suction needed to transport liquids?

    0
    cosmicaug
    cosmicaug

    1 year ago

    So what I want to know is where you got a price for this CAPP Ecopipette micropipetter of $65. That's below Dragonlab territory. Elsewhere I'm seeing these for a multiple of that price (and presumably they don't fall apart like Dragonlab does?).

    0
    BasileC
    BasileC

    1 year ago

    Awesome project ! Why not use a full pipette body and actuate the mechanism of the pipette using servos? You could then switch pipettes types easily or clean them.

    0
    cosmicaug
    cosmicaug

    Reply 1 year ago

    That's how Opentrons does it. I'm not convinced it's best and it feels like a kludge when seen in person. The way shown may be more flexible.

    0
    miLAB IDC
    miLAB IDC

    Reply 1 year ago

    Great question! The pneumatic mechanism is less prone to errors than an "electronic thumb" operating a standard pipette. In addition we wanted to make the system take up less space on the bench and so it can be fitted into incubators, hoods and other creative uses. (check Andrew the pipetting robot). On our setup we use tips with filters and the shaft, tube and syringe are easily replaceable in case of a contamination.

    0
    seamster
    seamster

    1 year ago

    This is really nice; well done!