The People’s Ventilator Project (PVP) is an open-source, low-cost pressure-control ventilator designed for minimal reliance on specialized medical parts to better adapt to supply chain shortages.
The device components were selected to enable a minimalistic and relatively low-cost ventilator design, to avoid supply chain limitations, and to facilitate rapid and easy assembly. Most parts in the PVP are not medical-specific devices, and those that are specialized components are readily available and standardized across ventilator platforms, such as standard respiratory circuits and HEPA filters. We provide complete assembly of the PVP, including 3D-printable components, as well as justifications for selecting all actuators and sensors, as guidance to those who cannot source an exact match to components used in the Bill of Materials.
Justifcation behind the components actuators and sensors selected for the PVP.
Solidworks model of the system assembly, description of enclosure, and models for 3D printed components.
Modular PCBs that interface the PVP actuators and sensors with the Raspberry Pi.
Bill of Materials
Itemized PVP parts list.
PVP’s software was developed to bring the philosophy of free and open-source software to medical devices. PVP is not only open from top to bottom, but we have developed it as a framework for an adaptable, general-purpose, communally-developed ventilator.
PVP’s ventilation control system is fast, robust, and written entirely in high-level Python (3.7) – without the development and inspection bottlenecks of split computer/microprocessor systems that require users to read and write low-level hardware firmware.
All of PVP’s components are modularly designed, allowing them to be reconfigured and expanded for new ventilation modes and hardware configurations.
We provide complete API-level documentation and an automated testing suite to give everyone the freedom to inspect, understand, and expand PVP’s software framework.
A modular GUI with intuitive controls and a clear alarm system that can be configured to control any parameter or display values from any sensor.
A PID Controller to produce a pressure-controlled waveform, while monitoring for possible alarm states.
A hardware abstraction layer powered by pigpio that can read/write at [x Hz]
Define complex and responsive alarm triggering criteria with human-readable Alarm Rules
Modules that provide the API between the GUI and controller, user preferences, and other utilities