| Literature DB >> 35607658 |
Florian Kehl1,2,3,4, Vlad F Cretu1, Peter A Willis1.
Abstract
Here we describe a completely integrated and customizable microfluidic control and sensing architecture that can be readily implemented for laboratory or portable chemical or biological control and sensing applications. The compact platform enables control of 32 solenoid valves, a multitude of pumps and motors, a thermo-electric controller, a pressure controller, and a high voltage power supply. It also features two temperature probe interfaces, one relative humidity and ambient temperature sensor, two pressure sensors, and interfaces to an electrical conductivity sensor, flow sensor, and a bubble detector. The platform can be controlled via an onboard microcontroller and requires no proprietary software.Entities:
Keywords: Capillary electrophoresis; Chemical analysis; Fluidic sensing; Lab automation; Microfluidic sample handling; Valve controller
Year: 2021 PMID: 35607658 PMCID: PMC9123481 DOI: 10.1016/j.ohx.2021.e00229
Source DB: PubMed Journal: HardwareX ISSN: 2468-0672
Fig. 1Photograph and summarized capabilities of the assembled MCSP printed circuit board.
Fig. 2Pin layout of the Teensy 3.5 microcontroller, together with 3.3–5 V level shifters for I2C and digital I/Os.
Fig. 3External 12 V power is supplied through J1 or alternatively the EXT_PWR pin header. Two voltage regulators convert the input voltage to + 5 V and −5 V (VR1), and 3.3 V (VR2). The overall consumed current (and hence power) can be measured with U1.
Fig. 4Two of 16 load switches. Load Switch 1 (LS1) can either be supplied with 12 V (VIN) or 5 V, selected by solder jumper JP1. LS1 is a PWM-capable port, as indicated by the asterisk. LS13 can supply either 12 V or 3.3 V, again defined by JP13, and is not a PWM output.
Logic table for DRV8844 ½ H-bridge driver.
| LOW | LOW | Floating |
| HIGH | LOW | Floating |
| LOW | HIGH | −5 VDC |
| HIGH | HIGH | +5 VDC |
Fig. 5Schematics of the latching valve circuit. A port expander (U8) controls four quadruple ½-H bridges (U81 – U84). Depending on the input and the enable state, the output of the bridges (J3) can be toggled between −5 V, OFF, and +5 V.
Fig. 16Oscillograph of two latching valve pulses to + 5 V and two to −5 V, each 100 ms long and 1 s in between.
Fig. 6The board is equipped with two analog pressure sensors (PS1, PS2), and an interface to control an external, electronic pressure regulator via J2. The control voltage (SET_PC_5V, Pin 3 on J2) is provided by a digital-to-analog converter (U4), and the internal feedback pressure (READ_PC_IN, Pin2 on J2) can be read by the microcontroller's internal analog-to-digital converter via a voltage divider.
Fig. 7The bubble detector is connected to BD1. Depending on the fluid and tubing, the detection threshold needs to be adjusted by the potentiometer (TRIM).
Fig. 8High voltage interface J_HV with the following pin assignments: 1: GND, 2: 12 V power, 3: Over-temperature flag, 4: HV current monitor, 5: Enable line, 6: HV voltage monitor, 7: analog GND, 8: Set HV max. current, 9: Set HV voltage. The VSET and ISET are upscaled to 4.675 V by a 2-channel operation amplifier (U5) to cover the full range of the HVPS. An onboard LED (HV_EN) indicates whether the HVPS is enabled or disabled. Alternatively, an external LED can be connected to HV_LED.
Fig. 9A Peltier element can be connected to TEC1 and controlled by U3. The temperature is monitored with a thermistor connected to THERM1. The TEC status is indicated by an LED (TEC_STS). An additional thermistor can be connected to THERM2 to independently measure an additional temperature. Ambient temperature and relative humidity are measured by U6.
Fig. 10Electrochemical sensors can be connected to the SMA connector X1, while peripheral, additional I2C compatible sensors or controllers can be connected to J33 or J50, depending on their respective voltage rating.
Fig. 11CAD top view of assembled board (left), together with map of the board, highlighting the different hardware elements. EC: Electrochemical Sensor, LV: Latching Valves, HV: HV: High-Voltage Interface, LS: Load Switches, uC: Microcontroller, I2C: I2C Interfaces, VR: Voltage Regulators, TEC: Thermoelectric Controller, PC: Pressure Controller Interface, BD: Bubble Detector Interface, PS: Pressure Sensors.
Fig. 123D-printed enclosure for the board, consisting of a bottom part and a lid.
Fig. 13Bottom side of a Teensy 3.5. For nominal operation with the presented board, the indicated trace needs to be cut.
Fig. 14Close solder bridges to select load switch voltage on the back of the board. Here, for example, JP12 is connected to right pad (VIN), and hence 12 VDC would be applied to LS12. For JP13, the central pad is connected to the left pad, therefore 3.3 VDC would be applied to LS13.
Fig. 15Oscillograph of a spike & hold actuation of a load switch across a 250 Ω resistor. The spike duration was 16 ms at 12 VDC, before switching to a 50% duty-cycle.
Fig. 17Left: Set pressure (in V) versus measured pressure (in psi) for a 15-psi Model 415 controller. Right: low range measurement with a 50-psi model 415 controller.
Fig. 18Set voltage (both in V and bit) vs. measured HV output (in V, black squares, left axis), and versus measured current monitor output (in V, red triangles, right axis). The current monitor output voltage can be calibrated using a resistor and Ohms-Law to express the current in uA (blue line, far-right axis).
| Subject Area | Chemistry and Biochemistry |
| Hardware Type | Biological Sample Handling and Preparation |
| Open Source License | Elsevier User License |
| Cost of Hardware | |
| Source File Repository |
| MCSP PCB V1.0.sch | Schematics | Elsevier User License | |
| MCSP PCB V1.0.brd | Layout | Elsevier User License | |
| MCSP PCB Libraries V1.0.zip | Library | Elsevier User License | |
| MCSP_Firmware_V1.0.zip | Firmware | Elsevier User License | |
| MCSP PCBA Parasolid.x_t | CAD | Elsevier User License | |
| MCSP Enclosure Box.stl | CAD, 3D-printing | Elsevier User License | |
| MCSP Enclosure Lid.stl | CAD, 3D-printing | Elsevier User License |
| MCSP PCB V1.0.sch | Autodesk Eagle schematic file. The PCB schematic can be viewed and edited if desired. |
| MCSP PCB V1.0.brd | Autodesk Eagle board file. Needed to produce the PCB. |
| MCSP PCB Libraries V1.0.zip | Contains required Autodesk Eagle part libraries for the PCB. |
| MCSP_Firmware_V1.0.zip | Contains the *.ino, *.cpp, and *.h files to program the Teensy controller. |
| MCSP PCBA Parasolid.x_t | 3D model of the PCB assembly. |
| MCSP Enclosure Box.stl | STL-File to 3D-print the enclosure box. |
| MCSP Enclosure Lid.stl | STL-File to 3D-print the enclosure lid. |
| BD1 | SENSOR OPT SLOT PHOTOTRANS MODUL | 1 | 7.63 | 7.63 | Digi-Key | 365–1406-ND | OPB350W062Z |
| C1, C2, C3, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24, C25, C26, C27, C28, C29, C30, C31 | CAP CER 0.1UF 50 V X7R 0805 | 27 | 0.07 | 1.97 | Digi-Key | 478–10836-1-ND | 08055C104KAT4A |
| C4, C5, C6, C7 | CAP CER 10UF 25 V X5R 0805 | 4 | 0.2 | 0.80 | Digi-Key | 1276–6454-1-ND | CL21A106KAYNNNG |
| D0 | DIODE SCHOTTKY 40 V 2A DO214AC | 1 | 0.41 | 0.41 | Digi-Key | 641–1696-1-ND | CDBA240-HF |
| D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D1, D16, D17 | DIODE SCHOTTKY 40 V 1A SMB | 17 | 0.30 | 5.13 | Digi-Key | MBRS140FSCT-ND | MBRS140 |
| EC-EZO | EZO™ Conductivity Circuit | 1 | 59.99 | 59.99 | Atlas Scientific | EZO-EC | EZO-EC |
| EC-EZO HEADER | CONN SOCKET 3POS 0.1 GOLD PCB | 2 | 0.4 | 0.80 | Digi-Key | 1212–1180-ND | 801–87-003–10-001101 |
| EXT_PWR, HV_LED, LS1, LS2, LS3, LS4, LS5, LS6, LS7, LS8, LS9, LS10, LS11, LS12, LS13, LS14, S15, LS16, TEC1, THERM1, THERM2 | CONN HEADER VERT 2POS 2.54MM | 21 | 0.11 | 2.25 | Digi-Key | A1921-ND | 640456–2 |
| HV_LED | LED RED CLEAR 0805 SMD | 1 | 0.18 | 0.18 | Digi-Key | 732–4985-1-ND | 150080SS75000 |
| J_HV | CONN HEADER VERT 10POS 2.54MM | 1 | 0.28 | 0.28 | Digi-Key | ED1543-ND | 302-S101 |
| J1 | DC Barrel Power Jack/Connector (SMD) | 1 | 1.5 | 1.50 | Sparkfun | PRT-12748 | ADC-H-028–1 |
| J2, J33, J50 | CONN HEADER VERT 4POS 2.54MM | 3 | 0.19 | 0.57 | Digi-Key | A19431-ND | 640454–4 |
| J3 | CONN HEADER VERT 34POS 2.54MM | 1 | 0.68 | 0.68 | Digi-Key | S9174-ND | SBH11-PBPC-D17-ST-BK |
| MC | TEENSY 3.5 W/ HDRS K64 EVAL BRD | 1 | 31.25 | 31.25 | Digi-Key | 1568–1464-ND | DEV-14056 |
| PCB | Custom | 1 | 24.08 | 24.08 | OSHPark | Custom | Custom |
| PS1 | SENSOR PRESS 30PSI DIFF 5 V DIP | 1 | 26.75 | 26.75 | Digi-Key | 480–3826-5-ND | SSCDRRN030PDAA5 |
| PS2 | SENSOR PRESS 15PSI DIFF 5 V DIP | 1 | 34.02 | 34.02 | Digi-Key | 480–5396-5-ND | SSCDRRN015PDAA5 |
| PSW | SWITCH SLIDE SPDT 6A 120 V | 1 | 4.17 | 4.17 | Digi-Key | CKN5001-ND | 1101M2S3CQE2 |
| PWR_LED | LED GREEN CLEAR 0805 SMD | 1 | 0.18 | 0.18 | Digi-Key | 732–4986-1-ND | 150080VS75000 |
| Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10, Q11, Q12, Q13, Q14, Q15, Q16 | MOSFET N-CH 55 V 5.2A SOT223 | 16 | 1.57 | 25.04 | Digi-Key | AUIRLL2705TRCT-ND | AUIRLL2705TR |
| Q20, Q21 | MOSFET N-CH 50 V 220MA SOT-23 | 2 | 0.26 | 0.52 | Digi-Key | BSS138CT-ND | BSS138 |
| R1, R3, R4, R5, R6, R7, R30, R41, R80, R90 | RES SMD 10 K OHM 1% 1/3W 0805 | 10 | 0.09 | 0.89 | Digi-Key | A126417CT-ND | CRGH0805F10K |
| R1.A, R2.A, R3.A, R4.A, R5.A, R6.A, R7.A, R8.A, R9.A, R10.A, R11.A, R12.A, R13.A, R14.A, R15.A, R16.A | RES 100 OHM 1% 1/4W 0805 | 16 | 0.07 | 1.12 | Digi-Key | RNCP0805FTD100RCT-ND | RNCP0805FTD100R |
| R1.B, R2.B, R3.B, R4.B, R5.B, R6.B, R7.B, R8.B, R9.B, R10.B, R11.B, R12.B, R13.B, R14.B, R15.B, R16.B | RES 10 M OHM 1% 1/8W 0805 | 16 | 0.03 | 0.51 | Digi-Key | RMCF0805FT10M0CT-ND | RMCF0805FT10M0 |
| R2, R33, R54 | RES 330 OHM 1% 1/8W 0805 | 3 | 0.1 | 0.30 | Digi-Key | RMCF0805FT330RCT-ND | RMCF0805FT330R |
| R20, R22 | RES 3.3 K OHM 1% 1/8W 0805 | 2 | 0.1 | 0.20 | Digi-Key | RMCF0805FT3K30CT-ND | RMCF0805FT3K30 |
| R21, R23 | RES SMD 1.69 K OHM 1% 1/8W 0805 | 2 | 0.1 | 0.20 | Digi-Key | P1.69KCCT-ND | ERJ-6ENF1691V |
| R31, R32 | RES SMD 27 OHM 1% 1/8W 0805 | 2 | 0.1 | 0.20 | Digi-Key | A126357CT-ND | CRG0805F27R |
| R34, R55, R57, R61, R62 | RES 4.7 K OHM 1% 1/8W 0805 | 5 | 0.1 | 0.50 | Digi-Key | RMCF0805FT4K70CT-ND | RMCF0805FT4K70 |
| R40 | RES 20 K OHM 1% 1/4W 0805 | 1 | 0.1 | 0.10 | Digi-Key | RNCP0805FTD20K0CT-ND | RNCP0805FTD20K0 |
| R50, R52 | RES SMD 1 K OHM 1% 1/3W 0805 | 2 | 0.1 | 0.20 | Digi-Key | A126422CT-ND | CRGH0805F1K0 |
| R51, R53 | RES 2.4 K OHM 1% 1/4W 0805 | 2 | 0.1 | 0.20 | Digi-Key | 2019-RK73H2ATTD2401FCT-ND | RK73H2ATTD2401F |
| R56 | RES SMD 1.87 K OHM 1% 1/8W 0805 | 1 | 0.1 | 0.10 | Digi-Key | P1.87KCCT-ND | ERJ-6ENF1871V |
| R8 | RES SMD 24.9 K OHM 1% 1/8W 0805 | 1 | 0.1 | 0.10 | Digi-Key | 13-RT0805FRE0724K9LCT-ND | RT0805FRE0724K9L |
| R58 | RES SMD 0 OHM 1% 1/8W 0805 | 1 | 0.1 | 0.10 | Digi-Key | 541–4126-1-ND | CRCW08050000Z0EBC |
| R91 | RES 150 OHM 1% 1/4W 0805 | 1 | 0.1 | 0.10 | Digi-Key | RNCP0805FTD150RCT-ND | RNCP0805FTD150R |
| R92 | RES 2 K OHM 1% 1/4W 0805 | 1 | 0.1 | 0.10 | Digi-Key | RNCP0805FTD2K00CT-ND | RNCP0805FTD2K00 |
| RSHUNT1 | RES 0.1 OHM 1% 7 W 2512 | 1 | 1.3 | 1.30 | Digi-Key | 511–1692-1-ND | GMR100HTCFAR100 |
| TEC HEADER | CONN SOCKET 8POS 0.1 GOLD PCB | 2 | 0.78 | 1.56 | Digi-Key | 1212–1190-ND | 801–87-008–10-001101 |
| TEC_STS | LED YELLOW CLEAR 0805 SMD | 1 | 0.18 | 0.18 | Digi-Key | 732–4987-1-ND | 150080YS75000 |
| TEENSY HEADER | CONN HDR 24POS 0.1 GOLD PCB | 2 | 1.43 | 2.86 | Digi-Key | S7057-ND | PPPC241LFBN-RC |
| TRIM | TRIMMER 5 K OHM 0.1 W J LEAD TOP | 1 | 0.17 | 0.17 | Digi-Key | TC33X-502ECT-ND | TC33X-2-502E |
| U1 | IC CURRENT MONITOR 0.5% SOT23-5 | 1 | 2.51 | 2.51 | Digi-Key | 296–26063-1-ND | INA169NA/3K |
| U2 | IC TRNSLTR BIDIRECTIONAL 20TSSOP | 1 | 1.29 | 1.29 | Digi-Key | 296–21527-1-ND | TXB0108PWR |
| U3 | TEC Driver, THT Package with Heatsink | 1 | 79.8 | 79.80 | Thorlabs | MTD1020T | MTD1020T |
| U4 | IC DAC 8BIT V-OUT 10VSSOP | 1 | 4.34 | 4.34 | Digi-Key | 296–16665-5-ND | DAC5574IDGS |
| U5 | IC OPAMP GP 2 CIRCUIT 8SOIC | 1 | 0.44 | 0.44 | Digi-Key | 296–9571-1-ND | LMV358IDR |
| U6 | SENS HUMID/TEMP 3.6 V I2C 3% 6DFN | 1 | 3.06 | 3.06 | Digi-Key | 336–4379-1-ND | SI7021-A20-GMR |
| U7 | IC OPAMP GP 1 CIRCUIT SOT23-5 | 1 | 0.66 | 0.66 | Digi-Key | 296–26277-1-ND | OPA348AIDBVR |
| U8 | IC I/O EXPANDER I2C 16B 24TSSOP | 1 | 1.55 | 1.55 | Digi-Key | 296–24536-1-ND | TCA6416APWR |
| U81, U82, U83, U84 | IC MTR DRV BIPOLR 8–60 V 28HTSSOP | 4 | 3.31 | 13.24 | Digi-Key | 296–34903-1-ND | DRV8844PWPR |
| VR1 | DC DC CONVERTER +/-5V 15 W | 1 | 32.5 | 32.50 | Digi-Key | 811–2181-5-ND | BEI15-050-Q12P-C |
| VR2 | IC REG LINEAR 3.3 V 1A SOT223 | 1 | 1.19 | 1.19 | Digi-Key | LMS8117AMP-3.3/NOPBCT-ND | LMS8117AMP-3.3/NOPB |
| X1 | CONN SMA RCPT STR 50 OHM PCB | 1 | 2.97 | 2.97 | Digi-Key | CONSMA001-ND | CONSMA001 |
| Designator | Component | Number | Cost per unit - USD | Total cost -USD | Source: McMaster-Carr part number | Material type |
|---|---|---|---|---|---|---|
| Heat Inserts | 4–40 Tapered Heat-Set Inserts for Plastic | 8 | 0.1265 | 1.012 | 93365A122 | Brass |
| Screws | 18–8 Stainless Steel Socket Head Screws | 8 | 0.0481 | 0.3848 | 92196A105 | Stainless Steel |
| {A B xxx yyyy} | Example command, where e.g., xxx = [0–100], and yyyy = [0–1000]. |
| Hi / hello | System should respond to make sure communication works |
| Help | Displays all commands and description |
| { B } | Reads and prints the number of bubbles that have been detected |
| { B x } | Reads and prints the bubble count every second. x = [1/0] (ON/OFF) |
| { F } | Reads and prints the measured flow rate in nL/min once |
| { F x } | Reads and prints flow rate nL/min every second. x = [1/0] (ON/OFF) |
| { H E x } | Enable/Disable HVPS. x = [1/0] (ON/OFF) |
| { H } | Reads and prints the HVPS current, voltage, and overtemperature once (in 10-bit integer). |
| { H x } | Reads and prints the HVPS current, voltage, and overtemperature every second (in 10-bit integer). x = [1/0] (ON/OFF) |
| { H V xxx } | Sets the output voltage of the HVPS to [xxx = 0–255] (in 8-bit integer)* |
| { H I xxx } | Sets the max. output current of the HVPS to [xxx = 0–255] (in 8-bit integer)* |
| { i } | Reads and prints the total current in mA |
| { i × } | Reads and prints the total current in mA every second. × = [1/0] (ON/OFF) |
| { M x } | Enable/Disable MTD1020T controller. x = [1/0] (ON/OFF) |
| M xx | Send commands to the TEC controller. Refer to the |
| { P } | Reads and prints the measured pressures once (in 10-bit integer)** |
| { P x } | Reads and prints the measured pressures every second (in 10-bit integers). x = [1/0] (ON/OFF)** |
| { S xx yyy } | xx = switch number [1–16], yyy = [0–255]. NOTE: if y = 0, switch will be OFF, if y = 1, then switch will be on at 100% duty-cycle. Anything in between is pulse-width-modulated if pin is able to. |
| { S H xx y t } | xx = switch number (1–9, 15, 16); y = hold voltage (0–255); t = 0 = off, t = 1 = ON indefinitely, t > 1 = Spike duration time in ms. |
| { T } | Reads and prints the temperature in degrees C and relative humidity in % once |
| { T x } | Reads and prints the temperature in degrees C and relative humidity every second. x = [1/0] (ON/OFF) |
| { V S xx y } | Latches a single valve. xx = valve number [1 – 16], y = [1/0] (HI/LO) |
| { V xxxxxxxx yyyyyyyy } | Latches multiple valves at the same time. xxxxxxxx = MSB, yyyyyyyy = LSB. Example: { V 11,000,000 00,000,001 }, latches valves 1, 15, and 16 HI, all the other valves LO. |
| { v } | Latches all valves LO |
| { V } | Latches all valves HI |
| { P C xxx } | Sets the pressure controller output voltage to [0–5 V] where xxx = 0–255 |
| { E } | Read and print the EC value once |
| { E x } | Read and print the EC value continuously at 1 Hz. x = [1/0] (ON/OFF) |
| { E C Q } | View calibration type in memory |
| { E C C } | Clear current calibration in memory |
| { E C D } | Perform a dry calibration |
| { E C S x } | Single point calibration, x = EC value in µS/cm |
| { E C L x } | Two point calibration, Low: x = EC value in µS/cm |
| { E C H x} | Two point calibration, High: x = EC value in µS/cm |
| { E K x } | Probe constant calibration: x = [1, 10, 100] |
| { E K Q } | View the current probe constant calibration in memory |