Design of an invasive ventilator developed by NOCCA Robotics team and IIT Kanpur Team

Objective: The objective is to develop a low-cost mechanical ventilator that can be mass-manufactured by the components available in India.

The product mentioned in the document is an invasive type mechanical ventilator capable of operating in pressure-controlled mode. Ventilator will be permanently connected to a mobile phone which will be used to control the device and display critical information. Device does not require any form of medical air, it is capable of operating on its own in ambient air. There is also a provision for attaching oxygen cylinder, when required.

The trigger for start of inhalation can be patient triggered or mechanical (forced). When operating in mechanically triggered mode, breathes per minute will be set by doctor while in patient triggered mode, there will be machine override in case BPM beyond specified limits. The ventilator will operate in timed cycle for all operating modes, where Ti/Te will be set by doctor. Multiple alarms are provided for min./ max. tidal volume, leaks, max. Pi etc.

Mechanical design: To create pressure a diaphragm air pump is used in a closed loop using pressure sensor and microcontroller to maintain required pressure. This will eliminate the requirement of any additional compressed air in the hospitals.  Control valves are present at both intake of Oxygen supply port and at the end of the exhale tube adapter. HME will be attached to maintain inhale air humidity and prevent microbial infection. A safety pressure release valve will be attached to the main air supply line to prevent the over pressure.

    1. This design can also be used as a non-invasive ventilator.



  1. The design examined by experts, particularly clinicians who can give input. However, please contact the team before using it.
  2. This is a Modular design which can be customized as per the available components to ensure the production.
  3. Nocco Team: Nikhil Kurele, Harshit Rathore, Tushar Agarwal, Abhishek Kulkarni
  4. Email at: , ,,,,
    Twitter Contact: @abandopa , @caringindians
  5. Google Drive:
  6. Invited to suggested further improvements in design


Comments (6)

What do you mean by HME, how to do set breathing rate/patient trigger for breathing

In case of switch over between FA.In and Oxygen cylinder while patient is on ventilater, then there will be the missed cycle of air supply , what impact will this have on the patient ? . Have that been factored in the controller logic .
Also , if switch over is from oxygen cylinder to , how will the controller know that oxygen cylinder is removed and pump have to kick in ?

If the pressure reservoir has enough reserve, the switch should be seamless.

I think HME is a filter. HME stands for Heat and Moisture Exchange. If not for this filter inhaled or exhaled air could contain Cvid 19 aerosols which infect the patient or the ambient air.

Breaths per minute is a function of how fast does the pressure pump operates.

I can provide any EECS help to any Covid 19 project. I am also working on a bridge ventilator for non-ICU use with folks in the U.S. and India.

Sorry, I missed replying to this question from Avinash I have included below in double quotes.

“Also , if switch over is from oxygen cylinder to , how will the controller know that oxygen cylinder is removed and pump have to kick in ?”

If you see the bottom picture, the oxygen tank feeds oxygen via a solenoid valve. When the solenoid valve is closed, oxygen flow is stopped. The solenoid valve is opened by energizing the solenoid coil. Energizing the coil needs electrical current which is turned on by the control board. The same control board controls the pump as well. The control logic knows when oxygen is stopped and start the pump. Or the logic starts the pump and then shuts off oxygen.

The two documents on the ventilator is a very good start.

However, it is critical that UI of the device is specified in gory details. For example,
1. air flow can be configured using BPM (Breaths per minute), or tidal volume, or PEEP – what configurations do you support?
2. What are full set of alarms supported? How are alarms reset?
3. What parameters are displayed to the user.
4. What if the control board hangs – how does one reset it? Or is the device using an Arduino board which cannot hang. In contrast, if a raspberry pi is used, it can hang.


Leave a comment