hero-image
HOME
hero-image
project-highlight-image

AlbertaHeart Mock Circulatory Loop

hero-image
Aahil Ansari

Project Timeline

Oct 2024 - Current

OVERVIEW

The Mock Circulatory Loop project involved designing and validating a benchtop cardiovascular flow system to simulate physiological pressure and flow conditions for cardiac device testing. I calibrated and validated multi-channel pressure transducers, converting raw DAQ voltage signals into accurate pressure measurements through MATLAB-based real-time acquisition and signal processing. Over multiple design iterations, I refined the loop’s reservoir, pumping mechanism, valve system, and fluid pathways, improving system stability and reproducibility. To support future researchers, I developed comprehensive documentation and created detailed SolidWorks models, standardizing the setup and ensuring experimental reliability across the AlbertaHeart team.

HighlightS

  • 🚀 Pioneering Innovation – First student team in Canada to design and build a functional artificial heart loop system.
  • 🌍 Global Recognition – Selected to present at an international hackathon, showcasing biomedical innovation on a world stage.
  • 🔬 Cutting-Edge Research – Integrates fluid dynamics, biomaterials, and medical device engineering for realistic cardiac simulation.
  • 🤝 Collaborative Achievement – Multidisciplinary team of undergraduate researchers in engineering, biology, and medicine.
  • 🏅 Educational Impact – Provides a platform for future students to learn cardiovascular physiology and device testing.
  • 💡 Foundation for Advancement – Establishes groundwork for future Canadian student-led biomedical device innovation.

SKILLS

MATLABSolidWorksDAQCalibrationSignalModelingPrototypingDocumentationAnalysisFluidics

SUPPORTING MATERIALS

Additional Details

Problem Statement

Experimental cardiovascular research depends on accurate, repeatable simulation of physiological pressure and flow conditions. However, conventional mock circulatory loop setups often suffer from poor transducer calibration, inconsistent fluid dynamics, and limited documentation—leading to unreliable measurements and low reproducibility across experiments. Pressure transducers frequently output raw voltage signals that require precise calibration and conversion to physiological units, yet many labs rely on ad-hoc methods or outdated scripts that introduce significant error. Additionally, the absence of standardized system designs and clear operational procedures results in assembly inconsistencies, setup variability, and inefficiencies when onboarding new researchers. Therefore, there is a critical need for a robust, well-characterized mock circulatory loop with validated pressure sensing, real-time data acquisition, and standardized system models to ensure accurate cardiovascular testing and reproducible research outcomes.

MATLAB Multichannel Pressure Transducer Script

% --- Setup --- dq = daq("ni"); addinput(dq, "Dev1", "ai0", "Voltage"); addinput(dq, "Dev1", "ai1", "Voltage"); addinput(dq, "Dev1", "ai2", "Voltage"); dq.Rate = 100; % samples per second % --- Create Figure --- figure; h0 = animatedline('Color','r','LineWidth',1.5); h1 = animatedline('Color','g','LineWidth',1.5); h2 = animatedline('Color','b','LineWidth',1.5); legend({'ai0','ai1','ai2'}); title('Live Voltage Readings (ai0–ai2)'); xlabel('Time (s)'); ylabel('Voltage (V)'); grid on; % --- Start Timer --- startTime = datetime('now'); % --- Continuous Loop --- while ishandle(h0) % Read 0.1 seconds of data data = read(dq, seconds(0.1)); % Get elapsed time for each sample (a vector) numSamples = height(data); t = seconds(datetime('now') - startTime) + (0:numSamples-1)'/dq.Rate; % Add all samples at once addpoints(h0, t, data{:,1}); addpoints(h1, t, data{:,2}); addpoints(h2, t, data{:,3}); drawnow limitrate; end
lowinertia
Portfolio Builder for Engineers
Created by Aram Lee
© 2025 Low Inertia. All rights reserved.