Share My Creation experimental Powered air purifying respirator

Disclaimer :


This design is not a medical device and should never be used as such.
Medical ventilator are really complex devices, they follow strict process of certification and can be lethal if used unproperly.
So, NEVER use this device to care a CODIV19 people… nor for anything else than an illustration of complexity of these systems…


Please also note that, as mentionned here : <https://github.com/jcl5m1/ventilator> , There are significant risks associated with using a high pressure BiPAP as a DIY ventilator without medical supervision.


Although very similar to a BiPAP device, This device could only be considered as very low-cost Powered Air Purifying Respirator (PAPR) with filter adapter and mask.
I took most of my inspiration from this project : <https://github.com/jcl5m1/ventilator>, but went one step further in terms of automation and pressure monitoring.


If you want to know more about CPAP machines, read this set of minimal specifications : https://assets.publishing.service.g...ds/attachment_data/file/876593/RMCPAPS001.pdf


A decent CPAP machine should be able to control these parameters :

  • CPAP: Continuous Positive Airway Pressure a non-invasive ventilation mode which provides a constant steady pressure to keep the lungs expanded
  • PEEP: The pressure maintained in the breathing system during expiration
  • cmH2O: centimetres of water pressure
  • HMEF: Heat and Moisture Exchange Filter: device fitted to the patient end of the breathing system, contains hydrophobic medium that absorbs heat and moisture from the patients exhaled breath and uses absorbed moisture to humidify inhaled gases. Can also filter bacteria and viruses, this will be used on all patients. WARNING can affect delivered pressure.
  • FiO2: Fraction of inspired oxygen: concentration of oxygen in the gas mixture the patient inhales.

CPAP.png



Invasive CPAP machines are controled in "volume" of air pushed into the lungs, here is the subset of the main specifications of these machines :

  • Must maintain a nearly constant airway pressure of between 5–15 cmH2O, with the ability to adjust the pressure. This will require the RMCPAP to deliver gas flows which equal or exceed peak inspiratory flow rates in tachypnoeic patients.
  • Must either alarm or be provided with a suitable air entrainment system if the fresh gas supply fails which prevents significant rebreathing
  • If the RMCPAP entrains room air this must pass through a suitable filter
  • Must have as low a resistance to expiration as possible and should have a flow rate through the PEEP valve which is largely independent of the PEEP level set.
  • Must have a pressure safety release valve to protect the patient from high pressures, having a release pressure of no greater than 25 cmH2O. An over-pressure alarm should be provided where possible and should not necessarily be confined to an electrically powered RMCPAP.



What is my system doing :
  • Control the volume of air pushed into the mask in a NON INVASIVE WAY…
  • Use a professionnal dust mask equiped with an exhaust valve (needed to insure security of the system)
  • Filter the air pushed into the mask
  • Be able to follow the breathing rythm and to "help" the user to breathe through the FFP2 or FFP3 filter cartridge. This means that air will be pushed when breathing and stopped during exhalation
  • Automatically adapt to the wish of the user (plus or minus air volume)
  • Is a safe system provided it is used with the indicated turbine and the indicated mask


What is my system not doing :
  • Control the PEEP (no controlable exhaust valve on my mask)
  • Control FiO2, temperature and humidity of gas
  • No calibration provided
  • Only 11cm of static pressure delivered by the turbine… so a very safe system but absolutely not useful as a medical device
  • So all in all it is far away from a CPAP machine !



The design :

The system can be explained by the following functional breakdown
functional_diagram.png



Air pressure is controled by the speed of a blower. A differential pressure sensor measures in real time the volume and pressure of airflow and provides feedback to the controler to "close the loop".



blower :



The blower is this one : Sannyo 9BMB12P2K01 .

It only has a static pressure of 12.8cm H2O (not enough for a CPAP NIV device, but enough for a good assistance for breathing through a mask).

The turbine is controled by an "inrunner brushless motor" via a PWM signal at 25kHz
blower2.PNG




The mask :

I used a dust mask designed by Delta Plus : modèle M6400

mask.png

One of the FFP3 cartridge was removed and placed on top of the turbine allowing to filter the air intake.
cartridge.png



3D printed adapters were designed to allow the mask to be plugged on standard CPAP pipes (22mm diameter)

adapters on thingiverse and also here


All this insures a "no leakage" tubing between the turbine and the mask
As mentionned the mask is equiped with an exhaust valve (in orange on the picture). There is no way to tune the exhaust pressure !

final.JPG



Pressure sensors :

Sensor has a triple function :
  • Measure air flow to allow control of the turbine speed
  • Detect breathing rythm and follow it to pulse air into the mask
  • Measure pressures in real time (PIP, Plateau and PEEP) and trace real time curves

Airflow measure is based on venturi's principle and follows Bernouilli's equations
venturi.png



A simple venturi has been 3D printed . Pressure beeing captured by two BME280 sensors.

venturi3D.JPG




BME280 are not differential sensors. They have a 1cm H2O absolute accuracy but have a better relative accuracy of 0.1cm.

So atmospheric pressure is measured on both sensors at startup and substracted to real time measures. The difference between the two sensors is performed to reach the "differential mode"



Blower control

The venturi signal is proportionnal to the airflow and thus, after discrete integration, to the air volume.
This signal is fed into a PID which generates the PWM signal to control the blower.

Command (consigne) is a parameter selected by the user.
PID.png



software :

PID loop is embeded into the ESP32 micro controler firmware.
The board is powered by a simple smartphone charger. BME280 sensors are soldered to the board via 4 wires (I2C bus)
The blower needs a 12V power supply and drives 2 to 3A max.


The board is interfaced to a "quick and dirty" Android App written with the excellent opensource language/compiler Basic4Android

App.JPG




The App allows to activate the following modes :
  • CPAP : a constant pressure is fed into the mask (the PID tries to keep this pressure constant)
  • BiPAP : an air volume is pushed into the mask during inspiration, then the motor stops during expiration. The system is following the user's breath
  • Spirometer (experimental measure of tidal volume during inspiration and expiration) : goodies of application !

monitoring is done both on the app and on the serial port of the ESP32 via the USB port

The board works without the PC or the phone

Automatic reconnection to the Bluetooth is done as soon as the App is launched (Bluetooth Low Energy stack)



First results :

System has been tested on my own lungs without damage !

I insist that this blower gives a max static pressure of 11.5 cm H2O (measured) so together with the exhaust valve of the mask everything is safe !

Here is the curve captured into the BIPAP mode. We can recognize the various parameters of a normal respiration (in blue) and see (in red) the pulses on the motor (the height being proportionnal to the command magnitude)


curve.JPG



And finally if you read all this long explaination then you can have a look at this video which is only a screen capture with sound of the app.

I put the microphone close to the blower, the mask on my head and took several breaths at various frequencies to demonstrate the breathing control on the machine !



video here switch sound ON to listen the machine ! :


Finally I must say that this system provides a really effortless way to wear a mask.
There is no effort to breathe, no moisture accumulated into the mask. And the positive pressure applied into the mask gives to the user a perfect clean fresh and filtered tidal volume of air !
 
Last edited:

JagiChan

Member
Disclaimer :
This design is not a medical device and should never be used as such.
Medical ventilator are really complex devices, they follow strict process of certification and can be lethal if used unproperly.
So, NEVER use this device to care a CODIV19 people… nor for anything else than an illustration of complexity of these systems…

Amazing engineering. Thanks for showcasing such a complex device.
 

mohamed AaL

New Member
Dear freedom2000

Honest greetings and respect


we are group of (nonprofit) researcher’s& students working on method to combat covid19 in Africa

we are impressed about your grate project (experimental Powered air purifying respirator) this project can save people life in Africa.

we are working on emergency ventilator based on rice university project

https://github.com/apollobvm

we are trying to integrate your spirometer design in the (apollobvm ventilator project) please can you help us with

software (source code for ) spectrometer monitoring & calibration on screen using serial port show consistent real time loop with no mobile application no phone only we have stm32 micro controller

our screen options

  • 7.5 Inch Bare e-Paper Screen + Driver Board Onboard ESP8266 +spi interface
https://www.banggood.com/Waveshare-...-p-1478331.html?rmmds=search&cur_warehouse=CN

  • Nextion Enhanced NX8048K070 7.0 Inch HMI Intelligent Smart USART UART Serial Touch TFT LCD Module
https://www.banggood.com/7_0-Inch-N...p-1229187.html?rmmds=myorder&cur_warehouse=CN

.........................................

please can you help us with software (source code for ) spectrometer monitoring & calibration on windows pc ?

we are happy if you give us any hardware software suggestion & learning source to modify and implement the spirometer monitoring –calibration source code

Regards

Mohamed Aal

id170072@aou.edu.sd

please see our attached files

thanks a lot in advance and god bless you
WhatsApp Video 2020-05-20 at 12.23.41 PM.mp4_snapshot_01.31.474.pngWhatsApp Video 2020-05-20 at 12.23.41 PM.mp4_snapshot_00.30.509.pngWhatsApp Video 2020-05-20 at 12.23.41 PM.mp4_snapshot_00.20.337.pngWhatsApp Video 2020-05-20 at 12.23.41 PM.mp4_snapshot_00.52.385.png
 

freedom2000

Well-Known Member
Licensed User
Hi Mohamed,

Thank you for the interest on my PAPR

As I said in the introduction this device shouldn't be considered as a medical one...

The spirometer code is included in the source dode in post 9

On the android side I simply multiply the tidalvolumes sent by the the ESP by a "calibration coefficient" :
maxTidalVol1 = tidalVol1*manager.GetString("BlowCalib")
maxTidalVol2 = tidalVol2*manager.GetString("BreathCalib")

I have determined the "BlowCalib" parameter simply by blowing into a big 5 liters bottle filled with water. My lungs air was redirected into the bottle with a pipe.
The bottle was upside down into water. So the air enters the bottle and the water escapes until your lungs are fully empty.
Then return the bottle and weigth it or add water to determine the volume.
Perform the same thing (blow unil your lung is empty) with the spirometer, get the raw value and determine the "BlowCalib" coeff.

Then breathe until your lungs are filled and get the raw value from the spirometer. Assume that the breathing volume is the same as the blowing one and compute the second coefficient..

As you may understand it is a very very coarse calibration... But it gives quite good result as a first approximation of tidal volumes.
So my advice would be NOT to use this spirometer as a medical device...

Finally, the BMP280 have a tendency to drift during time. So my "differential sensor" is not really compensated during long time usage... You should try to find a better (real) differential pressure sensor...

Once again, please do not use this experimental device as a respirator... even though it is very promissing, don't consider it as medical device ...
 

freedom2000

Well-Known Member
Licensed User
Great Work...

Could You share B4A source to make this sharing more complete?
thanks

HI,

Sorry, I will not give the Android code.
It is not a "secret code" it only allows to draw the curves and send/receive values with the ESP32 over BLE. Nothing complex and plenty of exemples to do this in this forum
The reason not to give this code is that I really do not want people to try to reassamble this device with "my code" it is just a matter of legal responsibility. I hope you understand !
 

Mark Turney

Active Member
Licensed User
Incredible and inspiring! I spent the last 20 of my 30 plus full-time working years in healthcare IT, 9 of which was with PHILIPS in their healthcare division. So from that perspective, I tip my hat to you! 👏
 

freedom2000

Well-Known Member
Licensed User
Incredible and inspiring! I spent the last 20 of my 30 plus full-time working years in healthcare IT, 9 of which was with PHILIPS in their healthcare division. So from that perspective, I tip my hat to you! 👏
Thank you Mark !
During the first week of COVID19 lockdown I had been asked by Paris Hospital (Pitié Salpêtrière) to help them to design a "mac Gyver" solution for a very low cost respirator.
I got the inspiration for my PAPR from this study.
I must say that B4X suite was a great help to prototype such a system in a very very short delay !

But as I say it's no longer a medical device !
 
Top