| Literature DB >> 30775638 |
Jonathan A White1, Aaron M Streets1,2.
Abstract
Microfluidic devices with integrated valves provide precise, programmable fluid handling platforms for high-throughput biological or chemical assays. However, setting up the infrastructure to control such platforms often requires specific engineering expertise or expensive commercial solutions. To address these obstacles, we present a Kit for Arduino-based Transistor Array Actuation (KATARA), an open-source and low-cost Arduino-based controller that can drive 70 solenoid valves to pneumatically actuate integrated microfluidic valves. We include a python package with a GUI to control the KATARA from a personal computer. No programming experience is required.Entities:
Keywords: Arduino shield; Microfluidics; Multi-layer soft lithography; Open source hardware; Python; Solenoid valve
Year: 2017 PMID: 30775638 PMCID: PMC6373447 DOI: 10.1016/j.ohx.2017.10.002
Source DB: PubMed Journal: HardwareX ISSN: 2468-0672
Fig. 1Cartoons and photographs of an integrated microfluidic valve in the open (A, B) and closed (C, D) position.
Fig. 2Photograph of the top (A) and bottom (B) side of an assembled KATARA shield. The top side of the KATARA shield has stackable headers, a power supply jack, and terminal blocks to attach solenoid valves. The bottom side has amplifying circuitry and the stackable header pins that plug into an Arduino Mega.
Fig. 3A screenshot of the KATARA GUI which has interfaces to actuate each individual valve; control peristaltic pumps; create, edit, run and save protocols; and load saved protocols as user defined buttons.
Fig. 4An electrical schematic of the whole KATARA shield (A) and of a single amplifying circuit on the KATARA shield (B).
Fig. 5Demonstration of how to join terminals with interlocking sides.
Fig. 6A KATARA shield plugged into an Arduino Mega (side view).
Fig. 7The KATARA shield inside a protective box. Holes give access to the power jack, USB port, and terminal screws on one side (A), and a slit provides an entryway for solenoid valve wires on the other side (B).
Fig. 8Solenoid valve lead wires are clamped into place by tightening the screws on the terminal blocks.
Fig. 9The electrical response of Pneumadyne S10MM-31-24-2 solenoid valves when the KATARA shield switches them off (at time zero) takes less than three milliseconds.
Fig. 10The electrical response when switching off fourteen Pneumadyne S10MM-31-24-2 solenoid valves before (blue) and after (red) running them continuously for a week.
| File | Description |
|---|---|
| KATARA_Shield_EASYEDA_Footprint.json | A source file for the KATARA shield footprint that is editable in EASYEDA |
| KATARA_Shield_EASYEDA_schematic_source.json | A source file for the KATARA shield schematic that is editable in EASYEDA |
| KATARA_Shield_Gerbers.zip | The gerber files for manufacturing the KATARA shield |
| Centroid_File.csv | The centroid file gives the locations of each component on the KATARA shield for assembly by pick and place machine |
| KATARA_Box_Power_USB_side.dwg | Autocad drawing of the KATARA containment box showing where to cut power jack, USB port, and terminal access holes |
| KATARA_Box_Power_USB_side.pdf | PDF drawing of the KATARA containment box showing where to cut power jack, USB port, and terminal access holes |
| KATARA_Box_terminal_side.dwg | Autocad drawing of the KATARA containment box showing where to cut a slit for solenoid valve wires |
| KATARA_Box_terminal_side.pdf | PDF drawing of the KATARA containment box showing where to cut a slit for solenoid valve wires |
| main.py | Main script to run the KATARA GUI |
| USB_GUI.py | Contains the base class for graphical user interfaces that connect to USB devices |
| KATARA_GUI.py | Contains classes for running the KATARA GUI and pump interfaces |
| Protocol_Tools.py | Contains classes for implementing protocol interfaces in the GUI |
| Step.py | Contains the base class for protocol steps |
| StepDerivatives.py | Contains derived step classes for pausing, pumping and actuating valves |
| no_wait_Dialog.py | Contains modified version of the Tkinter dialog window class that does not pause the running thread |
| LabelEntry.py | Contains a class for drawing and referencing labeled text entry bars |
| KATARA.ico | The KATARA icon |
| ValveController.py | Contains ValveController and peristalticPump classes
(described in |
| KATARAValveController.py | Contains the KATARAValveController and KATARAPump
classes for sending serial signals to Arduinos running the KATARA firmware. These
classes are the programming interface and are used internally in the GUI (see |
| Config.py | Contains variables that GUI related classes in different files share |
| KATARA_Firmware.ino | The Arduino program that interprets and executes serial commands sent from the KATARAValveController and KATARAPump classes |
| Designator | Component | Number | Cost Per Unit | Total Cost | Supplier | Manufacturer Part Numb | Material type |
|---|---|---|---|---|---|---|---|
| Q1-Q10 | Bipolar (BJT) Transistor Array 7 NPN Darlington 50 V 500 mA Surface Mount 16-SOIC | 10 | $0.45 | $4.51 | Digikey | MC1413BDG | Semiconductor |
| D1-D10 | Zener Diode 22 V 1 W ± 5% Surface Mount SMA | 10 | $0.38 | $3.84 | Digikey | SMAZ22-13-F | Semiconductor |
| P1 | Conn PWR Jack 2.5 × 5.5 MM Solder | 1 | $0.64 | $0.64 | Digikey | PJ-102B | Metal/Polymer |
| MP1-MP7 | CONN TERM BLOCK 45DEG 10PS 3.5 MM | 14 | $1.99 | $27.86 | Digikey | 1989036 | Metal/Polymer |
| R1 | RES SMD 10 K OHM 5% 1/16 W 0402 | 1 | $0.10 | $0.10 | Digikey | RC0402JR-0710KL | Composite |
| C1 | CAP ALUM 1000UF 20% 35 V RADIAL | 1 | $1.15 | $1.15 | Digikey | EEU-FC1V102S | Metal |
| U29 | Arduino MEGA Stackable Header Kit | 1 | $1.50 | $1.50 | Itead | IM120531023 | Metal/Polymer |
| AC/DC DESKTOP ADAPTER 24 V 120 W | 1 | $96.88 | $96.88 | Digikey | PSA120U-240L6 | Metal/Polymer/Semiconductor | |
| Arduino Mega 2560 Rev3 | 1 | $45.95 | $45.95 | Arduino | A000067 | Semiconductor | |
| Printed Circuit Boards | 5 | $4.98 | $24.90 | EasyEda |
| Metal/Polymer | |
| Solder Stencil | 1 | $13.00 | $13.00 | EasyEda |
| Metal | |
| Solder Paste | 1 | $15.95 | $15.95 | Digikey | SMD291SNL | Metal | |
| BOX ABS BLACK 7.61“L X 4.61”W | 1 | $11.70 | $11.70 | Digikey | CU-3284 | Polymer | |
| 1/2 inch Spacers | 10 | $0.17 | $1.66 | Grainger | 13SP057 | Polymer | |
| M2.5 20 mm screws | 100 | $0.07 | $6.65 | Grainger | M51340.025.0020 | Metal |
Components with reference designators should be included in the bill of materials submitted to PCB assemblers.
These items are necessary for do-it-yourself assembly, but they will be included as part of commercial assembly services.
| Component | Number | Cost Per unit | Total Cost | Manufacturer | Part number | Material type |
|---|---|---|---|---|---|---|
| Pneumadyne 24 V solenoid valve | 1–70 | $25.18 | $25.18–$1762.60 | Pneumadyne | S10MM-31-24-2 | Metal/Polymer |
| Pneumadyne Manifold | 1–7 | $28.09 | $28.09–$196.63 | Pneumadyne | MSV10-10 | Metal |
| Nitra 24 V solenoid valve | 1–70 | $18.50 | $18.50–$1295 | Nitra Pneumatics | AVP-31 | Metal/Polymer |
| Nitra Valve Stacking kit | 0–69 | $1.75 | $0–$120.75 | Nitra Pneumatics | AVP-31 KIT | Metal/Polymer |