

Perfusion Shield
Perfusion system
- Size
- 68.6 × 53.3 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 25
- Nets
- 47
- Pads
- 99
- Tracks, vias
- 103, 0
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 1 May 2025
- Updated
- 16 Sep 2026
Overview
Perfusion Shield is an open-source printed circuit board by RamzanJamali, from the RamzanJamali/Perfusion_System repository on GitHub. It is a 2-layer board of 68.6 × 53.3 mm with 25 parts on 47 nets, routed with 103 tracks and 0 vias.
It is built around the TMC2209SILENTSTEPSTICK, BME680 and AS5048A. Its parts include 13 connectors, 3 resistors, 2 capacitors, 1 IC and 1 diode.
Main components
3TMC2209SILENTSTEPSTICK
-Power Management - Modules ROHSTRINAMIC Motion Control GmbHModulesBME680
LGA-8-40℃~+85℃ 0.12hpa 0.6hpa 1.3pa/K 1.71V~3.6V 150nA 30Kpa~1.1bar I2C、SPI Temperature Sensor LGA-8 Pressure Sensors ROHSBosch SensortecPressure SensorsAS5048A
TSSOP-14_4.4x5.0x0.65PTSSOP-14(4.4x5x0.65) New Arrivals ROHSAdvanced Monolithic SystemsUncategorised
README
README.mdPressure-Controlled Perfusion System
A modular, open-source pressure-controlled perfusion system designed for the biomechanical characterization of corneal tissue. This system provides precise control over retrocorneal pressure and perfusion flow rate for ex vivo experiments.
🚀 Quick Start
- Hardware: Assemble the mechanical components and connect the electronics as per the
hardware/documentation. - Firmware: Flash the Arduino with the appropriate controller firmware from the
Controller/directory. - Software: Install Python dependencies and run the recommended dashboard.
bash pip install -r software/Dashboard_2/requirements.txt python software/Dashboard_2/app.py
📁 Repository Structure & Component Guide
Here is a breakdown of the key software components and their intended use:
| Component | Purpose | Recommendation |
|---|---|---|
Controller/Controller_1 | Firmware configured for the Variohm CIT3100 pressure sensor. | Use if your hardware uses the CIT3100 sensor. |
Controller/Controller_2 | Firmware configured for the Ceraphant PTC31B pressure sensor. | Recommended for systems with the PTC31B sensor. |
software/Dashboard_1 | Legacy version of the Python control dashboard. | For reference or specific use cases. |
software/Dashboard_2 | Enhanced version with improved data visualization and control. | Recommended for all new installations. |
🔧 Hardware Specifications
Key components used in this system include:
- Stepper Motor Driver: The TMC2209 driver module controls the NEMA 17 stepper motor, providing silent operation and advanced features like stealthChop2 for noiseless motion and spreadCycle for high-speed performance.
- Pressure Transducer: The Ceraphant PTC31B is a pressure switch with a ceramic, vacuum-tight measuring cell, used for safe monitoring of absolute and gauge pressure. It is suitable for measurements in gases, vapors, and liquids.
⚙️ How to Use This Repository
Downloading the Project
To get a copy of the project, you can clone the repository or download it as a ZIP file.
- Clone (recommended for development):
bash git clone https://github.com/RamzanJamali/Perfusion_System.git - Download ZIP:
Click the
Codebutton on the GitHub repository page and select "Download ZIP".
Navigating the Code
- The
Controller/directory contains the Arduino firmware. Select the version that matches your pressure sensor. - The
software/directory contains the Python-based dashboards. UseDashboard_2for the best experience. - Refer to the
hardware/directory for assembly guides, CAD files, and the bill of materials.
Parts
25| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | MountingHole_3.2mm | Arduino_MountingHole:MountingHole_3.2mm | MH1, MH2, MH3, MH4 |
| 1 | 0.1U | Capacitor_THT:C_Radial_D8.0mm_H7.0mm_P3.50mm | C1 |
| 1 | 1M | Resistor_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P12.70mm_Horizontal | R1 |
| 1 | 1N5404 | Diode_THT:D_DO-201AD_P15.24mm_Horizontal | D1 |
| 1 | 220 | Resistor_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P12.70mm_Horizontal | R2 |
| 1 | 300U | Capacitor_THT:C_Radial_D8.0mm_H11.5mm_P3.50mm | C2 |
| 1 | 470 | Resistor_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P12.70mm_Horizontal | R3 |
| 1 | AS5048A | Connector_JST:JST_XH_B6B-XH-A_1x06_P2.50mm_Vertical | J13 |
| 1 | Analog | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | J3 |
| 1 | BME680 | Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical | J12 |
| 1 | Barrel_Jack_Switch_Pin3Ring | Connector_BarrelJack:BarrelJack_GCT_DCJ200-10-A_Horizontal | J5 |
| 1 | Digital/PWM | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical | J4 |
| 1 | Digital/PWM | Connector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_Vertical | J2 |
| 1 | IR_switch | Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_Vertical | J6 |
| 1 | MC000827 | MC000827:MC000827 | F1 |
| 1 | Power | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical | J1 |
| 1 | Pressure_Sensor | Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical | J11 |
| 1 | Relay_High | Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J8 |
| 1 | Relay_low | Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_Vertical | J7 |
| 1 | TMC2209_SILENTSTEPSTICK | TMC2209_SILENTSTEPSTICK:MODULE_TMC2209_SILENTSTEPSTICK | U1 |
| 1 | To_Motor | Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical | J10 |
| 1 | Valve | Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J9 |
Questions
How big is the Perfusion Shield PCB?
It measures 68.6 × 53.3 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Perfusion Shield use?
25 parts, built around the TMC2209SILENTSTEPSTICK, BME680 and AS5048A. 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 Perfusion Shield KiCad files?
From the RamzanJamali/Perfusion_System repository on GitHub, at the commit this page was made from: the board is Perfusion_Shield/Perfusion_Shield.kicad_pcb and its schematic Perfusion_Shield/Perfusion_Shield.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Perfusion Shield design in my own project?
Its repository states no licence, so its author keeps all rights: ask RamzanJamali before reusing the design.
Similar boards
- 2 layers42 × 48 mm

- 4 layers30.2 × 20.5 mm

BLDCM MCU
brenocq/bldc-motor
High-precision BLDC motor and controller development from scratch (in progress...)
91 parts13MIT - 2 layers40 × 44 mm

- 4 layers36 × 54.5 mm

V0.2 Custom Motor Driver DRV8316 STM32G4
clawntl/BLDC-Driver
BLDC Driver with STM32G431 and DRV8316
86 parts9AGPL-3.0 - 2 layers35.6 × 45.7 mm

As5048
ZoetropeLabs/as5048A-breakout-board
A breakout board for the Austria Microsystems AS5048A angle sensor
23 parts7MIT - 2 layers42 × 42 mm

Closed loop stepper tmc2130-as5048a
Crate3D/closed-loop-stepper-tmc2130-as5048a
Closed loop stepper using tmc2130 and as5048a
38 parts6GPL-3.0 - 2 layers83 × 95 mm

Pane2
meerstern/Encoder_TSSOP14
Encoder Board For AMS AS5048A, AS5047D and others with SPI interface.
325 parts4 - 4 layers10 × 22.5 mm
