Repository for building and operating REVOLVER: An automatic protein purification system for gravity columns. Developed at the University of Toronto.

Overview

REVOLVER: An automated protein purification system

This repository contains all the hardware and firmware files to build and operate REVOLVER: an automated protein purifier based on paralleled large-scale gravity-column workflows. We also present MULTIVOLVER, a multiplexed version of REVOLVER that allows for simultaneous purification of up to six samples at a time.

REVOLVER was developed by Patrick Diep and Jose L. Cadavid at the University of Toronto. A full and detailed description of our system can be found in this preprint.

Contents of repository

This repository contains all files necessary to print, build, and operate REVOLVER. It is divided in three main sections:

Electronics

This folder contains the schematics for wiring the components of REVOLVER to an Arduino Nano board. This schematic was used to create a custom PCB using EasyEDA that was then ordered through JLCPCB. The PCB file is included as a Gerber file that can be used to directly order a copy of the PCB (two PCBs fit a 10x10 cm panel). We additionally include a.json version of the PCB that can be opened with EasyEDA.

The raw PCB project can be accessed through OSHWLab. If you would like to make your own PCB, please clone the project first and proceed with your improvements. Our current PCB corresponds to V2 in the project page.

Firmware

This folder contains the Arduino firmware for configuring REVOLVER in single mode (single_sampler) or in MULTI-VOLVER mode (distributor_device and revolver_device). To upload (flash) the firmware to an Arduino board, you'll need a recent version of the Arduino IDE that can be found here. You can follow this tutorial on how to upload the firmware.

REVOLVER uses code and libraries written by other users and we would like to acknowledge them here:

  • Serial communication and parser: This routine is based on this excellent tutorial by user Robin2 on the Arduino forums.

  • I2C bus scanner: This function is based on this code.

Additionally, our code relies on these libraries:

  • Stepper: For controlling stepper motors.
  • Servo: For controlling servos.
  • Wire: For handling I2C communication.

Please verify that your Arduino IDE has access to these libraries before uploading the firmware to the Arduino boards. You can follow this tutorial for more information on how to do so. Detailed instructions on operating REVOLVER can be found in our manuscript.

Hardware

This folder contains the STL files for all the 3D-printed parts required for REVOLVER and MULTI-VOLVER. These parts can be printed with no supports using any FDM printer with a size similar to that of an Ender 3; we've printed all our parts in PLA. We also included the f3d files that can be edited using Fusion 360 in case you'd like to customize the system even more. The bill of materials (BOM) is also included as a spreadsheet with some useful links to purchase parts.

Building and using REVOLVER

The instructions for setting up and using REVOLVER are given in more detail in our manuscript (link coming soon). REVOLVER is controlled via serial commands, so any computer with a working USB connector and an installation of the Arduino IDE is required.

If you experience any issues when using our system, or otherwise have other suggestions, please create and issue and we are happy to help as soon as we can. Note that our manuscript includes a guide to troubleshooting common problems, so please check it out before posting.

You might also like...
Automatic plant growing and monitoring system using Arduino

Plant Automatic Growing and Monitoring System Roadmap Read sensors Ambient Temperature Ambient Moisture Ambient Light Soil Moisture LCD with custom ch

Operating system project - implementing scheduling algorithms and some system calls for XV6 OS

About XV6 xv6 is a modern reimplementation of Sixth Edition Unix in ANSI C for multiprocessor x86 and RISC-V systems.

Libnaomi - Toolchain and system library enabling hobby/homebrew software to be developed for the Sega Naomi platform.

Naomi Toolchain & Libraries A minimal Naomi homebrew environment, very loosely based off of KallistiOS toolchain work but bare metal and implemented f

MyOwnBricks - A library for building your own sensors and devices compatible with the modern LEGO PoweredUp system.
MyOwnBricks - A library for building your own sensors and devices compatible with the modern LEGO PoweredUp system.

English version (See at the end for the French version) MyOwnBricks MyOwnBricks is a library for building your own sensors and devices compatible with

A repository for experimenting with elf loading and in-place patching of android native libraries on non-android operating systems.

droidports: A repository for experimenting with elf loading and in-place patching of android native libraries on non-android operating systems. Discla

Examples for the "Introduction to programming" course given by me and @bzareva @ Faculty of Mathematics and Informatics, Sofia University (2021/22)

Теми от практикумите по "Увод в програмирането", зимен семестър 2021/2022, спец. "Информатика", група 5 Тема 1 (04.10.2021) : Променливи. Типове проме

A visualization solution for curriculum and course relationships of Hongkong University of Science and Technology(HKUST)
A visualization solution for curriculum and course relationships of Hongkong University of Science and Technology(HKUST)

Curriculum Map A visualization solution for curriculum and course relationships of Hongkong University of Science and Technology(HKUST) Notice: Qt v6.

RoboMaster2021 Infantry Vision OpenSource Code of Foshan University
RoboMaster2021 Infantry Vision OpenSource Code of Foshan University

佛山科学技术学院醒狮战队2021赛季步兵视觉开源 致谢 首先感谢各高校开源代码为本套代码提供的参考,以及感谢2018、2019、2020赛季算法组师兄们的努力。秉承着开源精神,促进各战队间技术交流提升,我队决定本赛季开源本套代码,希望对其他战队提供一定的参考价值。 说明 本套代码是佛山科学技术学院醒

Final version of my dissertation project at the University of Birmingham as part of MSc. Computer Science degree.
Final version of my dissertation project at the University of Birmingham as part of MSc. Computer Science degree.

Unfair Edge: A Low-Level Manipulation of Game Memory with Bypassing VAC This repository hosts the code submitted as a dissertation project for MSc. Co

Releases(v1.0.1)
  • v1.0.1(Feb 21, 2022)

    Slightly updated version that includes more error messages to monitor the process. Also included a link to the preprint of the article in the README file.

    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Dec 11, 2021)

    v1.0.0

    Initial working release of REVOLVER: protein purification system. Links to the relevant publications will be added to the README file once manuscript is published.

    REVOLVER was developed by @CadavidJoseL and @patrickdiep at the University of Toronto in Canada.

    Source code(tar.gz)
    Source code(zip)
Owner
Laboratory for Metabolic Systems Engineering
Laboratory for Metabolic Systems Engineering
A collection of tools for Multiple Alignments of DNA, RNA, Protein Sequence

T-Coffee T-Coffee is a collection of tools for Computing, Evaluating and Manipulating Multiple Alignments of DNA, RNA, Protein Sequences and Structure

Notredame Lab 72 Nov 15, 2022
Harsh Badwaik 1 Dec 19, 2021
Windows 10 interface adjustment tool supports automatic switching of light and dark modes, automatic switching of themes and transparent setting of taskbar

win10_tools Windows 10 interface adjustment tool supports automatic switching of light and dark modes, automatic switching of themes and transparent s

Simon 1 Dec 3, 2021
Doom port for InfOS - the University of Edinburgh Informatics research operating system used in the UG3 OS course

Doom on InfOS InfOS is the Informatics research operating system, designed specifically for the UG3 Operating Systems course. This project aims to por

Cheng Kai 14 Aug 20, 2022
KePOS is a 64-bit operating system. Design and implement your own operating system

KePOS is a 64-bit operating system. The purpose of this system is to combine the theoretical knowledge and practice of the operating system, and to deepen the understanding of the operating system.

null 65 Nov 9, 2022
TencentOS tiny is a real-time operating system developed by Tencent for the Internet of Things

TencentOS tiny is a real-time operating system developed by Tencent for the Internet of Things. It features low power consumption, low resource consumption, modularity, security and reliability, and can effectively improve the development efficiency of IoT terminal products.

OpenAtomFoundation 5.7k Nov 19, 2022
This is official repository of the course Industrial Informatics LT, Year 2021/22, at University of Modena and Reggio Emilia, held at Fondazione Universitaria di Mantova

Industrial informatics LT - Mantova - 2021/22 This is official repository of the course Industrial Informatics LT, Year 2020/21, at University of Mode

High-Performance Real-Time Lab 4 Jun 27, 2022
Southwest University Lanqiao Cup Training Repository, April 2021

2021 Southwest University Lanqiao Cup Trainning Course Summary This repository is using for LanqiaoCup Competition on 18th, April, 2021 How to start W

西南大学ACM实验室 9 Apr 15, 2021
This repository is used for automatic calibration between high resolution LiDAR and camera in targetless scenes.

livox_camera_calib livox_camera_calib is a robust, high accuracy extrinsic calibration tool between high resolution LiDAR (e.g. Livox) and camera in t

HKU-Mars-Lab 470 Nov 26, 2022
Hobbyist Operating System targeting x86_64 systems. Includes userspace, Virtual File System, An InitFS (tarfs), Lua port, easy porting, a decent LibC and LibM, and a shell that supports: piping, file redirection, and more.

SynnixOS Epic Hobby OS targeting x86_64 CPUs, it includes some hacked together functionality for most essential OSs although, with interactivity via Q

RaidTheWeb 42 Oct 28, 2022