Skip to the content
2 layers65 × 95 mmRecirculation Aparatus PCB V4, the printed circuit board in 3D

Recirculation Aparatus PCB V4

kcsmith-uiuc/TubePinchValve

Software and Build Files for the Smith Lab @ UIUC's Low-Volume, Fluid-Switching Device

Size
65 × 95 mm
Copper layers
2
Thickness
1.6 mm
Parts
10
Nets
34
Pads
67
Tracks, vias
41, 0
Pours
2
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
6 May 2025
Updated
12 Aug 2026

Overview

Recirculation Aparatus PCB V4 is an open-source printed circuit board by kcsmith-uiuc, from the kcsmith-uiuc/TubePinchValve repository on GitHub. It is a 2-layer board of 65 × 95 mm with 10 parts on 34 nets, routed with 41 tracks and 0 vias.

It is built around the ARDUINO UNO R3 and PJ-202B. Its parts include 3 ICs and 1 connector. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

2

README

README.md

TubePinchValve

This device uses an Arduino microcontroller to actuate a servo that is used to pinch one tube while another tube is left unpinched, thus acting as a three-way valve that eliminates internal fluid volume and internal seals. As many as four such "valves" can be controlled at a given time based on a trigger signal received by the Arduino. A custom printed circuit board (PCB) that interfaces between the Arduino and the associated servos is included with this repository, along with CAD drawings for 3D printable mounts that fix two tubes, a servo motor, and a lever in place for the purpose of fluid switching. In total, the entire device can be made for approximately 100 USD, as of May 6, 2025. This device has found particular use in the Smith Lab for directing water flow through battery-based electrochemical desalination and carbon-capture processes, as described and used in the following references:

[1] Reale, E. R., Regenwetter, L., Agrawal, A., Dardón, B., Dicola, N., Sanagala, S., & Smith, K. C. (2021). Low porosity, high areal-capacity Prussian blue analogue electrodes enhance salt removal and thermodynamic efficiency in symmetric Faradaic deionization with automated fluid control. Water Research X, 13, 100116.

[2] Do, V. Q., Reale, E. R., Loud, I. C., Rozzi, P. G., Tan, H., Willis, D. A., & Smith, K. C. (2023). Embedded, micro-interdigitated flow fields in high areal-loading intercalation electrodes towards seawater desalination and beyond. Energy & Environmental Science, 16(7), 3025–3039.

[3] Rahman, M. H., Loud, I. C., Do, V. Q., Hamid, M. A., & Smith, K. C. (2025). Tapered, Interdigitated Channels for Uniform, Low-Pressure Flow through Porous Electrodes for Desalination and Beyond. Electrochimica Acta, 514, 145632.

[4] Rozzi, P. G., Lee, J., Do, V. Q., Arthur, T. S., Roberts, C., & Smith, K. C. (2025), Toward Low-Energy Direct-Air CO2 Capture by Reversible Proton-Intercalation Mediated Alkalization, in review.

Using the TubePinchValve device, the Smith Lab @ UIUC was the first to demonstrate seawater-level desalination using a battery-based process employing cation-intercalation electrodes [2,3] and the first to demonstrate capture of 400 ppm CO2, as in capturing CO2 from air, using a battery-based process employing proton-intercalation electrodes [4]. For such processes, a trigger signal sent to the Arduino from a potentiostat that controls electrochemical cycling is used to initiate the switching of two valves that feed liquid flow to two electrodes (i.e., inlet valves), as shown in the video below. After a pre-specified delay period, two other outlet valves that direct the outflow from the same two electrodes are then switched. By controlling the delay between the switching of inlet valves and outlet valves, apparent "mixing" between ion-diluted and -concentrated streams is minimized, so as to maximize process ion transfer [1-4]. At present, this repository provides a beta version for the TubePinchValve device, as the present PCB is still under development.

https://github.com/user-attachments/assets/45983bcd-0c9a-48d1-a0b0-8a49e22e287c

CITE THIS DEVICE AND REPOSITORY AS:

  • Smith, K. C., Egly, C., Do, V. Q., & Rahman, M. H. (2025). TubePinchValve. GitHub. https://github.com/kcsmith-uiuc/TubePinchValve DOI
  • Reale, E. R., Regenwetter, L., Agrawal, A., Dardón, B., Dicola, N., Sanagala, S., & Smith, K. C. (2021). Low porosity, high areal-capacity Prussian blue analogue electrodes enhance salt removal and thermodynamic efficiency in symmetric Faradaic deionization with automated fluid control. Water Research X, 13, 100116. https://doi.org/10.1016/j.wroa.2021.100116

DESCRIPTION: The TubePinchValve device seeks to control the flow of small liquid volumes in a simple, precise, and cost-effective manner by using a servo motor to pinch one of two flexible tubes through which water is flowed. The single valve is comprised of (1) servo motor, (2) two tubes, (3) a 3D-printable mount, and (4) a microcontroller (e.g., an Arduino). By inserting tubes into either side of the mount, and connecting their inputs to separate pumps, the device acts as a three-way valve. When functioning as a valve, the servo rotates between two positions, pinching off either of the two flows of interest. This functionality allows for rapid, precise switching of flows with little-to-no cross-flow. This GitHub page provides open-source documentation for the reproduction, modification, and procurement of such three-way valves.

DESIGN: Figure 1 below shows the various electrical and mechanical components that comprise the TubePinchValve assembly:

  • 1 3D printed servo mount
  • 1 DS3225 25KG Large Torque Digital Servo with Lever
  • 2 small diameter tubes of your choice, such as those used with peristaltic pumps
  • 1 Arduino MEGA
  • 1 custom PCB
    • 1 Relay
    • 1 Barrel Jack

GitHub1

Figure 2 below shows the experimental stand that is used to integrate TubePinchValves with an electrochemical flow cell. The Stand.f3d file in this repository is a Fusion 360 CAD model of the stand. The StandParts.ai file in this repository is an Adobe Illustrator file that can be used to laser cut the various pieces that comprise the stand:

  • 1: Main Base Platform
  • 2 and 3: Support Column
  • 4: Servo Mount Clamp
  • 5: Platform for Flow Cell

GitHub2

BILL OF MATERIALS:

BUILD INSTRUCTIONS:

  1. Order all parts in the DESIGN section.
  2. If modifications are not necessary, take the *.zip file in this GitHub repository named: Recirculation_Aparatus_PCB_V4-B_Cu.zip, and drop it into your favorite PCB manufacturing website. If modifications to the PCB are necessary, load the relevant PCB files including *.drl files into your preferred PCB CAD software (e.g., KiCad), and export them as manufacturing files. Combine these files into a single *.zip file, and drap and drop them into your favorite PCB manufacturing website.
  3. Upon receipt of components, solder the barrel jack and relay onto the PCB, and connect each servo to the Arduino.
  4. Connect each servo, lever, and pair of tubes to the mount of interest. If desired, connect the mounts to the experimental stand.
  5. Calibrate servo positions by running the Servo_pinching_calibration/Servo_pinching_calibration.ino Arduino script to produce optimal tube pinching. In this script the user can adjust servo angles for two distinct states of each TubePinchValve. The script makes use of Arduino's servo.h library.
  6. After calibrating the preceding script, the user can then use the same file to initiate periodic switching subject to a trigger signal of interest.

ACKNOWLEDGMENTS: Support for Vu Q. Do, Md Habibur Rahman, and Kyle C. Smith is acknowledged from the US Office of Naval Research (Award no. N00014-22-1-2577). Support for Chris Egly via a Research Experience for Undergraduates (REU) is acknowledged from the US National Science Foundation (Award no. 1931659).

Parts

10
QtyValueFootprintReferences
1Arduino_UNO_R3Module:Arduino_UNO_R3A1
1PJ-202BRecirculation_Aparatus_Footprints:barrel_jackJ1
1SPSTRecirculation_Aparatus_Footprints:RELAY6_J1021CS312VDC.20_CRSU4
1Servo Connection BlockRecirculation_Aparatus_Footprints:Servo Connection BlockU2
1SwitchRecirculation_Aparatus_Footprints:SwitchU1
1~Recirculation_Aparatus_Footprints:PotentiometerPotentiostat1

The 6 most common of 10 parts.

Similar boards

  • 4 layersLightProcessor preFreeRoute, the printed circuit board in 3D

    LightProcessor preFreeRoute

    K0iNguyen/LightProcessor

    PCB code and design for Optical chemical potential mapping research at Zeng Lab, Purdue University.

    131 parts
  • 2 layers68.8 × 53.6 mmRelatively Universal ROM Programmer, the printed circuit board in 3D

    Relatively Universal ROM Programmer

    AndersBNielsen/Relatively-Universal-ROM-Programmer

    Hardware to program W27C512 EEPROM or any 24/28/32 pin ROM requiring from 5V to 27V programming voltage.

    149 parts257GPL-3.0
  • 2 layers69.1 × 53.8 mmMotor controller, the printed circuit board in 3D

    Motor controller

    AlanFord/self-balancing-stick

    Dual Axis Reaction Wheel Inverted Pendulum

    25 parts79MIT
  • 2 layers68.6 × 53.3 mmProtogasm Board V2, the printed circuit board in 3D

    Protogasm Board V2

    Edging-Machines/Edging-Machines

    This repository is intended to contain as much information as possible about building, designing, prototyping, and using automated edging machines.

    14 parts67MIT
  • 2 layers53.8 × 69.6 mmEVSE V2 2, the printed circuit board in 3D

    EVSE V2 2

    PedroCNeves/AC_ChargingStation

    A learning project to create an EV AC Charging station based on an Arduino Uno

    32 parts50
  • 2 layers113.7 × 61 mmArduTester SMD, the printed circuit board in 3D

    ArduTester SMD

    jonsag/arduTester

    An arduino component tester based on https://create.arduino.cc/projecthub/plouc68000/ardutester-v1-13-the-arduino-uno-transistor-tester-dbafb4

    17 parts14
  • 4 layers65.9 × 52.9 mmMotor shield, the printed circuit board in 3D

    Motor shield

    DCC-EX/EX-MotorShield8874

    Design files for the open source 5A Motor Shield

    114 parts12
  • 4 layers68.6 × 53.3 mm101 PCB, the printed circuit board in 3D

    101 PCB

    ICRS/101

    The all-new open source Robotics 101 course from ICRS. It's specifically designed to be run in hackspaces, after school clubs and university societies.

    89 parts10CC-BY-4.0

Questions

How big is the Recirculation Aparatus PCB V4 PCB?

It measures 65 × 95 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Recirculation Aparatus PCB V4 use?

10 parts, built around the ARDUINO UNO R3 and PJ-202B. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Recirculation Aparatus PCB V4 KiCad files?

From the kcsmith-uiuc/TubePinchValve repository on GitHub, at the commit this page was made from: the board is Recirculation_Aparatus_PCB_V4.kicad_pcb and its schematic Recirculation_Aparatus_PCB_V4.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Recirculation Aparatus PCB V4 design in my own project?

Its repository states no licence, so its author keeps all rights: ask kcsmith-uiuc before reusing the design.