Next Article in Journal
Intelligent Fault Diagnosis of Machinery Using BPSO-Optimized Ensemble Filters and an Improved Sparse Representation Classifier
Previous Article in Journal
A PDMS Coating-Based Balloon-Shaped Fiber Optic Respiratory Monitoring Sensor
Previous Article in Special Issue
A Cost-Effective 3D-Printed Conductive Phantom for EEG Sensing System Validation: Development, Performance Evaluation, and Comparison with State-of-the-Art Technologies
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Open Source Validation System for Continuous Arterial Blood Pressure Measuring Sensors

1
Jedlik Innovation Ltd., Práter u. 50/A, 1083 Budapest, Hungary
2
Faculty of Information Technology and Bionics, Pázmány Péter Catholic University, Práter u. 50/A, 1083 Budapest, Hungary
3
Faculty of Medicine, Department of Vascular and Endovascular Surgery, Semmelweis University, Városmajor u. 68, 1122 Budapest, Hungary
*
Author to whom correspondence should be addressed.
Sensors 2025, 25(16), 5173; https://doi.org/10.3390/s25165173
Submission received: 13 June 2025 / Revised: 11 July 2025 / Accepted: 18 August 2025 / Published: 20 August 2025

Abstract

Highlights

What are the main findings?
  • An electromechanical, cam-based continuous arterial blood pressure simulator consisting of cost-effective 3D printable parts was developed. This simulator is capable of accurately repeating waveform samples consisting of multiple cardiac cycles.
  • An open-source Python software package is provided to generate new cams from custom waveforms and validate sensors against them.
What is the implication of the main finding?
  • Hardware components of the proposed simulator are easy to fabricate even within academic or clinical institutions due to the widespread availability of low-cost 3D printing technology. Thus, early-stage development of continuous non-invasive blood pressure sensors benefits from an accessible and easily customizable tool.
  • The validation software provides an extensible framework to store, organize, and evaluate sensor data and to generate statistical reports from them.

Abstract

The advancement of sensor technologies enables the measurement of high-quality continuous blood pressure signals, which has become an important area in healthcare. The development of such application-specific sensors can be time-consuming, expensive, and difficult to test or validate with known and consistent waveforms. In this manuscript, an open-source blood pressure waveform simulator with a Python validation package is described. The core part, a 3D-printed cam, can be generated based on real blood pressure waveforms. The validation software framework compares in detail the waveform used to design the cam with the time series from the sensor being validated. The simulator was validated using a 3D force sensor. The RMSE of accuracy was 1.94 (44)–2.74 (63)%, and the Pearson correlation with the nominal signal was 99.84 (13)–99.39 (18)%. As for precision, the RMSE of the repeatability of cam rotations was 1.53 (71)–2.13 (116)% and the Pearson correlation was 99.85 (16)–99.59 (57)%. The presented simulator proved to be robust and accurate in short- and long-term use, as it produced the signal waveform reliably and with high fidelity. It reduces development costs for early-stage sensor development and research, offering a solution that is easy to manufacture yet capable of continuously outputting human arterial blood pressure waveforms spanning multiple consecutive cardiac cycles.

1. Introduction

Measuring the continuous noninvasive blood pressure (CNIBP) waveform is becoming increasingly important and is being studied more frequently. The main reasons behind it are the prevalence of cardiovascular diseases, the need for effective ambulatory and patient monitoring, and recent advancements in sensor technologies. The development of CNIBP sensors requires a framework for reliable and reproducible evaluation. In early stages of development, it is crucial to have a known reference waveform to validate the signal measured by the developed sensor. However, repeatability cannot be guaranteed when working with human subjects, as their waveform can change significantly in short time periods. These slight changes make waveform comparison difficult. Additionally, finding subjects with an abnormal blood pressure waveform can be difficult, which may lead to false conclusions when evaluating the sensor’s capabilities.
For the above-mentioned reasons, a CNIBP simulator would be a valuable tool to support early-stage validation and evaluation of CNIBP sensors. Such devices have already been presented in the literature, including solutions using pre-recorded or simulated waveforms, as well as devices that simulate the physical properties of blood vessels. Most of these systems involve high costs. A low-cost, reliable simulator addresses this issue and supports early-stage sensor development.
A common approach to blood pressure (BP) signal simulation involves building an artificial wrist containing a model of the radial artery that is actuated pneumatically or hydraulically. Validating MediWatch prototypes (MW-1 and MW-2 prototypes, HealthSTATS International; Singapore), Ng et al. [1] used a pneumatic pressure-pulse generator driven by waveform simulation software that actuated a latex diaphragm placed on the artificial wrist’s contact zone. The contact zone of the artificial wrist can also be actuated with a linear motor, such as Heo et al.’s device [2], designed for training oriental medicine practitioners and sensor validation.
Yang et al. developed a cam-based radial pulsation simulator [3] that was subsequently used by Jun et al. [4] for the evaluation of a robotic pulse sensor. This simulator reproduces a single period of a representative waveform, obtained by averaging 40 recorded waveform periods. In their implementation, a rotating cam is connected to a piston, and the pressure wave is transduced pneumatically to an artificial radial artery embedded in a silicone wrist surface. The authors measured a 3.2% phase delay and reported a coefficient of variation (CV) of C V = 0.23 % and C V = 0.82 % for heart rate and pulse pressure, respectively. This solution was subsequently developed into a universal cam generating a single representative cardiac cycle of four age groups, with a transitional profile in between (Kim et al. [5]).
Hsieh et al. used a similar cam-based approach for the validation of their tactile pulse recorder [6]. However, their single cardiac cycle cam was fabricated using 3D printing, and the cam surface is in direct contact with the sensing tip of the pulse sensor. This results in a low-cost and simple design, which, however, lacks configurability—an aspect that was beyond the scope of their study. They introduced a pulse tactile player device in the same paper, with an actuating element consisting of piezoelectric benders. This device is intended to train traditional Chinese medicine (TCM) physicians in manual pulse taking in a consistent and repeatable manner. These benders are capable of generating a force of 0.5N with a maximum displacement of 1mm.
McLellan et al. designed a BP pattern simulator [7] that is intended for training practitioners of pulse diagnostics. Therefore, the device is designed to simulate manual pulse sensing using three fingers, with a microprocessor-controlled solenoid assigned to each finger. The device also measures the gripping force with a pressure sensor placed at the opposite side, under the thumb. They implemented a combination of three waveforms and four rhythms, although no evaluation results are reported in the article.
Another approach is to closely replicate the characteristics of the human cardiovascular system. Yang et al.’s simulator [8] consists of modules that simulate the heart and the valves, the aorta with a bifurcation to generate reflected waves, and peripheral resistance, including the wrist with the radial artery. This complex system is also capable of generating age-dependent BP waveforms by simulating arterial stiffness.
In this manuscript, a simulator design that plays back a predefined signal using a mechanical transmission system and a validation framework in Python is introduced. In the Section 2, the implementation details and the method of evaluation are described. In the Section 3, the ground truth signal is compared with the one measurable on the device, and in the Section 4 and Section 5, some further improvements are proposed.

2. Materials and Methods

2.1. Hardware Design

Most of the above-mentioned solutions aim to be widely applicable and simulate not just a signal waveform but also the measurement environment and the physiological behavior. Therefore, these solutions are complex, and their implementation requires advanced manufacturing technologies. The simulator presented here, on the other hand, can be manufactured and assembled with limited technical resources and budget. Its parts in direct contact with the sensor follow a modular design and are easily customizable; therefore, they can be easily adapted to various sensors under development.
Cam-follower-based designs are frequently used in a wide range of industrial applications, notably in valve control and mass production machines, as they provide a reliable and easy-to-design solution for function generation [9]. In the field of cardiovascular signal simulation, Yang [3] used a similar approach; however, they actuated a pneumatic system with the cam. In the presented simulator design, shown in Figure 1, the sensor to be tested is directly actuated by a planar linkage connected to the cam follower.
To ensure affordability in production, a modular design was implemented, where all components are either 3D-printable or standard, widely available parts. The simulator consists of three main components mounted on a DIN rail R h , which allows easy assembly and modification and ensures proper alignment of the lever with respect to the cam.
(1) The waveform generator consists of the interchangeable cam C rotated by the motor M, a 12V DC motor (GW370 worm gear motor, Shenzhen Jinshunlaite Motor Co., Ltd.; Shenzhen, China) at a nominal speed of 10 rpm (revolutions per minute), approximating the normal pulse rate. The preference for a simple DC motor over a stepper motor is due to reduced cost and complexity. A DC power supply unit EB2025T (Thurlby-Thandar Instruments Ltd.; Huntingdon, UK) was used. A 2 mm thick Poly(dimethylsiloxane) (PDMS) sheet was placed between the motor and the motor base to reduce high-frequency vibration noise. Similarly, PDMS or rubber dampers can be placed between the simulator board and the desk on which it is mounted.
(2) The scaling mechanism achieves a realistic, physiologically relevant amplitude. This mechanism includes lever L supported by fulcrum J 1 and cam follower J 2 , vertical rail R v , and translating follower T, which ensures that the sensor is actuated only along the z axis.
(3) The sensor holder unit H is customizable to accommodate sensors of different shapes and sizes. T has an interchangeable contact head at P to provide an optimal surface for the measurements. The plate surrounding the contact head is also easy to replace to allow additional components like artificial skin or structures that better mimic the geometry of the human wrist. The sensor’s normal vector can be adjusted by three screws through the sensor holder. The baseline pressure can be set by moving the module along its vertical rail R v , which adjusts the sensor holder’s height h S .
The scaling factor, both in terms of force and displacement, is the ratio of the distances r 1 and r 2 , where r 1 is the distance of J 2 , r 2 is the distance of J 3 , measured from the fulcrum J 1 : F 2 F 1 = r 2 r 1 . Therefore, at a given rotation angle θ , the vertical displacement of the sensor contact point P is r 2 r 1 h ( θ ) , where h is the amplitude of the pitch curve of the cam. Depending on configuration, either a class 1 or a class 2 lever can be assembled from the same mechanical parts (Figure 2). This choice does not affect the output waveform; however, in the case of signals with steep rising edges, a cam profile with an inverted signal and class 1 lever can be advantageous.

2.2. Cam Design

The cam plays a critical role as it generates the blood pressure waveform. To construct it, noninvasive arterial blood pressure waveforms were used from the PhysioNet [10] dataset titled ”Autonomic Aging: A dataset to quantify changes of cardiovascular autonomic function during healthy aging” [11] (hereafter referred to as AAC). From the 15 age groups presented in the dataset, eight visibly distinct waveforms were selected. All of these signals were measured with Task Force Monitor (TFM) or CNAP 500, CNSystems; MP150, BIOPAC Systems at an f s = 1000   H z sampling frequency. Details of the selected signals are presented in Table 1 and Figure 3.
First, for noise reduction in the selected signals, a low-pass Butterworth filter was applied with cutoff frequency f m a x = 30   H z . Subsequently, a characteristic point detection algorithm introduced in Section 2.8 was used to assist in baseline wander (BW) removal via cubic spline interpolation. Then, N = 6 consecutive cardiac cycles were chosen. This waveform was normalized between 0 and y m a x . The pitch curve coordinates ( x , y ) of the cam were then calculated by adding the signal amplitude h = h ( θ ) to the cam’s baseline radius r C , followed by converting to Cartesian coordinates:
x y = cos θ sin θ sin θ cos θ h 0 + h ϵ ,
where h 0 = r C 2 ϵ 2 . The baseline radius was set to r C = 30   mm to fit within the working area of the Sonic Mini 3D printer. Finally, the actual cam profile was calculated using the equations from [12]
x P = x r f · d y / d θ ( d x / d θ ) 2 + ( d y / d θ ) 2 y P = y + r f · d x / d θ ( d x / d θ ) 2 + ( d y / d θ ) 2 ,
where ( x P , y P ) are the coordinates of the final cam profile and θ is the rotation angle. These equations take into account the radius r f of the cam follower pin at J 2 . The constraint r f κ 1 must hold, where κ is the curvature of the cam profile, defined as
κ = x P y P y P x P ( x P 2 + y P 2 ) 3 / 2 ,
where the notations a d a / d θ and a d 2 a / d θ 2 . The minimum radius of curvature for the cams used is κ 1 = 1.28   mm . Thus, r f = 0.5   mm is a good choice. Measurements were conducted with y m a x { 0.75 ; 1 ; 1.5 } mm . Smaller amplitude has the advantage of smaller pressure angle ϕ and smaller lever length r 1 , but may reach the accuracy limitations of 3D printing.
A Python software package was developed that automates the aforementioned steps of designing a cam based on an input waveform. It also adds a cylindrical side protrusion (baseline rim) near the baseline of the signal ( r r i m = r 1   mm ), that helps detect printing distortions and positioning errors. The cam follower at J 2 has two low-friction stainless steel pins, one following the signal contour and one for the baseline rim. The software uses the OpenSCAD 2021.01 code-based Computer Aided Design (CAD) tool [13] to generate a 3D-printable STL file from the auto-generated SCAD code.
Two 3D printing technologies were tested: (1) a Craftbot printer (CraftUnique Kft.; Budapest, Hungary) with polylactic acid (PLA) filament and (2) a Sonic Mini 8k printer (Phrozen Technology Co., Ltd.; Hsinchu, Taiwan) with Phrozen resin (TR300). Craftbot with PLA filament was used for printing all structural and support parts of the simulator.

2.3. Software

Two software packages were developed in the Python programming language. First, the package bpwave [14] provides a general-purpose signal representation data structure, bpwave.Signal, for Arterial Blood Pressure (ABP) signals. It stores the time series, characteristic points, marks (named indices), and measurement metadata.
Second, the cam_bpw_sim package [15] contains algorithms specifically designed to support simulator development. These include cam generation, measurement evaluation, and scripts for reproducing the results presented in this article. The package has a low-level and a high-level Application Programming Interface (API) and a command-line application. The cam_bpw_sim.cam module supports generating printable cams from arbitrary time series, including the preprocessing, transformation, and calculation steps described in Section 2.2. A quality check is included to warn the user if the signal is unsuitable for a cam with the provided parameters (undercutting happens). The cam_bpw_sim.signal module provides extensions to the aforementioned bpwave package for normalization, resampling, denoising, characteristic point detection (see Section 2.8), and baseline wander correction. Interfaces let users implement their own characteristic point detection and baseline correction algorithms as drop-in replacements of our implementations in the evaluation code. The results presented in this article were calculated using the cam_bpw_sim.val module. The validation workflow is implemented using Jupyter notebooks to facilitate easy customization and detailed inspection of intermediary results. The application saves cam models, signals, and measurement files in a structured format, along with the metadata required to reproduce validation results. These are stored in HDF5 and JSON file formats to ensure interoperability with other software platforms, such as MATLAB (The MathWorks, Inc.; Natick, MA, USA).

2.4. Configuration

The user can control the output signal without developing new components, using the adjustable joints and the cam. The adjustable parameters include the following:
  • the cam profile, which defines the input waveform h ( θ ) ;
  • r 1 [ 200 , 600 ] mm , the distance of J 1 and J 2 along the lever L (the fulcrum can slide on L);
  • r 2 [ 20 , 200 ] mm , the distance of J 1 and J 3 along L ( R v can slide on R h );
  • ϵ [ 5 , 5 ] mm , the eccentricity, the horizontal distance of J 2 and O;
  • and h S [ 135 , 140 ] mm , the height of sensor along the vertical rail R v .
Adjusting these parameters allows fine-tuning of the baseline force applied to the sensor. These parameters are summarized in Table 2. These values can be passed to the software via the MeasEnvironment Python class, which is automatically filled from the measurement setup configuration and cam metadata files. The user can control supply voltage U as well in the range of 10–14 V to simulate an approximation of different heart rates with the same waveform.

2.5. Sensor for Validation

As a validation device, the OptoForce OMD-20-SE-40N, a 3D tactile force sensor [16] made by OnRobot, Odense, Denmark (formerly OptoForce, Budapest, Hungary) was used. It consists of a silicone rubber hemisphere with translucent fill and a reflective inner surface. The deformation of the hemisphere is measured optically. Infrared light is reflected onto multiple light-sensing elements, and the amount of reflected light changes as the dome deforms. This allows the calculation and recording of a 3D force vector. As shown in [17], this sensor is suitable for measuring human CNIBP waveforms based on the principle of applanation tonometry.

2.6. Validation Protocol

The measurement protocol defines a 3 min 20 s long recording using the OptoForce OMD-20-SE-40N sensor as follows:
1.
With the force sensor lifted, insert the signal cam.
2.
Set the sampling frequency to f s = 333   H z , lower the sensor, and adjust its tilt to minimize the x and y components of the measured force vector.
3.
Start the motor and adjust r 2 then h S so that realistic signal amplitude and minimum sensor value (baseline amplitude), respectively, can be acquired.
4.
Rotate the cam to a position between the zero mark (indicated by the < symbol on the printed model) and the dicrotic peak of the previous cardiac cycle.
5.
Start the measurement and record 20 s of data from the resting sensor. This segment is used to evaluate the sensor’s baseline noise level and baseline wander.
6.
Start the motor and record 3 min of the simulated signal.
7.
Stop the recording.
8.
Stop the motor.

2.7. Validation Measurements

The validation process was carried out using the accompanying software package cam_bpw_sim.
First, cam models were generated for the eight signals introduced in Section 2.2 and printed using a 3D resin printer. The simulator was configured with the following parameters: r 1 = 500   mm , r 2 = 23   mm , ϵ = 0   mm , and supply voltage U = 12   V . r 2 20   mm because of the horizontal dimensions of the fulcrum and T. The value of r 1 was selected to achieve the desired sensor-specific scaling factor, based on preliminary test measurements, targeting a sensor output in the range of 900–1100 units. Setting ϵ = 0 simplifies the calculation in Equation (1), and 12 V is the recommended supply voltage for the GW370 motor. Finally, the sensor’s tilt and baseline pressure were adjusted.
In total, 55 waveform measurements were conducted using simulator hardware version 1.0. For each of the nine cams (see Table 3), four consecutive measurements were performed: three recordings of the BP waveform and one recording of the baseline rim of the cam with systolic peak marking for synchronization. This measurement sequence was repeated twice. Three additional measurements were conducted with waveform AAC27 prior to the durability testing. Each measurement included approximately 30 full cam rotations. The logged sensor data was processed offline.

2.8. Preprocessing of the Measured Data

Prior to statistical analysis, the raw sensor data was preprocessed as illustrated in Figure 4. The Euclidean norm of the logged force components ( x , y , and z ) was computed to obtain the vector magnitude, forming a time series with the nominal sampling frequency f s = 333   H z , assuming uniform sampling intervals. First, the time series was segmented into noise and signal sections by detecting the first onset through thresholding. Characteristic points were then identified using a custom algorithm, cam_bpw_sim.signal.ScipyFindPeaks, which leverages scipy.signal.find_peaks applied to both the signal and its derivative. This process detects key features, including rising edges, onsets, systolic, dicrotic and reflected peaks, if present, as well as the dicrotic notch.
The statistical analysis requires two different transformed versions of the signal. (1) A signal with long-term baseline wander (BW) removed. This is achieved by subtracting a cubic spline fit calculated from the first onset of each full cam rotation (FCR). This type of baseline wander is attributed to the sensor; removing it makes FCRs comparable while preserving cam baseline errors, which are important for quality assessment. (2) A signal with full baseline correction, obtained by subtracting the cubic spline fit calculated from all detected onsets. This transformation eliminates baseline errors originating from the cam, which are caused by printing distortions such as non-uniform scaling and internal stresses, thereby making the waveform comparable to the nominal reference.
The nominal signal was resampled and transformed to match the sampling frequency and the amplitude of the measured signal. Each signal was segmented into FCRs using an algorithm based on cross-correlation with the adjusted nominal signal. Each cam rotation was further divided into cardiac cycles based on the onset points of the nominal signal. At both segmentation levels, sufficiently large margins were added to the signal segments to ensure inclusion of the first and the last onset points, accounting for uncertainties in point detection. These margins were excluded from waveform comparisons and were only in the statistical analysis of characteristic points.

2.9. Measurement Data Analysis

This validation system can evaluate the accuracy, precision, sensitivity, robustness, durability, and reliability of a sensor—or, as in this manuscript, these properties of the simulator itself—by comparing its output to that of a validated sensor.
The accuracy of the simulator was assessed using root mean squared error (RMSE), defined as RMSE ( y , y 0 ) = 1 N i = 1 N ( y i y 0 i ) 2 , where N is the number of samples, y i is a single measured value, y 0 is the corresponding nominal value. Pearson correlation coefficients were also calculated, both between pairs of fully measured cam rotations and the nominal signal and between pairs of individual measured cardiac cycles and the corresponding nominal cycles. Additionally, the standard deviation (STD) of the characteristic point positions was computed to assess variability. Since RMSE and STD are expressed in the original scale of the measurements, they can be directly compared to the noise levels observed on the unactuated sensor. Pearson correlation coefficients were calculated using scipy.stats.pearsonr. Precision of the system was evaluated by calculating RMSE between pairs of raw cam rotations, as well as between corresponding characteristic points across measurements.
System durability and reliability were assessed through a one-hour measurement using the AAC27 cam, during which signal error was evaluated over time. Long-term baseline wander was estimated by fitting a cubic spline to the first onset point of each FCR. After baseline correction, short segments at both ends of the signal were discarded to avoid boundary effects from the spline fitting. Within a rolling window of N = 30 FCRs, both cross-RMSE (between measured rotations) and the RMSE against the nominal signal were computed.
Three additional measurements were performed to evaluate the effect of different supply voltages.

3. Results

The unit of the RMSE in the following sections is the sensor output values as measured by the OptoForce sensor, unless otherwise specified.
First, the accuracy of the simulated waveforms was determined in terms of RMSE and Pearson’s correlation coefficient ρ , by comparing entire waveforms of baseline-corrected full cam rotations to the corresponding nominal waveform. The resulting statistics are summarized in Table 4. The relative RMSE ( RMSE r e l ) ranged from 0.0194 ± 0.0044 to 0.0274 ± 0.0063 , while the corresponding Pearson correlation ( ρ r e l ) ranged from 0.9984 ± 0.0013 to 0.9939 ± 0.0018 .
Second, the characteristic points of the measured and nominal signals were compared in terms of both timing and amplitude. It is important to note that this evaluation may be influenced by the accuracy of the point detection algorithm, as characteristic points can be ambiguous in regions with flat peaks or shoulder-like features.
Precision was assessed by cross-comparing full cam rotations, with the long-term baseline wander removed (see Figure 5). The RMSE value ranged from 0.0153 ± 0.0071 to 0.0213 ± 0.0116 , while Pearson’s correlation coefficient ρ ranged from 0.9985 ± 0.0016 to 0.9959 ± 0.0057 . These results are summarized in Table 5.
To evaluate sensitivity, the dimensional accuracy of the 3D printers was assessed using the baseline rim feature of the printed cams. Measurements of this cylindrical feature at the onset positions yielded diameters of 58.02 ± 0.03  mm for resin cams and 57.88 ± 0.06  mm for PLA cams, compared to the nominal 58mm. In this setup, concave regions of the waveform must have a radius of curvature greater than 0.5mm to avoid undercutting. For rising edges approaching vertical slopes, an inverted cam design is recommended with a class 1 lever configuration.
To assess reliability, the median cross-RMSE over the full measurement period was approximately 1.6 units of amplitude. The median cross-RMSE within a rolling window of 30 FCRs varied between 1.5 and 2 units, maintaining a stable level over time (see Figure 6, which indicates that the system’s precision does not degrade significantly during measurement. In terms of accuracy, the rolling RMSE relative to the nominal signal remained at a median level of approximately 3.5 units until around 2500 s, after which the error began to increase. This increase can be attributed to the slowly decreasing amplitude over time, likely caused by a sensor-specific issue, and to a reduction in motor speed due to the power supply limitations.
The proposed system can simulate BP waveforms with different speeds, controlled by the input voltage supplied to the DC motor. Measurements using the selected AAC27 signal showed that changing the supply voltage in the range of 10–14 V had no significant effect on precision. However, accuracy was highest at the nominal voltage of 12V (see Table 6).
Finally, the impact of lever configuration on signal generation was evaluated. To isolate the effect of configuration alone, r 1 and r 2 were kept constant. Two measurements were compared: one using a class 2 configuration using the cam AAC27_rf50_Phr1 and one using a class 1 configuration using the inverted cam AAC27i_Phr2. The amplitudes of pressure (125.8 vs. 122.5), precision ( 1.9283 ± 0.6495 vs. 2.0123 ± 0.4673 ), and accuracy ( 2.5609 ± 0.2946 vs. 3.0925 ± 0.1388 ) were comparable. However, the inverted cam appeared more sensitive to printing artifacts near waveform peaks, likely due to additive surface distortions. FCR-wise, the cross RMSE between the class 1 and class 2 time series was 7.5293 ± 0.4988 in sensor output units. See visual comparison in Figure 7.

4. Discussion

The simulator presented here is intended to support the early-stage development of CNIBP sensors utilizing applanation tonometry. The simulator produces vertical motion that follows a waveform defined by the cam profile. The mechanical components in direct contact with the sensor under evaluation are designed to be easy to customize; in particular, the pressure tip can be modified to present different contact surfaces—such as point-like, planar, or cylindrical—mimicking the shape of the pulsating surface of the radial artery. An elastic coating, such as PDMS, may also be applied to the pressure tip to replicate the damping effect of soft tissues between the arterial wall and the sensor. The choice of contact surface depends on the sensor geometry and the specific testing conditions. It is also important that simulated measurements yield sensor outputs within the range expected in human subjects. To accommodate varying different sensitivities, the simulator enables easy adjustment of baseline and pulse amplitudes via the parameters h S and r 2 , respectively. The cam surface is also highly customizable: besides representing baseline-corrected BP waveforms, baseline wander can also be intentionally introduced. In such cases, the baseline wander correction step should be omitted during evaluation. The number of cardiac cycles per full cam rotation depends on two factors: the motor’s rotation speed and the fabrication feasibility of the cam, specifically, constraints related to pressure angle and curvature.
The simulator was validated using the OMD-20-SE-40N 3D force sensor, which has been previously shown to provide high-precision applanation tonometric measurement of continuous blood pressure waveforms on the radial artery [17]. However, known limitations of the sensor affect the measurement results presented here, namely measurement noise and long-term baseline decrease. As a result, the error metrics reported in this study reflect both the printing inaccuracies and the measurement noise inherent to the OptoForce sensor.
The evaluation results indicate that the simulator is capable of reproducing various types of pre-recorded waveforms with sufficient precision and accuracy for both long (45 min) and short (2–5 min) timeframes, fulfilling the requirements for monitoring and diagnostic applications. On a static surface, the average noise amplitude measured by the force sensor ranges between three and six sensor output units. Therefore, the reported precision and accuracy errors are comparable in magnitude to the inherent sensor noise.
A major limitation of the presented simulator design is that the fidelity of the simulated waveform strongly depends on the quality and accuracy of 3D printing used to fabricate the cams. Cams printed from PLA filament tend to be durable and have smooth surfaces, but the use of belt-driven printer heads introduces geometric distortions in the printed part. However, this distortion can be approximated and partially compensated by applying a non-uniform scaling, derived from the measurement of a calibration specimen printed prior to the cam. A corresponding calibration model is provided in [18]. Stereolithography (photopolymer resin printing), in contrast, offers high geometric accuracy but tends to produce less smooth surfaces on features perpendicular to the XY plane, such as the cam profile, due to pixelation, rounding artifacts, and post-processing effects. For both tested printing technologies, accuracy was influenced by the complexity and feature-richness of the desired waveform. It was observed that in resin-printed cams, waveform segments between the dicrotic peak and the subsequent onset were more susceptible to printing noise. Beyond printability, if the target waveform violates the curvature constraint κ 1 < r f , a feasible solution is to reduce the number of cardiac cycles per cam rotation and increase the rotation speed. cam_bpw_sim includes tools to identify problematic cam regions, which can then be addressed by adjusting printing parameters or through manual post-processing. For direct cam quality assessment, currently, the following method can be used. A marker was placed on the cam follower head ( J 2 ) and a video was recorded with a high-frame-rate camera (Google Pixel 5 with external Hama macro lens, via the OpenCamera app). Similarly to the aforementioned measurement protocol, the recording began at the marked onset of the cam. Ten rotations were included at a frame rate of approximately 240 Hz. The marker position was tracked offline, and an averaged displacement profile was extracted and compared to the nominal waveform. The best-performing cam, printed with Phrozen TR300 resin, yielded a 3.11% NRMSE. In comparison, PLA filament with compensation of uneven scaling showed 5.7% and Phrozen Nylon-Green resin had 6.62%. Note that these errors reflect both eccentricity and profile deviations.
The fabrication complexity and cost of the proposed simulator are significantly lower than those of the existing solutions introduced in Section 1, primarily because previous designs rely on advanced and costly control hardware and materials, whereas the present system can be assembled using standard components and 3D-printed parts with basic tools. These characteristics make the proposed design a cost-effective option for smaller laboratories or research groups with limited resources. In comparison with the existing 3D-printed cam-based simulators (Hsieh et al. [6]), the proposed system generates waveforms with both realistic and adjustable amplitude. Furthermore, it extends prior work [3,5,6] by incorporating a cam profile that represents multiple cardiac cycles, rather than a single cardiac cycle.
After assembly, it is recommended to calibrate both the system and the cams using a gauge capable of continuous force or displacement measurement. Then, cam_bpw_sim can be used for evaluation.

5. Conclusions

A hardware–software system was successfully implemented to provide a validation environment to aid the development of continuous noninvasive arterial blood pressure sensors. The simulator is easily configurable to adapt sensors with different measurement ranges and precision, enabling test measurements with amplitudes comparable to those observed in human subjects. Unlike existing solutions [3,5,6], the presented system includes a software package that enables developers to generate cams for arbitrary waveforms via rapid prototyping and to evaluate both the simulator and the pressure sensors of their choice. In line with the Open Science initiative, the entire design is open-source and available at [15,18,19] under an MIT license. The system was developed entirely using free and open-source software.
The simulator was validated using nine cams designed to represent human ABP waveforms across different age groups and physiological characteristics. Measurements with the OptoForce OMD-20-SE-40N sensor demonstrated that the target waveforms can be reproduced with an error comparable to the measurement error of the sensor. Precision error ranged from 1.53 ± 0.71% to 2.13 ± 1.16%, while accuracy values ranged from 97.94 ± 0.44% to 97.72 ± 0.63%. In terms of coefficient of variation (CV), the simulator presented here demonstrated a repeatability ranging from C V = 0.5 % to C V = 0.55 % , depending on the cam used. For heart rate repeatability, CV values were between 0.44% and 1.04%. However, this quantity strongly depends on the characteristic point detection algorithm or on variability in the DC motor’s performance.
Consequently, a simple, easily reproducible, yet robust blood pressure waveform simulator was developed to support the early-stage development of CNIBP waveform measurement systems based on pressure or force sensors. This simulator is particularly well-suited for testing force sensors that rely on mechanical deformation of elastic materials, as it enables precise control of the pressure head displacement through the cams and the scaling mechanisms.
Future improvements in waveform quality, particularly long-term accuracy, could be achieved by replacing the DC motor with a stepper motor; however, this would increase production costs. Additionally, the introduction of an artificial skin layer, made of Rubosil (a silicone product of Bondex Szilikontechnika Kft.), is planned to simulate the damping, friction, and elasticity of skin and subcutaneous tissues (Figure 8).

Author Contributions

Conceptualization, A.R. and S.F.; data curation, A.R.; formal analysis, A.R.; funding acquisition, G.C.; investigation, A.R.; methodology, A.R.; project administration, A.R. and S.F.; resources, A.R. and S.F.; software, A.R.; supervision, P.S. and G.C.; validation, A.R. and S.F.; visualization, A.R.; writing—original draft, A.R.; writing—review & editing, S.F. and P.S. All authors have read and agreed to the published version of the manuscript.

Funding

This work has been partially supported by the Ministry of Culture and Innovation of Hungary from the National Research, Development, and Innovation Fund, financed under the 2020-1.1.5-GYORSÍTÓSÁV funding scheme (project no. 2020-1.1.5-GYORSÍTÓSÁV-2021-00022). This work has been partially supported by the Ministry of Culture and Innovation of Hungary from the National Research, Development, and Innovation Fund, financed under the TKP2021-NKTA funding scheme (project no. TKP2021-NKTA-66).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The original data presented in the study are openly available in GitHub at https://github.com/repat8/cam-bpw-sim-pub (version 1.0.0) (accessed on 17 August 2025).

Conflicts of Interest

Author Attila Répai is employed by the company Jedlik Innovation Ltd. The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
AAC“Autonomic Aging: A dataset to quantify changes of cardiovascular autonomic function during healthy aging” [11]
ABPArterial blood pressure
APIApplication programming interface
BPBlood pressure
BWBaseline wander
CADComputer aided design
CNIBPContinuous noninvasive blood pressure
CVCoefficient of variation
DCDirect current
FCRFull cam rotation
PDMSPoly(dimethylsiloxane)
PLAPolylactic acid
RMSERoot mean square error
STDStandard deviation
TCMTraditional Chinese medicine

References

  1. Ng, K.G.; Ting, C.M.; Yeo, J.H.; Sim, K.W.; Peh, W.L.; Chua, H.N.; Chua, N.K.; Kwong, F. Progress on the development of the MediWatch ambulatory blood pressure monitor and related devices. Blood Press. Monit. 2004, 9, 149–165. [Google Scholar] [CrossRef] [PubMed]
  2. Heo, H.; Kim, E.G.; Nam, K.C.; Huh, Y. Radial artery pulse wave simulator using a linear motor. In Proceedings of the 2008 30th Annual International Conference of the IEEE Engineering in Medicine and Biology Society, Vancouver, BC, Canada, 21–24 August 2008; pp. 4895–4898. [Google Scholar] [CrossRef]
  3. Yang, T.H.; Jo, G.; Koo, J.H.; Woo, S.Y.; Kim, J.; Kim, Y.M. A compact pulsatile simulator based on cam-follower mechanism for generating radial pulse waveforms. BioMed. Eng. OnLine 2019, 18, 1. [Google Scholar] [CrossRef] [PubMed]
  4. Jun, M.H.; Kim, Y.M. Accuracy Evaluation of Robotic Tonometry Pulse Sensor System Based on Radial Artery Pulse Wave Simulator. IEEE Trans. Instrum. Meas. 2020, 69, 7646–7657. [Google Scholar] [CrossRef]
  5. Kim, D.J.; Jo, G.; Koo, J.H.; Yang, T.H.; Kim, Y.M. Development of a Simulator Capable of Generating Age-Specific Pulse Pressure Waveforms for Medical Palpation Training. Appl. Sci. 2022, 12, 11555. [Google Scholar] [CrossRef]
  6. Hsieh, T.C.; Wu, C.M.; Tsai, C.C.; Lo, W.C.; Wang, Y.M.; Smith, S. Portable Interactive Pulse Tactile Recorder and Player System. Sensors 2021, 21, 4339. [Google Scholar] [CrossRef] [PubMed]
  7. McLellan, S.; Liese, C.; Andrews, M.; Boudreaux, M.; Boudreaux, G.F.; Chabot, E.; Sun, Y. A microprocessor-based wrist pulse simulator for pulse diagnosis in traditional Chinese medicine. In Proceedings of the 2014 40th Annual Northeast Bioengineering Conference (NEBEC), Boston, MA, USA, 25–27 April 2014; pp. 1–2. [Google Scholar] [CrossRef]
  8. Yang, T.H.; Kim, J.; Kim, Y.M.; Koo, J.H.; Woo, S.Y. A New Blood Pulsation Simulator Platform Incorporating Cardiovascular Physiology for Evaluating Radial Pulse Waveform. J. Healthc. Eng. 2019, 2019, 4938063. [Google Scholar] [CrossRef] [PubMed]
  9. Norton, R. Design of Machinery: An Introduction to the Synthesis and Analysis of Mechanisms and Machines; McGraw-Hill Companies: Columbus, OH, USA, 2012; Chapter 8. [Google Scholar]
  10. Goldberger, A.; Amaral, L.; Glass, L.; Hausdorff, J.; Ivanov, P.C.; Mark, R.; Stanley, H.E. PhysioBank, PhysioToolkit, and PhysioNet: Components of a new research resource for complex physiologic signals. Circulation 2000, 101, e215–e220. [Google Scholar] [CrossRef] [PubMed]
  11. Schumann, A.; Bär, K. Autonomic Aging: A dataset to quantify changes of cardiovascular autonomic function during healthy aging (version 1.0.0). PhysioNet 2021. [Google Scholar] [CrossRef] [PubMed]
  12. Zhang, Y.; Finger, S.; Behrens, S. Introduction to Mechanisms. Available online: https://www.cs.cmu.edu/~rapidproto/mechanisms/chpt6.html (accessed on 12 June 2025).
  13. Kintel, M. OpenSCAD: The Programmers Solid 3D CAD Modeller. 2022. Available online: https://openscad.org (accessed on 12 June 2025).
  14. Répai, A.; Földi, S. bpwave—Blood Pressure Waveform Processing Toolbox (Version 0.0.3). 2024. Available online: https://github.com/repat8/bpwave (accessed on 12 June 2025).
  15. Répai, A. cam_bpw_sim—Cam Generating and Validation Software for a Cam-Based Blood Pressure Waveform Simulator (Version 0.1.1). 2025. Available online: https://github.com/repat8/cam-bpw-sim (accessed on 12 June 2025).
  16. Tar, A.; Cserey, G. Development of a low cost 3D optical compliant tactile force sensor. In Proceedings of the 2011 IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM), Budapest, Hungary, 3–7 July 2011; pp. 236–240. [Google Scholar] [CrossRef]
  17. Földi, S.; Horváth, T.; Zieger, F.; Sótonyi, P.; Cserey, G. A novel non-invasive blood pressure waveform measuring system compared to Millar applanation tonometry. J. Clin. Monit. Comput. 2018, 32, 717–727. [Google Scholar] [CrossRef] [PubMed]
  18. Répai, A. Cam-Based Blood Pressure Waveform Simulator (Version 1.0). 2025. Available online: https://github.com/repat8/cam-bpw-sim-hardware (accessed on 12 June 2025).
  19. Répai, A.; Földi, S. bpwave (Version 0.0.3). 2024. Available online: https://pypi.org/project/bpwave/ (accessed on 12 June 2025).
Figure 1. Parts of the simulator: an exchangeable cam C with center O rotated by motor M; lever L between revolute joint J 1 and the half joint of the cam follower J 2 ; a translating follower T attached to J 3 at adjustable horizontal and vertical positions along rails R h and R v in contact with sensor S at point P; sensor-specific holder H; all parts mounted on rail R h . Lever L is also guided by fork F.
Figure 1. Parts of the simulator: an exchangeable cam C with center O rotated by motor M; lever L between revolute joint J 1 and the half joint of the cam follower J 2 ; a translating follower T attached to J 3 at adjustable horizontal and vertical positions along rails R h and R v in contact with sensor S at point P; sensor-specific holder H; all parts mounted on rail R h . Lever L is also guided by fork F.
Sensors 25 05173 g001
Figure 2. Schematic drawing of the simulator, visualizing a class 2 arrangement (a) as generated by MeasEnvironment.simulator.draw(). d f and d l f are the follower diameters, design choices based on cam profile curvature and durability. In the case of a class 1 setup (b), the fulcrum is between the cam and the sensor holder.
Figure 2. Schematic drawing of the simulator, visualizing a class 2 arrangement (a) as generated by MeasEnvironment.simulator.draw(). d f and d l f are the follower diameters, design choices based on cam profile curvature and durability. In the case of a class 1 setup (b), the fulcrum is between the cam and the sensor holder.
Sensors 25 05173 g002
Figure 3. Waveforms of the cams ordered by age group (amplitude vs. rotation angle).
Figure 3. Waveforms of the cams ordered by age group (amplitude vs. rotation angle).
Sensors 25 05173 g003
Figure 4. Flowchart of signal preprocessing.
Figure 4. Flowchart of signal preprocessing.
Sensors 25 05173 g004
Figure 5. Thirty-two full rotations of the AAC27 cam, aligned using cross-correlation after removal of long-term BW. Consecutive cycles are shown in different colors.
Figure 5. Thirty-two full rotations of the AAC27 cam, aligned using cross-correlation after removal of long-term BW. Consecutive cycles are shown in different colors.
Sensors 25 05173 g005
Figure 6. Rolling cross-RMSE of the long-term measurement with respect to time.
Figure 6. Rolling cross-RMSE of the long-term measurement with respect to time.
Sensors 25 05173 g006
Figure 7. Comparison of stacked FCRs measured with a class 2 configuration (”orig.”), a class 1 configuration (”inv.”), and the nominal signal (”nom.”).
Figure 7. Comparison of stacked FCRs measured with a class 2 configuration (”orig.”), a class 1 configuration (”inv.”), and the nominal signal (”nom.”).
Sensors 25 05173 g007
Figure 8. The extension module for simulating the effects of skin on the measurement. The elongated pulsating element (a) can be covered with layers of silicone skin (b).
Figure 8. The extension module for simulating the effects of skin on the measurement. The elongated pulsating element (a) can be covered with layers of silicone skin (b).
Sensors 25 05173 g008
Table 1. Signal sample selection from [11].
Table 1. Signal sample selection from [11].
Signal IDRecord IDAge GroupFrom ith Onset
AAC27_22002718–1922
AAC409_0040925–290
AAC4_0000430–340
AAC3_3000345–493
AAC364_0036450–540
AAC49_21004960–6421
AAC276_4027675–794
AAC249_0024980–840
Table 2. Configuration of the system. cam_bpw_sim versions are 0.1.0/0.1.1. Supply voltage is included in the class MeasWithMeta that extends MeasEnvironment.
Table 2. Configuration of the system. cam_bpw_sim versions are 0.1.0/0.1.1. Supply voltage is included in the class MeasWithMeta that extends MeasEnvironment.
Notationcambpwsim.meas.MeasWithMetaDescriptionRange/Value
h ( θ ) nominalCam profile (pitch curve) y m a x 1.5   mm
(none)simulator.lever_classLever class I. or II.1 or 2
r 1 simulator.lever_r1The distance of J 1 and J 2 along L (the fulcrum can slide on L)200–600 mm
r 2 simulator.lever_r2The distance of J 1 and J 3 along L ( R v can slide on R h )20–200 mm
ϵ simulator.fulcrum_x - lever_r1Eccentricity, i. e. the horizontal distance of J 2 and O | ϵ | 5   mm
d f = 2 r f simulator.cam_follower_dDiameter of the cam followerCurrently 1mm
h f simulator.cam_follower_hVertical distance between the cam follower and the fulcrum shaftCurrently 0
d l f simulator.lever_follower_dDiameter of the rolling head of TCurrently 8mm
h S (not used directly)The height of sensor along the vertical rail R v 135–140 mm
Umeas_params.uSupply voltage10–14 V
r C cam_params.rBaseline radius of the camCurrently 30mm
r r i m cam_params.r_rimRadius of the baseline rimCurrently 29mm
d O cam_params.d_shaftDiameter of the motor shaft6mm for GW370
(none)cam_params.invertInvert pitch curveboolean
Table 3. Summary of cam and measurement properties. r f [mm] refers to the cam follower radius for which the cam was designed. Meas. ampl. [sensor unit] indictes the mean pulse pressure amplitude recorded during measurements, and # meas. denotes the number of measurements performed using the same cam. The pitch curve amplitude was fixed at y m a x = 1   m m for all cams. All were printed using Phrozen TR300 resin. Cam AAC27i_Phr2 is an inverted version of AAC27_rf50_Phr1, specifically designed for class 1 lever configuration.
Table 3. Summary of cam and measurement properties. r f [mm] refers to the cam follower radius for which the cam was designed. Meas. ampl. [sensor unit] indictes the mean pulse pressure amplitude recorded during measurements, and # meas. denotes the number of measurements performed using the same cam. The pitch curve amplitude was fixed at y m a x = 1   m m for all cams. All were printed using Phrozen TR300 resin. Cam AAC27i_Phr2 is an inverted version of AAC27_rf50_Phr1, specifically designed for class 1 lever configuration.
CamSignal r f Meas. Ampl.# Meas.
AAC249_Phr2AAC249_00.0121.126
AAC276_Phr2AAC276_40.0124.506
AAC27_rf50_Phr1AAC27_220.5120.426
AAC27i_Phr2AAC27_220.5126.396
AAC364_Phr1AAC364_00.5130.766
AAC3_Phr1AAC3_30.0124.036
AAC409_Phr1AAC409_00.5122.856
AAC49_Phr1AAC49_210.5132.006
AAC4_Phr1AAC4_00.0122.516
Table 4. Accuracy of the simulated waveforms compared to the nominal signal. #Comp indicates the total number of comparisons, E represents the error as defined by RMSE ( measured FCR , nominal waveform ) , in original units and E r e l denotes the relative error compared to the mean pulse pressure amplitude.
Table 4. Accuracy of the simulated waveforms compared to the nominal signal. #Comp indicates the total number of comparisons, E represents the error as defined by RMSE ( measured FCR , nominal waveform ) , in original units and E r e l denotes the relative error compared to the mean pulse pressure amplitude.
Cam#Comp E ¯ σ ( E ) med ( E ) E rel ¯ σ ( E rel ) med ( E rel )
AAC409_Phr11682.37840.53502.19620.01940.00440.0179
AAC249_Phr21812.48970.39882.39870.02060.00330.0201
AAC49_Phr11672.83490.61332.66030.02150.00470.0203
AAC4_Phr11812.78310.40782.65880.02280.00310.0220
AAC364_Phr11713.01100.77782.82970.02300.00590.0217
AAC27_rf50_Phr11802.91500.57192.77100.02430.00430.0235
AAC3_Phr11773.05471.34112.55770.02470.01120.0201
AAC27i_Phr21683.24430.42243.12910.02570.00330.0250
AAC276_Phr21763.42230.87193.14560.02740.00630.0253
Table 5. Precision measurements: cross comparison of full cam rotations. #Comp denotes the total number of pairwise comparisons (excluding self-comparisons). E represents the error (RMSE), in sensor output units and E r e l is the relative error compared to the mean pulse pressure amplitude.
Table 5. Precision measurements: cross comparison of full cam rotations. #Comp denotes the total number of pairwise comparisons (excluding self-comparisons). E represents the error (RMSE), in sensor output units and E r e l is the relative error compared to the mean pulse pressure amplitude.
Cam#Comp E ¯ σ ( E ) med ( E ) E rel ¯ σ ( E rel ) med ( E rel )
AAC4_Phr126541.87380.90601.56720.01530.00710.0129
AAC409_Phr122691.95430.83151.71160.01590.00680.0139
AAC249_Phr226501.94040.83801.71020.01600.00670.0142
AAC3_Phr125622.15201.20361.71150.01730.00920.0140
AAC49_Phr122422.46791.30092.00930.01870.00990.0152
AAC27_rf50_Phr126232.26971.22901.90150.01880.00950.0161
AAC276_Phr225032.38241.55021.82870.01900.01180.0149
AAC27i_Phr222692.54091.00332.29370.02010.00780.0182
AAC364_Phr123522.78401.51712.35960.02130.01160.0181
Table 6. Effect of input voltage on accuracy. #Comp indicates the total number of pairwise comparisons (excluding self-comparisons). E represents the error (RMSE) in sensor output units and E r e l is the relative error compared to the mean pulse pressure amplitude of the corresponding signal.
Table 6. Effect of input voltage on accuracy. #Comp indicates the total number of pairwise comparisons (excluding self-comparisons). E represents the error (RMSE) in sensor output units and E r e l is the relative error compared to the mean pulse pressure amplitude of the corresponding signal.
U#Comp E ¯ σ ( E ) med ( E ) E rel ¯ σ ( E rel ) med ( E rel )
10.0753.19730.45143.20910.02700.00380.0271
11.0883.05560.54572.87930.02590.00460.0244
12.0972.99890.44282.86600.02550.00380.0244
13.01073.14430.38493.07560.02690.00330.0263
14.01123.25020.45453.18460.02780.00390.0272
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Répai, A.; Földi, S.; Sótonyi, P.; Cserey, G. An Open Source Validation System for Continuous Arterial Blood Pressure Measuring Sensors. Sensors 2025, 25, 5173. https://doi.org/10.3390/s25165173

AMA Style

Répai A, Földi S, Sótonyi P, Cserey G. An Open Source Validation System for Continuous Arterial Blood Pressure Measuring Sensors. Sensors. 2025; 25(16):5173. https://doi.org/10.3390/s25165173

Chicago/Turabian Style

Répai, Attila, Sándor Földi, Péter Sótonyi, and György Cserey. 2025. "An Open Source Validation System for Continuous Arterial Blood Pressure Measuring Sensors" Sensors 25, no. 16: 5173. https://doi.org/10.3390/s25165173

APA Style

Répai, A., Földi, S., Sótonyi, P., & Cserey, G. (2025). An Open Source Validation System for Continuous Arterial Blood Pressure Measuring Sensors. Sensors, 25(16), 5173. https://doi.org/10.3390/s25165173

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop