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

Software and Build Files for the Smith Lab @ UIUC's Low-Volume, Fluid-Switching Device
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.
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:
[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:
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:
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:
BILL OF MATERIALS:
BUILD INSTRUCTIONS:
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).
| Qty | Value | Footprint | References |
|---|---|---|---|
| 1 | Arduino_UNO_R3 | Module:Arduino_UNO_R3 | A1 |
| 1 | PJ-202B | Recirculation_Aparatus_Footprints:barrel_jack | J1 |
| 1 | SPST | Recirculation_Aparatus_Footprints:RELAY6_J1021CS312VDC.20_CRS | U4 |
| 1 | Servo Connection Block | Recirculation_Aparatus_Footprints:Servo Connection Block | U2 |
| 1 | Switch | Recirculation_Aparatus_Footprints:Switch | U1 |
| 1 | ~ | Recirculation_Aparatus_Footprints:Potentiometer | Potentiostat1 |
The 6 most common of 10 parts.

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

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

AlanFord/self-balancing-stick
Dual Axis Reaction Wheel Inverted Pendulum

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

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

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


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.
It measures 65 × 95 mm and has 2 copper layers, 1.6 mm thick.
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.
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.
Its repository states no licence, so its author keeps all rights: ask kcsmith-uiuc before reusing the design.