Tomy Abuzairi1, Ahli Irfan1. 1. Electrical Engineering, Department of Electrical Engineering, Faculty of Engineering, Universitas Indonesia, Depok 16424, Indonesia.
Abstract
COVENT-Tester (COVID-19 VENTilator Tester) is a low-cost and open source ventilator tester developed to calibrate the output of medical ventilators, including tidal volume, inspiratory pressure, and oxygen concentration. Currently, there are several open-source ventilator testers, however, existing open-source ventilator testers are unable to measure oxygen concentration. Conversely, commercial ventilator testers with the capacity to measure tidal volume, inspiratory pressure, and oxygen concentration, are very costly. The COVENT-Tester was therefore designed to be low-cost, by using Commercial Off-The-Shelf (COTS) components, to assist the open source community for rapidly manufactured pandemic ventilators. In addition, the COVENT-Tester measurement's validation results show the tester has good accuracy.
COVENT-Tester (COVID-19 VENTilator Tester) is a low-cost and open source ventilator tester developed to calibrate the output of medical ventilators, including tidal volume, inspiratory pressure, and oxygen concentration. Currently, there are several open-source ventilator testers, however, existing open-source ventilator testers are unable to measure oxygen concentration. Conversely, commercial ventilator testers with the capacity to measure tidal volume, inspiratory pressure, and oxygen concentration, are very costly. The COVENT-Tester was therefore designed to be low-cost, by using Commercial Off-The-Shelf (COTS) components, to assist the open source community for rapidly manufactured pandemic ventilators. In addition, the COVENT-Tester measurement's validation results show the tester has good accuracy.
The severe acute respiratory syndrome coronavirus 2 (SARS-CoV-2) infection, called coronavirus disease 2019 (COVID-19), has been spread around the world and is therefore regarded as a pandemic. As at December 20, 2020, over 75 million cases and 1.6 million deaths were recorded after the pandemic began [1]. The disease’s onset appears as the virus multiplies in the lung, and alveolar damage is developed, finally inducing acute respiratory failure [2]. A medical ventilator is therefore essential for treating COVID-19 patients with severe acute respiratory failure [3], [4]. During the current COVID-19 pandemic, a number of open-source ventilators were rapidly manufactured to meet the need for medical ventilators [5], [6], [7].However, rapidly manufactured ventilators require a ventilator tester to calibrate the output performance. Currently, there are two known open-source ventilator testers, VentMon (Ventilator Monitoring) [8] and VISP (Ventilator Inline Sensor Package) [9]. VentMon is a ventilator tester utilizing pressure sensor Adafruit BME680 [10] and flow sensor Sensirion SFM3400 [11] to determine the airway pressure and tidal volume, respectively. Meanwhile, VISP is an inline ventilator tester utilizing three pressure sensors BMP388 [12] to measure airway pressure and tidal volume. However, the existing open-source ventilator testers are unable to measure oxygen concentration, while commercial ventilator testers, including Fluke VT650 [13] and Rigel Ventest 800 [14], are able to measure not only tidal volume and airway pressure but also oxygen concentration, but are very expensive ($10,000–$12,000 USD).This paper therefore introduces a COVID-19 Ventilator Tester (COVENT-Tester), designed to be low-cost, using Commercial Off-The-Shelf (COTS) components and produces easily reproducible results by exploiting a 3-D printer. The COVENT-Tester is also able to measure three important parameters, tidal volume, airway pressure, and oxygen concentration.
Hardware description
COVENT-Tester is an open-source ventilator tester calibrating a medical ventilator’s tidal volume, peak inspiratory pressure (PIP), and oxygen concentration. Fig. 1(a) shows the block diagram of the COVENT-Tester, connected to a medical ventilator on the inlet and a test lung on the outlet, while Fig. 1(b) shows the tester’s detailed parts. The COVENT-Tester’s main components include microcontroller ESP32, gas flow-rate sensor, pressure sensor, and oxygen sensor, OLED display, and 3-D print case. In this hardware, ESP32 development board was utilized as microcontroller unit because this is a low-cost, low-power system on a chip microcontroller with integrated Wi-Fi and Bluetooth [15]. The 3-D print case was developed to integrate all sensors, and the sensors’ results was displayed in the OLED SSD1306, with a size of 128 mm × 64 mm [16].
(a) COVENT-Tester block diagram. (b) Detail parts of the COVENT-Tester: 1) 3-D print sensor mounting, 2) oxygen sensor, 3) pressure sensor, 4) flow-rate sensor, 5) OLED display, 6) ADC 16-bit, 7) ESP32 microcontroller, 8) tactile switches, 9) resistor, 10) flow-meter sensor connection, 11) pressure sensor connection, and 12) oxygen sensor connection.Meanwhile, the gas flow-rate sensor GFS131 is used to measure tidal volume in milliliter (mL), by integrating flow-rate over time. This sensor has the capacity to measure gas flow-rate from 0 SLM to 200 SLM, with a full-scale accuracy of ± 4% [17]. In addition, the sensor operates at 5 V and provides a 0.5–4.5 V analogue output. Eq. (1) shows the formula used to convert the gas flow-rate sensor’s raw ADC output to SLM. Subsequently, Eq. (2) was used to calculate the tidal volume from the gas flow-rate measurement, by integrating flow-rate over time.In addition, an MPX5010 Pressure sensor from Freescale Semiconductor is used to monitor pressure from 0 to 102 cmH2O, with an accuracy of ± 5% [18]. This sensor operates at 5 V and provides a 0.2–5 V analogue output. Eq. (3) shows the formula used to convert the pressure sensor’s raw ADC output into pressure values in cmH2O.Additionally, oxygen concentration is measured by oxygen sensor Figaro KE-25 with the capacity to quantify 0–100% oxygen, using a full-scale accuracy of ± 1%, a 14 ± 2 s response time (90%), and a 10.0–15.5 mV initial voltage sensor [19]. Eq. (4) shows the formula used to convert the oxygen sensor’s raw ADC output into percentage oxygen concentration.According to Fig. 2, the work of hardware is started with each sensor sending measured analog signals in electrical voltage to the ADS1115. This in turn acts as an Analog-to-Digital Converter (ADC) converting the analog signal in forms of electrical voltage to a digital value for transmission to the ESP32 microcontroller. The ADS1115 has the capacity to measure analog voltage with a 16-bit reading resolution of 0.1875 mV and a ± 6.144 V voltage span [20]. Using Eqs. (1), (2), (3), (4), the resolution of the flow-rate sensor, pressure sensor, and oxygen concentration sensor are 0.155 mL/s, 0.004 cmH2O, and 0.3175 %O2, respectively. In addition, the ADS1115 sends sensor’s measurement in the electrical voltage’s integer format, to the ESP32 microcontroller, through Inter-Integrated Circuit (I2C) communication protocol. This communication protocol is also used by the microcontroller to communicate with the OLED display. Meanwhile, tactile switch sends a voltage as a discrete digital signal to the ESP32 microcontroller, as a trigger to change the OLED display view.
Fig. 2
COVENT-Tester operational block diagram.
COVENT-Tester operational block diagram.In this hardware, a low-cost and open-source ventilator tester, COVENT-Tester was designed, to measure a medical ventilator’s tidal volume, peak inspiratory pressure (PIP), and oxygen concentration. The benefits of this tester and system are outlined below.A simple assembly hardware with COTS hardware.The COVENT-Tester’s open-source firmware are developable for further research.An open-source file to design the sensor mounting’s 3D-print, suitable for modification and adding a new sensor.
Firmware algorithm
Main algorithm
Fig. 3 shows main algorithm of COVENT-Tester firmware uploaded to the microcontroller ESP32. After variables initiation and setting up connection to the hardware, then the firmware start looping. There are three main functions in the firmware: (1) GetData; (2) OLEDdisplay; and (3) ChangeDisp. GetData function is used to get data from the sensors, if the delta_time1 (time_now – time_prev1) is more than sampling time (10 ms). OLEDdisplay function is utilized to show data from the sensor to the OLED display, if the delta_time2 (time_now – time_prev2) is more than refresh time (200 ms). Meanwhile, ChangeDisp function is applied to change display on the OLED by using tactile switch hardware.
Fig. 3
COVENT-Tester firmware main algorithm.
COVENT-Tester firmware main algorithm.
GetData function algorithm
In general, GetData function is utilized to get ADC value from the sensors, convert it to the standard unit, and calculate tidal volume. The tidal volume is calculated using trapezoidal integration method, when flow rate value is higher than flow threshold value (0.0001 SLM). If the flow rate value is lower than the flow threshold value, the tidal volume, PIP, and oxygen variables will be reset. Finally, the current flow rate will be saved to the previous flow rate for the next itteration of volume calculation. Fig. 4 shows the GetData function algorithm.
Fig. 4
GetData function algorithm.
GetData function algorithm.
OLEDdisplay function algorithm
The OLEDdisplay function is applied to show data of the COVENT-Tester. There are five display cases changed by dispstat (the state of the switch), as shown in Fig. 5. Case 1 will show current flow rate and tidal volume. Case 2 will display peak inspiratory pressure (PIP) and peak end expiratory pressure (PEEP). In addition, Case 3 will show oxygen concentration. Case 4 will display raw ADC value of the sensors. Meanwhile, Case 5 will show current pressure, current flow rate, and current oxygen concentration.
Fig. 5
OLEDdisplay function algorithm.
OLEDdisplay function algorithm.
ChangeDisp function algorithm
The ChangeDisp function is utilized to change the status of dispstat which is the state of the tactile switch (Key1). The dispstat value will then impact the case value in the OLEDdisplay function. Fig. 6 shows the ChangeDisp function algorithm.
Fig. 6
ChangeDisp function algorithm.
ChangeDisp function algorithm.
Design files
Bill of materials
Electronic system bill of materials
Mechanical system bill of materials
Build instructions
3-D print
The sensor mounting (Mounting_COVENT-Tester.stl) and adapter (Adapter_COVENT-Tester.stl) were printed by using a 3-D printer Original Prusa i3 MK3S with the infill setting of 100% and the layer thickness of 0.2 mm. Also, Polylactic acid plus (PLA+) is recommended for 3-D print filament with a 1.75 mm filament diameter. Fig. 7(a) shows the result of the mounting sensor and the hose adapter’s 3-D print, while Fig. 7(b) shows the hose adapter attached to the mounting sensor.
Fig. 7
(a) 3-D print of the mounting sensor and hose adapter. (b) Connection between the mounting sensor and hose adapter (red circle). (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)
(a) 3-D print of the mounting sensor and hose adapter. (b) Connection between the mounting sensor and hose adapter (red circle). (For interpretation of the references to colour in this figure legend, the reader is referred to the web version of this article.)
Uploading the firmware
Prior to connecting the sensor to PCB board, the ESP32 microcontroller needs to be uploaded the firmware. The steps for uploading the firmware to ESP32 are outlined below.Install the Arduino IDE software on a computer. This is the link for downloading Arduino IDE software [21].Install bootloader for ESP32 on Arduino IDE. These are instructions for installing the ESP32 bootloader on the Arduino IDE [22].Install supporting libraries such as libraries for ADS1115 (ADS1115_WE.h) [23] and OLED display (Adafruit_SSD1306.h) [24].Open firmware program Firmaware_COVENT-Tester.ino, using Arduino IDE software.Connect the ESP32 with a computer, using a Micro-B USB cable.Select the ESP32 Dev Module microcontroller board and choose the right USB port on the Arduino IDE.Upload the firmware program on the Arduino IDE by clicking the Upload section (in the form of an arrow). Please wait until the process is finished and the words “Done Uploading”, are displayed.
Electronic system
Fig. 8 and Table 1 show the guides for connecting the electronic component with the cable.
Fig. 8
The COVENT-Tester’s electronic system. (a) Schematic circuit. (b) PCB Board of electronic component.
Table 1
The COVENT-Tester’s circuit pin connections.
ESP32
ADS1115
Flow Sensor
Oxygen Sensor
Pressure Sensor
OLED Display
Switch
Resistor
Vin
VCC
Red Wire (VCC)
–
Yellow Wire (VCC)
VCC
–
Pin 1
GND
GND
Black Wire (GND)
Black Wire (GND)
Blue Wire (GND)
GND
Pin 1
–
D21
SDA
–
–
–
SDA
–
–
D22
SCL
–
–
–
SCL
–
–
D34
–
–
–
–
–
Pin 3
Pin 2
–
A0
Yellow Wire (Data)
–
–
–
–
–
–
A1
–
–
Green Wire (Data)
–
–
–
–
A2
–
Red Wire (Data)
–
–
–
–
The COVENT-Tester’s electronic system. (a) Schematic circuit. (b) PCB Board of electronic component.The COVENT-Tester’s circuit pin connections.
Physical sensor connection
Fig. 9 shows how to connect all sensors to the 3-D print mounting. The flow-rate sensor is connected to the 3-D print outlet at the up-arrow sign, while the oxygen sensor is attached to the side of the 3-D print mounting. Meanwhile, the pressure sensor is connected with a 6 mm tube to the 3-D print mounting’s hose adapter. After all the sensors have been installed in the 3-D print mounting, connect all the sensor cable to the connector in the main board PCB.
Fig. 9
Physical sensor connection on the 3-D print of the COVENT-Tester sensor.
Physical sensor connection on the 3-D print of the COVENT-Tester sensor.
Operation instructions
The necessary instructions for using the ventilator tester properly are outlined below.Power the ESP32 microcontroller using a power adapter charger 5 V DC or power bank connected through a micro-USB port.Connect the ventilator to be tested to the flow inlet connector and test lung to the flow outlet using 22F breathing connector. Fig. 10 shows the correct airway flow, and the arrow sign that representing airway flow direction.
Fig. 10
The COVENT-Tester’s inlet and outlet connection.
The COVENT-Tester’s inlet and outlet connection.The measurement results will appear in the OLED display. Press the switch to display different parameters (Fig. 11).
Fig. 11
Measurement result of the COVENT-Tester displayed on the OLED. (a) The current pressure (P), current flow rate (Q), and current oxygen concentration (O%). (b) The average oxygen concentration (FiO2). (c) The peak inspiratory pressure (IP) and peak end expiratory pressure (EP). (d) The current flow rate (Q) and tidal volume (V).
Measurement result of the COVENT-Tester displayed on the OLED. (a) The current pressure (P), current flow rate (Q), and current oxygen concentration (O%). (b) The average oxygen concentration (FiO2). (c) The peak inspiratory pressure (IP) and peak end expiratory pressure (EP). (d) The current flow rate (Q) and tidal volume (V).Please operate the COVENT-Tester in a temperature and humidity range of 5°–40° C and 10–90 %RH, respectively.
Hardware validation
For validation, the COVENT-Tester measured tidal volume, peak inspiratory pressure (PIP), and oxygen concentration of the COVENT-20 volume-controlled ventilator (Universitas Indonesia, Indonesia) [25]. The results were compared by a reference ventilator tester, Fluke VT650 [13]. The validation was conducted using 60 tests on the 1:1 Inspiration Expiration ratio (I:E) setting, as well as a difference respiration rate from 10 to 20 bpm. In addition, the validation experiment was conducted under temperature, humidity and atmospheric pressure of 27.5 °C, 56.1 %RH, and 1012.2 mbar, respectively. In each test, the data obtained were tidal volume in mL, PIP in cmH2O, and oxygen concentration in %O2.Fig. 12, Fig. 13, Fig. 14 show the validation results between the reference and COVENT-Tester. Mean absolute percentage errors of the COVENT-Tester are 1.52% for tidal volume, 1.13% for PIP, and 0.79% for oxygen concentration. Furthermore, the largest PIP error of 5% occurred at about 14 cmH2O, while the largest tidal volume error of 2.85% was obtained at about 250 mL. From the ventilator point of view, a ± 10% predicted tidal volume range seems clinically appropriate, that represents a deviation below 1-mL/kg [26]. However, all parameters exhibited mean absolute error below 2%, indicating the tester has a good accuracy.
Fig. 12
Validation results of the tidal volume.
Fig. 13
Validation results of the PIP.
Fig. 14
Validation results of the oxygen concentration.
Validation results of the tidal volume.Validation results of the PIP.Validation results of the oxygen concentration.
Conclusion
In the current Covid-19 pandemic, medical ventilators are essential for treating COVID-19 patients with severe acute respiratory failure. Therefore, several open-source medical ventilators were rapidly manufactured to fight against the current COVID-19 pandemic, and mass manufactured medical ventilators need an instrument to calibrate the output capacity. For this reason, the low-cost, open-source COVID-19 VENTilator Tester (COVENT-Tester) was introduced. The COVENT-Tester was able to investigate the output of rapidly manufactured medical ventilator, including tidal volume, peak inspiratory pressure (PIP), and oxygen concentration, all with mean absolute percentage error below 2%. In addition, the tester is developable into a ventilator monitoring based-on IoT, for monitoring the ventilator of COVID-19 patients, because the ESP32 development board is equipped with 2.4 GHz Wi-Fi and Bluetooth.
Declaration of Competing Interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
Hardware name
COVENT-Tester
Subject area
Medical
Hardware type
Medical hardware
Open Source License
GNU General Public License (GPL) v3.0
Cost of Hardware
$190 USD
Source File Repository
https://doi.org/10.5281/zenodo.4620223
Design file name
Image
File type
Open source license
Location of the file
COVENT-Tester mounting
Mounting_COVENT-Tester.stl
STL
GNU GPL v3
https://doi.org/10.5281/zenodo.4620223
Adapter_COVENT-Tester.stl
STL
GNU GPL v3
https://doi.org/10.5281/zenodo.4620223
COVENT-Tester electronic schematic
Schematic_COVENT-Tester.pdf
–
PDF
GNU GPL v3
https://doi.org/10.5281/zenodo.4620223
Schematic_COVENT-Tester.json
–
JSON
GNU GPL v3
https://doi.org/10.5281/zenodo.4620223
COVENT-Tester firmware
Firmaware_COVENT-Tester.ino
–
Arduino sketch
GNU GPL v3
https://doi.org/10.5281/zenodo.4620223
Adafruit_SSD1306.zip
–
OLED library
GNU GPL v3
https://doi.org/10.5281/zenodo.4620223
ADS1115_WE.zip
–
ADS1115 library
GNU GPL v3
https://doi.org/10.5281/zenodo.4620223
Designator
Component
Number
Cost per unit - USD
Total cost - USD
Source of materials
ESP1
ESP32 Development Board
1
$8
$8
https://www.aliexpress.com/item/1005001757645011.html or https://www.digikey.com/en/products/detail/espressif-systems/ESP32-DEVKITM-1/13532113
S1
OLED SSD1306 128x64
1
$1.95
$1.95
https://www.aliexpress.com/item/32830523451.html
P1
ADS1115 Module ADC 16-bit
1
$14.95
$14.95
https://www.aliexpress.com/item/32817162654.html or https://www.adafruit.com/product/1085
https://www.aliexpress.com/item/32999407653.html or https://www.ebay.com/p/1720891305
Pressure Sensor
MPX5010DP Pressure Sensor
1
$16
$16
https://www.aliexpress.com/item/32973179602.html or https://www.mouser.co.id/ProductDetail/NXP-Semiconductors/MPX5010DP?qs=N2XN0KY4UWXY1XQyQ71Xsg%3D%3D