Note: The important file "breath_plot.html" which reneders respiration traces and calculated values from PIRDS data was moved to its own repo on Thursday, June 18, 2020.
Since March 16th, I've been working full time on this. Along with volunteers at EndCornaVirus.org and Public Invention, we have been tracking and analyzing all open-source ventilator projects we can find. It has become apparent that the biggest piece they are missing and the place Public Invention can most help is not in designing a new ventilator, but in building a test/monitoring fixture to assist other teams.
Because monitoring is critical to keeping patients alive and so similar to the need to test, we are attempting to make a combine tester/monitor.
At the moment, this repo is for that work, and also our overall strategic plan for a process that will give clinicians enough confidence to actually deploy an open-source ventilator. Our goal is to certify, in a certain limited, last-resort sense, ventilators in the case of a shortfall of commercial and professional equipment. That Strategy is discussed lower in this document.
This includes rapidly doing high-quality tests, but also includes burn-in and multi-day tests, of ventilators. Perhaps we can produce a benchmark for the multiple efforts going on right now to try to develop a Free-libre Open Source ventilator design.
For further explanation of design motivation and approach please refer to the following document - Motivation of Strategy
For a hands on demonstration and in-depth explanation of VentMon watch our screen cast!
VentMon ScreenCast
Although a work in progress, we have a user manaul.
If you have received a VentMon from us, it will have VentMonFirmware.ino installed. You are welcome to modify the VentMonFirmware.ino file as needed. To do so, you will have to install a library of our creation which encpasulates the PIRDS standard. Copy the libary pirds_library into your Arduino library location. You may need to install the Adafruit BME680 library and other libraries as well.
The idea is to make a standalone inline device plugged into the airway. It serves a dual purpose as a monitor/alarm when used on an actual patient, and a test devices for testing prototype ventilators. It also allows for burnin.
VentMon depends on the following Arduino library for communication with Sensirion flow sensors: SFM3X00
Assembly instructions can be found here: Assembly Instructions
Initial BOM can be found here: BOM
** October 10th **
We have now shipped 20 units of the VentMons to open source teams all over the world. Some of them are using them successfully. We order 15 printed circuit boards and 15 3D printed sensors ports and I built them by hand. There was an error in the PCB which has since been corrected; on the current PCBs I fix it by soldering a wire in place. The current design of the case does not do cable management as well as we should; the flow meter cable tends to fall out. We will improve this in future desgins.
** August 20th **
We have received 15 populated boards and desigend a 3D printed hat. We are beginning final assembly/manufacture of the 15 units that people have requested to be sent out free-of-charge.
** June 18th ***
Lauria plans to ship 5 more VentMons on the 23rd. She has added FiO2 sensing, and important feature. Rob Giseburt has create an VentMon-like device using a Raspberry PI; we may switch to that display. The VentMon has been used internationally by several teams to gain important insights into their prototype pandemic ventilators. One team may be constructiong their own VentMon from our Open Source designs.
** May 25th **
We have now shipped 4 VentMons. Most recent modifications involved using the "pirds_library" more universally.
** May 7th **
We sent the first VentMon to Artemio Mendoza of the 1MillionVents team, and he made this great video:
May 4th:
May the Fourth be with you.
We have shipped two VentMons free of charge to open source ventilators team that will use them for volume and flow measurements.
A user manaul is progressing.
April 27th:
Assembly instructions can be found here: Assembly Instructions
April 21st:
Initial prototype is fully assembled!
April 20th:
- Have a working ESP32 board with pressure sensors and Sensirion flow sensors.
- This code outputs a stream of PIRDS respiratory standard events on the serial port.
- These are read by data_server.py which presents a web server for retrieving this data.
- test_tools/breath_plot.html makes AJAX calls to this server and renders the results dynamically.
This project is co-led by Robert L. Read [email protected] and Geoff Mulligan.
Right now we have several needs. People need to be experienced, have read the essential reading list, be able to work at least 20 hours a week, and able to work with limited supervision. They also must be able to tolerate the chaos produced by the pandemic itself, and the chaos produced by my own mistakes. Finally, they must accept and hope for the possibility that industry will increase production and the disease will be controlled so that this solution is not required.
Righ now, we could use:
- An experienced Arduino engineer to build and improve the design below
- A JavaScript programmer to add the ability to scroll-through all time to https://github.com/PubInv/vent-diplay code.
- Someone to design the User Interface of the "monitor and alarm" feature. Would have to be or become familiar with existing ventilators to make a similar interface. This is likely to be a small LCD or OLED text screen, 4 physical buttons, and a small speaker or buzzer.
Public Invention is a small, all-volunteer 501(c)3 US public charity. Your small donation is a stamp of approval for our work that will really help us.
All code in this repo is licensed under the MIT License. All documents and diagrams and licensed under CC0. All hardware is licensed under the CERN Open Hardware Licences Version 2 - Strongly Reciprocal.