Updated Electrical & Operations

Good evening from Cambridge! We have just posted updated motor, controller and button information to the Electrical Hardware page. Accompanying this are our instructions for Operation.

108 Replies to “Updated Electrical & Operations”

    • Jan Rousseau

      Wonderfull work everybody. Guys, for Africa we need a very very simple design. Please. We are in lockdown but our ventilator shortage is looming. We need something simple but we need it asap. Forget about electronic control. Mechanical adjustments will do.

          • Hugo Carlos Lorca

            Hola, es interesante ver como buscan diseñar un respirador para responder al covid19. Solo que no ponen mucha atención a las especificaciones técnicas y cuidados de seguridad atendiendo que será usado en una persona en riesgo.
            Ahora mi atención esta en lo que llamo la parte critica de un respirador para uso en un paciente con covid 19.La coordinación del ritmo respiratorio y la salida del aire contaminado de los. pulmones. Mi proyecto se basa en el uso de una boquilla que aprovecha la. presión del aire de exhalación del paciente con insuficiencia- pero conciente- para ajustar el ritmo de respiración de la máquina y un tubo doble (inspiración por dentro expiración por fuera), inspiración al umificador y expiración a un filtro Hepa antivirus. Usando una mascarilla sin intubar al paciente..

      • Shane van Jaarsveldt

        Jan, I am in JHB and keen to get this on the road – as you know, we will be in deep trouble soon

      • Andrew Zirbel

        I have begun a design intended to be simple and without any unnecessary parts. Basically- but a grill (outdoor BBQ) rotisserie motor and on its shaft mount an oval (width of oval depends on speed of rotation and distance paddle (explained below) travels. As the shaft turns- rotating the oval, the oval compresses a paddle down. The “paddle” is mounted by a hinge on one end to the mounting platform and the other (facing directly away from the oval wheel- in the same direction). The hand bulb respirator balloon is secured to the platform under the open end of the “paddle”. As the shaft turns the wheel, the wheel pushes the paddle down and compresses the air bladder (should have a spring from the open end of the paddle to a raised location above it- like the motor- to ensure it lifts between cycles). I can send a basic diagram of this setup – but in essence this is just a slow rpm shaft driven by a high torque motor rotating an oval the compresses a paddle when the longer width portion of the oval, mounted above the open end of the paddle, rotates around. It “pumps” the bladder with minimal friction and only two moving parts. The side and width of the oval should be adjusted to the position above the paddle and the RPM of the shaft. This is similar to the design of an enclosed/sealed breast milk pumping system.

      • Jamil Aslam

        People in Africa can’t produce complex circuit boards and motor controllers they may need a simpler design.

        Car engines and steam engines also put air into a piston and then remove exhaust gases. They do a similar task using mechanical parts.

        e.g. A cam shaft type of a mechanical device attached to an electric motor to make the motor squeeze the bag without damaging the bag. Where the cam shaft assembly could be moved closer to the bottom for adults to put more air in and moved away to let less air in for children.

        A better design may be to attach a small gear to a little motor. Them make that drive a very large gear. With a shaft attached to the larger gear off centre like a steam engine wheel that is attached to a piston.


      • peter leiby

        Hello Jan,
        I am no expert. I just built and designed this in one day. It’s super simple and fast to build. It has adjustments for volume and cycle rate. Here is the link to my original YouTube video. There are three additional videos with specifics on my YouTube channel. https://youtu.be/evWKC7D35AE

        Working on getting CAD drawing and Gcode for CNC machining.

        Has a servo motor with optical encoder. It’s not hooked up, but can be set-up later to be smart with micro-controller. (functions fine without it for now)

          • Ajit C

            We can help you in automating it and giving real-time data they cloud for remote monitoring with app based .

            • peter leiby

              Hello Ajit.
              That would be great for us, it’s been 15 years since I set up a closed loop servo system. There’s no sense in me re-inventing the wheel and wasting time. Mine was initially designed as a pure mechanical device with the option of making it smart. Since you (E-vent) have already figured out the driver and software sides, we can simply hook up my brushed motor/encoder which has a 5V optical quad encoder. It should just be simply an adjustment in the software for the stroke to make it adaptable for my mechanical set-up differences in dimensions. I’ve had metal fabricators volunteer online to produce my mechanical set-up in mass.

    • Andrew Zirbel

      Hi all. I have spent some time studying the various designs posted and reviewing what seems to be a consistent request to simplify to the point where these may be constructed in the field with little to no electronica components required. I have reviewed the design schematics from other products in the market designed to move gases in fluids and have determined the simplest of all designs appears to be associated to that of a close system breastmilk pump. They basically are an oval turning on a shaft Compressing a line forward driving fluid through the line. Replace the line with a respirator air bladder and a paddle for the oval to compress – and if essentially got the same system. A high torque low RPM motor would be ideal-as simple as a grill rotisserie motor and shaft. All of these components could be ordered and used almost as shipped, are highly available, and could be assembled by almost any layman with decent instructions.

    • Stephen Morrisey

      Regarding the stress on the Ambo-Bag why not place it in a sealed glass container (with sealed openings for the intake/exhaust ports. Then apply metered compressed air into the area surrounding the Bag which would eliminate the stress by providing a uniform compression of the bag. Regulation of output by throttling the compressed air would also be easier.

  1. Greg Linder

    I’m a Freelance PCB designer, electrical engineer, and prototype PCB house based out of Denver, Colorado. Is anyone spinning up a PCB design yet, for an Arduino Style Shield for this project? I just recently finished a design for an integrated motor drive for a power tool customer, and this design is.. pretty closely related to what you have here. I could cram the motor driver, power input connectors (Molex, SATA Style power, and maybe a standard PC Power supply connector), pots, display, and pluggable term blocks for motors and encoders, all on one PCB that could mate to an Arduino. Phase 2 could be an integrated design (sans arduino), but I’d like to find a software guy who can help with this.

    • Nathaniel Taylor

      Send me one if you tool/fab it up. Even as PCB I can find components depending on design style. I assume you are avoiding surface mount.

      • Trisha Farrow

        Why avoid SMT? If you work up a board and component list, I can have my company assemble boards.

    • Bonnie Patek

      I was curious if there is consideration to attach the ambu bag to a LMA instead of the bag mask as this would help to secure a better airway and help to prevent airway obstruction. Just a thought.

      • Alan Lichtenstein

        Not a good idea for a variety of reasons (increased exposure / risk to healthcare workers, greater risk of dislodgement, inability to provide necessary ventilator modes in patients with ARDS.) These patients need to be intubated at that stage. This unit connected to a bag mask on a patient will be ineffective.

    • Shane van Jaarsveldt

      I will gladly help with software as well as hardware and PCB design review. DM for more direct contact details

      • Hisham Issa

        Hello Shane, from the pictures shared by MIT team it is not clear where is the pressure and flow sensor located.

        Were able to locate them?


    • Greg Linder

      Greetings, all:

      Just posting here to keep everyone up on this: I’m moving ahead with an Integrated Solution that enables a bunch of stuff. The debate on SMT vs Through-Hole is not relevent, as we’re in an emergency here, so I’m doing Both. Pads for All, Pads for Everyone!

      For those using Arduino, you can buy the one MITs used, and plug it in, and our board provides the other parts (as available)- Pots, inputs, etc.

      For those doing more integrated stuff, you can just slap down an ATMega in either through-hole or SMT, and off you go.

      Our board will include the following:
      – Pots as mentioned for setting
      – Motor driver components DC Motor (with QE output encoder)
      – Option for NON encoder-equipped motor, using a different angle feedback sensor that can provide solid goodness without a shaft encoder. I’m still fleshing this out, but it means that you can take feedback right off MIT’s grippers, rather than the motor shaft. This means you can use Whatever Motor you have lying around the meets the torque.
      – LED’s and Pushbuttons as needed.
      – Operation from 12 to 24VDC (9-36 or so, in reality)
      – Displays
      – Pluggy bits for stuff
      – Some further options assuming we run out of the Fancy Pressure Sensors the MIT is using.

      If someone from the MIT team wants to contact me, I’m going Full Guns on a layout right now, and have a team growing already that can help port software and solve a plethora of other problems.

      I’ll post schematics and layouts as soon as I have something that Seems Reasonable, with the understanding that PCB S/N 0 will probably have problems, as they always do.

      My design software is the newest version of EAGLE, and I’ll post the design and the libraries Somewhere once we get there.

      For others offering to help, I’ve got Nose to the Grindstone right now in getting a first round Schematic / Layout /BOM put together. I’m focusing on Ease of Assembly and Easy of Parts Availability, including multiple footprints for parts that may become scarce in one footprint style or another.

      • Greg Linder

        Update again:
        Schematics are about 70% now.. Just need to finish motor driver footprints and and some other items, then layout can carry on.

        Here’s outline of what we’re doing:

        (1) Multiple footprints for standard Potentiometer sizes for settings
        (2) Big-Ass Motor Drive, far in excess of any reasonable motor that would be used for this application. I’m just hijacking a standard Reference Design from a Big Chip Maker for this, as it’s really a pretty standard type drive application.
        (3) ATMega -based on this stage. I’m not against adding All Kinds Of Various Doodads in the future, but, well, they’re cheap, available, and I already have a collaborator working on code for it. Gotta get stuff done- The Blue Pill STM device has shown up alot, but, well, if I’m rolling a PCB anyways to be as Cheap and Reliable as possible, just sticking the processor on the PCB with a debug port seems pretty reasonable to me.
        (4) Various options for analog output pressure sensors, again of various footprints. Using existing stock, this choice has over 50k units available in worldwide stock of all sizes.
        (5) Encoderless feedback for motor position, meaning you can use Whatever Motor you want to use. We’ll sense the relative angles of the GrabberClaws instead, so we don’t have to worry about number of pulses and whatever else.
        (6) Integrated on a Single Small PCB.
        (8) Available to run off any power supply that you can dig up that gives out 12 to 24 volts nominal at whatever current your motor needs.
        (9) Pushbuttons for input settings and whatever else.
        (10) Alert Buzzer and LED
        (11) Plug for OLED display module via I2C.
        (12) lots of future plans, once we get this first release out.
        (13) Very Low BOM cost.
        (14) Entirely made of off-the-shelf parts with Enormous Availability worldwide. A 50k piece production run could be done entirely from Digikey’s Stock On Hand.
        (15) A rapidly tiring hardware designer.. I’ll keep pushing here and we’ll see what we can get.
        (16) Concept to enable this to scale to control other styles of home-made Ventilators, including those with “constant pressure” sources (like the MUR device or the one made of PVC pipe)– in that case, we use the same pots and stuff, but drive discrete/analog outs based on those instead of driving the motor for the baggysqueezer. The control loop is basically the same, with just the outputs being different.

        Several people have reached out to me to help fabrication and procurement and such. Will h

        • Greg Linder

          Several people have reached out to me to help fabrication and procurement and such. Will h . . .

          reach out to those who asked once we have a BOM and some PCB artwork. I’m looking to hand-fab Prototype #1 early next week to iron out bugs in Rev 1, and then we’ll release the full artwork set.

        • Greg Linder

          Greetings, all:

          Update for tonight. I’m sending out First Round schematics + BOM for people who have emailed me. This is for me to get a gut check on the schematics so I can catch obvious errors before moving ahead with the first prototypes.

          The BOM target cost on this is around $70, depending on PCB, Assembly, and Display choices. Everything is in stock / immediately available.

          The design includes (4) pots for configuration settings, Pushbuttons as outlined in the MIT spec, a display showing key parameters, a motor drive up to 50A (but fused much lower, using ATC/ATO auto fuses at 32A), sensorless feedback on gripper positions based on standard Smart Phone accelerometers and their state vectors, and screw terminals for Motor Out and Power In. It also has some on-board jumpers to set Max motor current and type of pressure sensor. The hardware design allows for motor current sensing to allow for low-torque auto zeroing using feedback from the position sensor system. All user interface elements have both PCB Footprints for common parts, and 0.1″ headers to allow for cabinet-mounted controls, if anyone is working on that angle.

          I’ll be starting layout tomorrow, making updates to the design as Gut Checks come in from people who emailed me.. Once we get the layout done, I’ll get the first units fabbed and available to the folks who emailed me about getting code going on this. This version has a fully-mobilized ATMega 328, and can use both SMT and PDIP packages. I have used generally larger / oversized components to minimize BOM complexity. The full BOM has less than 50 different components on it. The finished board will be on the order of 6″ x 4″.

          Greg Linder

    • Kevin Petrasek

      Greg Linder — I’m a software guy in Denver that can help you. I have 36 years of experience in industrial control, and I have several years of experience working with various microcontrollers — various Arduinos, STM32’s, ESP8266’s, and my favorite, the ESP32. I don’t think you’d need to go crazy doing an integrated design — an STM32 “Blue Pill” dev board socketed into your motor drive board should fulfill all your needs. But that doesn’t need to be addressed right away.

      • Philip Wilshire

        Kevin Petrasek -Love the idea of ESP32. I have some rough sketches running for other projects.
        I think a powerful low level system like this would help with reliability etc.
        I have a initial git repo setup for some of my experiments.

        Interested in your thoughts on how to proceed with this.
        Are you planning on using the Arduino SDK or working with the ESP-IDE ?
        I can help with design , test , review where needed.

    • Karla Trotman

      Once you have a PCB design, my electronics manufacturing company could produce. We build custom electronics assemblies.

    • Robert M. Ellsworth

      Can someone advise me why a brushed DC motor has been selected for use in a device intended for rough field use in an oxygen-rich environment?

      I think there are sufficient robust solutions using BLDC or similar motors with simply-fabricated drive circuits or emulations that a non-sparking (or fully-enclosable) solution for this device needs to be adopted stat.

      • Greg Linder

        If you send me your email, I’ll share my current schematic and BOM for the Open Source Controller, and you can add / modify the Platform using your favorite BLDC motor drive electronics and roll a better version. There’s a plethora of cheaply-available brushed motors from 12 to 24 vdc that will readily meet the torque requirements of this application, and the drive electronics and mechanical linkages make for a Very Cost Effective solution in an acute time of need.

        This machine is meant to be a Minimum Viable Product to solve an immediate need. If there’s a sufficiently high concentration of oxygen in the sort of large-scale open-plan curtained-off facilities where these kinds of devices are to be used, then, well, there’s likely already quite a lot of ignition sources around already.

        My email is glinder@solarscada.com.

        • Robert M. Ellsworth

          I’m at r.m.ellsworth@att.net

          I’m concerned that initial architecture for the alarms and actual controls of this device are not being carefully thought through ‘in public’ here. In particular I want to avoid a problem that was chronic in early designs of ‘commercial’ SIDS monitor: there were all kinds of soft adjustment in the ‘user interface’ for patients or home caregivers, but parts of the alarm system reserved to health-care professionals were nowhere near as carefully or caringly managed — disconnecting any lead, for example, a fairly common thing with infant monitoring, produced an immediate end-of-the-world blare, with no panel or manual explanation that this wasn’t a prompt SIDS event in progress. The thought of 50 or 60 of these things randomly throwing audible alerts in a triage situation is not pleasant.

          My own thought is that there should be clear differences in audible alert, in timbre, pitch, and modulation, that could be ‘learned’ to give heads-down understanding of parameters with as short a learning curve as possible — this would also facilitate coaching or consults ‘over the phone’ or other audio-only communications. I suspect design to support this would be ‘silicon-intensive’ but would only have to be designed once, in complexity, and afterward relatively easily programmed, maintained, restored, etc.

          Looking at the most recent pictures of the installation:

          1) the ‘commit’ switch is a laudable thing, but it should not be an exposed pushbutton in the center of easily-jostled control knobs … all precisely alike. I think at the very least it should have some sort of field-secured cover over it, and perhaps some internal logic against ‘taking’ some kinds of inadvertent actuation.

          2) the possibilities of pulling connections out on the unit in normal use appears needlessly high — some sort of arrangement to lock the plug connectors in place, and provide bendable or nonbreakable connections for the locking plug(s) needs to be ginned up and made an ongoing part of the design. The field conditions under which these devices would be used makes disconnect integrity (as well as toolless make and break of all connections) important.

  2. Pete Darnell

    Hi Greg,
    I’m with Altair Engineering and we do controller firmware. We have also been tasked by an arm of the Indian government to look for low cost easily and rapidly buildable respirators. We are currently considering this MIT e-vent. What kind of volumes can you do with the pcb boards? What would the cost be?
    For phase 2 I’d like to move to an ST Micro or TI chip integrated on board.
    email: pdarnell@altair.com

  3. David Straight

    I’m a freelance RF engineer who owns a copy of Altium Designer for PCB work and Sonnet for Electromagnetic simulation. I have a small RF/Microwave laboratory in m office as well. If you need any help let me know.

  4. Amaan Qadri

    I am Amaan from kashmir and we have a ventilator problem in our state (only 27 ventilators). I am working on the first design of the MIT students (CAM version), i would like to know the controlling mechanism of the system.
    i.e, how to control breaths per min,
    I:E ratio
    It would be a great help for my state


  5. Hisham Issa

    Hello, it is not clear where the pressure sensor is mounted. Can you please share the details for the mounting and connection of the pressure and flow sensors?


  6. Doug Manska

    I am with Indak Manufacturing. We have the ability to build whatever you may need. We have experience in PCB, electrical and electronic components and plastics. We are also ISO 13485 for medical devices. Let me know if wee can help.

    • Cameron McDonald

      Just build it & give it away! Sorry, there’s not more structure to call out to you for help, but the need is vast and global.

  7. Shiv Agarwal


    I believe the formula under section /controls and electrical design/controls/
    for Tin = T/(1+IE) should be Tin = T*IE/(1+IE), if IE = Tin/Tex.


    • oussama gadhoum

      oui car Tin=T/(1+IE) sa donne le temps de expiration et pas de inspiration si IE=Tin/Tex

  8. Gary Rondeau

    A major bottleneck seems to me to be the drive motor. There are two companies that make most of the high quality encoded DC motors in the world, Faulhaber and Maxon, both in Switzerland I believe. It strikes me as imperative that these companies be asked for what they can produce in what quantities quickly. There may be other alternatives, we need to identify them. A flexible design that allows for a multitude of motors would be a good plan. My company has purchased thousands of motors from Faulhaber and Maxon over the years. They are very good product, but they cannot be produced instantly. Also price will be ~$200 – $300 just for a good encoded gearhead motor — so that $100 for everything that is reported is pure bunk.

    • Mohit Bhartiya

      i dont think you need to over think on the motor as you only need to compress the air pressure bag for 30 seconds max. the only requirement is the motor be capable enough to exert enough force instantaneously, stop immediately. since the pressure monitoring would be enough to control the device start and stop.

  9. Edward Crofton

    Drive motors – AVAILABLE
    We are already in high volume production of this type of motor for other ventilator systems being pushed by the US government and DoD.
    We could help you get into production quickly IF we can get the spec for the encoder. The gearing looks to be a 100:1 planetary.
    Do you need help?
    Keep Going!
    Ed Crofton

  10. Zack Zeiset

    Is there a download of the code for Arduino for the base electrical design to get a jump start?

  11. John Belding

    Great so far! Is there a plan to provide an electrical parts list with specifications? Would like to know pressure sensor ranges and accuracy’s.

  12. Mohit Bhartiya

    for patient’s exhalation, instead of hepa, which would be adding cost, we can bubble the air through water which can be discarded safely ??

  13. Michael Wirth

    FYI, I’m a Hertz Fellow, PhD Applied Scientist, and most recently a designer and builder of educational robotics and wearable wireless systems using Bluetooth LE. Most recently I was part of a joint Stanford/Learningtech.org team developing Liquid-Handling Robots (i.e., the automated pipetting machines similar to those used to process your CAVID-19 tests) for bioscience education. We learned a lot of practical manufacturability lessons in the process of moving these machines from a couple in the lab to larger numbers in the field. In that regard, I highly recommend that this team:
    • Separate out an “Architecture” track to consider how the full system fits together, parts interact, etc.
    • To the absolute extent possible, separate the system into modular Functional components (e.g., pump, filter, PEEP monitor, etc.) independent of the implementing technology. This has multiple, critical purposes:
    – It allows multiple, independent design and implementation for each part, especially to spread out the need for critical parts.
    – It allows independent module optimization.
    – It allows rigid, functional unit testing.
    – It limits the impact of the spread in a failure in the design process and subsequent redesign.
    – Failure in operation of any module can be repaired by replacement of that module, not the whole unit. Same story for field upgrades.
    – Who cares if the motor and pressure system each have an Arduino or embedded MCU in them?
    • In view of the “life criticality” of this system, strictly separate the Control Loop module from the monitoring and reporting module.
    • The Clinician is an. essential part of the loop; they need an easy-to-use and extensible graphical UI — more information at their fingertips than from a “more reliable, official ventilator”. Similarly they need to be able to set and rely on trigger conditions to post urgent notifications and take appropriate action.
    • From a CS architectural point of view, multitasking and multiple threads are NOT your friends here. Throw silicon at the problem. Just as with people, a team-based approach wins in the face of adversity when a single approach fails and, more importantly, is more difficult from which to recover.

    Having said that, I do have to acknowledge that this places an increased burden on the “architects” to define the functional divisions correctly. My hope is that this problem has some “natural” boundaries to guide us if not in the first design round, very soon thereafter. I tell people that my job is “to make mistakes (and learn) faster and cheaper than the next person”.

    Standing ready to help out,


    • Jacques Cantin

      Hi Mike,

      It may help to look at this to segment the project. You may already know about this.


      I can help here too. The four big components of a ventilator are:
      – User interface
      – Breath Delivery
      – Backup Power Supply
      – Air Compressor

      By defining overall and component design targets, several designs can progress independently that can all meet these design targets. A good way to do this is to use a House of Quality to help keep track of design objectives and to see what characteristics each component needs to exhibit.

      I am available and I have time to support this process.

      Jacques Cantin, Eng., EMBA, PMP and Innovator

    • Kevin Petrasek

      Michael Wirth, that is an excellent list! I am available to collaborate on the modular architecture. I’ve been aware of this project for less than an hour, so it’ll take me till sometime tomorrow to fully go over what’s already been designed.

  14. Michael Wirth

    In accordance with my post just above, can we define the basic functional blocks of the ventilator (e.g., input filter and plumbing, pump, …) and structure the website (vertically?) along these functional blocks, and then (horizontally?) along technologies? That way, the “pump” team can concentrate on everything associated with the performance of that module, and a CS jockey can contribute Arduino programming across a couple teams.

  15. Freidell Urbina

    Hi, I’m from Nicaragua. I’m here to help my comunity. We goma need many ways to help. I’m not a engenieur, my mother lenguaje is spanish; I work with tools as cinematographer and lightning design. I like building things. I wanna help. Wanna learn and do it the right way. I’m organizing a team of friends to work on this with engenieurs and doctors.

  16. Alan Donnelly

    Hi great job guys, so where can I download the firmware for the Arduino? Maybe a video showing all parts of the machine from many angles will help too.

  17. Parallel Logic

    Glad to see the external 5V regulator has been removed (the Arduino has one already built in, so having an external one seems redundant).
    For the encoder, I presume this will be software-reconfigurable in terms of steps/rotation to allow for different encoder models.
    It seems like the user interface would be very dynamic from a design standpoint. You’ve already gone from LCD to LED; I was I2C at first when I saw this. I could see doctors carrying around a laptop around an ER and just plugging USB into each unit and commanding these units through a shell (allowing you to type in values directly – could keep user parameters in a spreadsheet). Would suggest keeping in mind a plethora of user input options when structuring the code for this…
    What frequency is the buzzer? Or would that be user re-configurable? I’m expecting one of the Arduino interrupts will need to be used to generate the tone.
    If there are several of these units in the room, how do you quickly identify which one is having an error if they all sound identical? Is there any kind of visual feedback like an LED?
    Except for the motor control and the pressure sensing, this seems pretty do-able. Might take a crack at making one of these this weekend. Is there a forum setup for people to discuss their builds?

  18. Ekin Görgü

    There is one thing that I do not understand about this ventilator design. This ventilator is supposed to be used on people that cannot breath on their own, people that are sedated and needs oxygen support. Now cool thing about the design is, mechanical ventilation is provided by Ambu bag and you can supply direct oxygen through an Ambu bag as well. Now here is the thing that I don’t understand: If we have to supply the patient with oxygen instead of air, we need a regular ventilator anyways? The oxygen supply to an Ambu bag is done by ventilators that we do not have enough of, am I right? So we are not freeing any ventilators? How can we supply the patient with %100 oxygen by MIT E-Vent? Wouldn’t we need a normal ventilator anyways?

    • Robert M. Ellsworth

      Ekin, the ‘oxygen’ is provided from a different source, either a regulated (and humidified and heated, etc.) source from a pressure or cryogenic source, or via molecular separation (e.g. pressurizing air, passing it through a commercial molecular sieve or ‘oxygen concentrator’, and then adjusting enriched-air conditions for administration.

      The “Ambu bag” solution is to provide the positive-pressure action and necessary careful pressure control to get the oxygen to the ARDS-damaged alveolae, assure proper gas exchange and CO2 removal, and (at least theoretically) adjust the parameters to prevent damage to potentially-necrosed lung tissues as the autoimmune processes in ARDS progress. You should assume that the ‘intake’ air to the ventilator is already fully enriched.

      Commercial ventilators perform any ‘nebulization’ of material into the airflow (presumably including humidity control) and any superposed quick ‘pulsation’ (as in a Phasitron) on the “patient side” of the ventilator machinery. These are functions that are unlikely to be done effectively by a simple gearmotor/cam setup at the speed the current design can sensibly achieve on battery for the potentially-required time or duty cycle, although they could be powered by the ‘bypass’ nitrogen from oxygen concentration if molecular sieves operating at high pressure were used.

      I’m of the increasingly strong opinion that a device of this kind will benefit materially from the kind of sensor ‘band’ that was used in the early approaches to SIDS monitors, operating in addition to differential pressure tracking, as well as the detection and intelligent monitoring of the ratio between oxygen and CO2 concentration as used in those devices.

      At the required volume, 100% oxygen might be toxic, and might easily induce hypoxic symptoms including suppression of the breathing reflex where inadequate CO2 concentration cannot be maintained. In my opinion ARDS patients who reach the point where 100% oxygen is “required” would be far better served by a combination of direct blood-gas administration and one of those ‘supplemental heart’ devices now being trialed, as a kind of semi-permanent version of a heart-lung machine. That is beyond the scope of the present project, but I think sets a clear bound on what should be included in the current, and in the next-stage, design.

  19. Miklos Posan

    where can I download the CAD file about second prototype, what is integrated the control unit in the frame?

  20. Lucian Lewis

    Hi, I am concerned about the durability of the angle measurement pot. The commonly available pots of all types have a rotational life expectancy of 10k to 50k rotations. Bourns – defines this as 5% reistance shift and contact resistance > 3%. Other manufacturers do not define it at all. So it may not be total failure, but 50K is far short of 275k or 600k cycles.

    Since this application is less than 1 full rotation at the motor output shaft, and A quad B Encoder with an Index signal should be able to re-confirm “Home” on every cycle. This could allow elimination of the angle sensing pot.

    • Mike Hinkle

      I agree with your recommendations. Potentiometers do not have the required rotation cycle life time for this application (feedback measurement of the mechanism angle position). Because of the risk (small, but greater than 0) of missed encoder pulses, external verification of the mechanism angle is needed for reliable long-term operation of the device. Agreed that a quad encoder with an Index could address this need, but the recommended part (Andy Mark gearmotor with integrated encoder) does not provide an Index signal. Could be addressed by an external sensor, such as a stand-alone quad encoder with Index (would provide more flexibility around motor selection and sourcing) or a home-sensing limit switch.

      • Lucian Lewis

        Sorry, I was not clear… I had advocated for coupling the encoder (or other position sensor) to the gearbox output shaft in another thread to allow more choices for motor selection, so that was my assumption for this post.

    • Robert M. Ellsworth

      It would be relatively simple to substitute an optical encoder and associated electrical-control circuitry for a mechanical wiper pot in this design — a number of manufacturers build suitable devices with the associated circuitry incorporated, and I suspect these could be ramped up in production without too much difficulty. I have used them up to 8096 steps per revolution with self-identification of angular position (this involves a one-time design of the encoder rotor) and they can be relatively easily arranged to output Gray code if runaway or detection of misposition are important at some point.

  21. Michael Ruhstaller


    I have a few thoughts on the project I would like to share.

    – Hall sensors for positional feedback instead of a pot. there are IC’s that measure angles too. (no moving parts! don’t use too strong of magnets because of pacemakers, not sure where the medical limit might be)
    – Are Ambu bags being cycle tested. Some models are “disposable” I would have durability concerns on these.
    – User interface could be done with four buttons and a few LEDs. Up, down for value, up down to select parameter. LEDs light up next to the current parameter. Simpler, slightly lower cost. Less chance of inadvertent value changes, but you loose the quick overview.
    – If you put everything on the same board, using TO-220 MOSFETs would lend themselves to more easily attach a heat sink. Stick them out the back at 90 degrees. (parallel to the board)
    – Could the motor be controlled without encoder? Add more motor parameters to the software and regulate relative to the pressure?

    There are a few other projects out there that could run off the exact same electronics. The software parameters would have to be adjusted, and the motor controller would have to accept a wide range of motors. Maybe a driver that can handle both stepper motors and DC motors would be nice.

  22. Britt Johnston

    Much simpler display design using less but unused pins on the Arduino using an 20×4 LCD with an I2C backpack. It uses the same power pins and just the SCL and SDA pins next to the AREF pin on the Arduino. Only 4 wires to the display is the net result. I2C is a bus so it could support multiple displays and/or sensors.

  23. Bob Martin


    If you haven’t been updated yet, Arduino is having a virtual conference on Thursday @ 5:00 PM CET to bring together the Maker community together to discuss projects exactly like this one. I would encourage someone from your team to join if possible. The information is available on the Arduino website.

    As for myself, I work at Microchip, but came along from the acquisition of Atmel which as many of you know is the microcontroller that the UNO is based on. I can lend technical expertise in usage of this microcontroller including schematic reviews of systems using the ATmega328P or variants thereof. I can also supply information, tools and training on how to develop code in a profesional IDE environment along with being able do source level debugging of Arduino code, verification of code execution and call stack depth analysis.

    My first recommendations for design upgrade at this point would be

    Move to an Arduino Pro Mini (available at SparkFun) for around 10.00, which is essentially an UNO in a small DP package. Neither this boards power supply or the UNO power supply could be considered fault tolerant so one of the next steps would be to develop a limited energy / limited current power supply.

    Consider using stepper motors which allows for more direct shaft torque while eliminating the problem of brush wear which in the case of 24/7 operation is likely going to be a concern. Coupled with well known stepper motor drivers like the A4988 which is available in lost cost beakout modules from Pololu Electronics.

    Plastic potentiometers provide a much higher lifespan but the better solution is indeed a quadrature encoder. Indexing would be better suited by discrete sensors with limit switches atthe hard stops. Using a quadrature decoder with a AVR is trivial if one uses a D flip flop in signal stream and then feeding the pulse into a timer counter input or any pin interrupt. This removes almost all overhead in decoding the motor position.

    Regardless feel free to inquire about the mega328P and what is easily available beyond the Arduino IDE. There are many areas to make the code more robust and deterministic with minimal effort.

    bob m


    great gift to humanity as we may start making these in our factories worldwide

    we make shredders

  25. Johnny Vanderford

    Fantastic work to MIT’s E-Vent team! We’re looking forward to your publications and additional information that can be shared. We at Lorain County Community College stand by what you’re doing and want to be able to help in any way we can. We have 3D printers, CNC, laser cutting, water jet cutting, and an electronic manufacturing line. Let us know if we can help at all. ~Johnny Vanderford jvanderford@lorainccc.edu

  26. Hemant Singh

    Can I please get the Honeywell pressure transducer part number. Thanks in advance.

  27. Jean Laffitte

    Excellent work MIT’s E-Vent team!
    I would suggest an additional battery operated microcontroller or Arduino (Without integrated USB: pro mini) as a monitor or watch-dog with an alarm.
    Two easy things to monitor:
    1.- The signal from one “Arm” to monitor and assure the specs are 8 to 40 BPM (from the Angle Pot or from a new simple Optical or Hall effect)
    2.- A simple pulse from the main controller to state it’s working.
    In case of a power failure, main controller failure or BPM out of specs, it could set off the alarm.
    In sleep mode the battery should last for days. (A timed wake-up and an external wake-up pulse from Main controller)
    In the main controller it’s really easy, just an output with a pulse generated inside the main loop (not timed or PWM).

  28. Tommaso Anzani

    Hi, We appreciate your work and your efforts and what you are making available to everyone. Is it possible to make the Arduino program developed so far available?

  29. Jay Brussels

    Alarms: if possible alarms should meet the requirements of IEC60601-1-8 “alarms”.

    The use of a encoder (optical or magnetic) rather than a potentiometer to determine the location of the motor is preferred.

    The Arduino is going to require a PCB design (shield) to integrate the sensors, etc. This should also include the motor driver circuitry to eliminate a sole-sourced component.

  30. durante renton

    Hi, Keep up the good work everyone.

    I had a few idea’s which could help in the design process.

    1.Arduino Mega shield – all pins available for use

    2. Rotary switches 1 Pol – 8 Position – I would turn away from rotary encoder / resistance switches. A lot on the market are poor quality, which could create faults. additionally, If the switch fails / our of stock, a hardwire connection can easily be made.

    3. Power management / alarm. To monitor power input / usage. High power usage could indicate a fault. Power input monitor, to indicate power outage / fault.

    4. UPS power – Using a standard cordless screwdriver battery, Quick easy changeable, also can be used after this pandemic has ended.

    5. We need the system to operate as simple as possible.

    6. A second Arduino Mega Shield for sensors that operates independently.
    6a All sensors operate over i2c which will plug into TRRS audio jacks, If this pandemic overwhelms our healthcare system, we need to create the system so everything can be connected easily and quickly, additionally if one connection fails, it can be connected to another position with no additional requirements.
    6b in the terms of sensors, is as followed ECG, Pressure, Temperature, Humidity, Flow, Pulse oxygen meter, limit switches, Help emergency switch. The e-vent we know is in short supply, but do we have enough units for watching patients vital signs?
    6c wireless, cloud connected, with warning thresholds for notification – quick response time is vital!

    I believe using the Nema Stepper motors could be best. They are well stocked, additionally they have a second life purpose. 3d printing.

    I like to think of the future, after this pandemic has ended, when these are no longer required, that they do not simply become e-junk! All parts have to be looked at second life usage.

    I hope this helps in a way.

    If someone has the Arduino code for the main program it would be great if you could upload. I have a few designs i will be testing on the weekend.

  31. pete chan


    im experienced EE /firmware developer.
    i have the ability to help design a PCB or develop firmware for this device.
    willing to just donate my time to help anyone out there in need with this project development.
    please reach out.

    email: prchan_0779@yahoo.com

    thanks Pete.

  32. M Gurunathan


    It is a real safety risk that you are using a *brushed* DC motor to drive your device. Brushed motors create a lot of sparks, and you are operating in an Oxygen-enriched environment. This creates a significant risk of combustion. Have you thought of this? This is why motors in commercial ventilators are always brushless.

    This is a safety risk that you should seriously consider.

  33. Akshay Mishra

    A calibration setup will also be required to ensure the pressure sensor, flow rates are as per design. A calibration mode for the software and test mode will be needed to enable automated testing at the rate people are expecting this to manufacture. If help in any of the modules, design is required please let me know.

  34. Bashir ahmad ahmad


    As the CORONA Virus has spread world wide atmosphere, we want to build up ventilators in our country (Pakistan) for the betterment of humanity and social welfare. We have experience of anesthesia machines in medical zones from 40 years in pakistan. We have a team of skilled expert engineers and have the ability to manufacture ventilators perfectly. Now we are needed your code of arduino open source for making ventilators it would be very thanks if you send the code of arduino open source ventilator for humanity

    Qamar zaman
    Cell 0300 4172134
    From Lahore Pakistan

  35. Chinmaya Panda

    Dear SIr,

    I am good in Arduino programming and embedded system design.
    By looking the present situation our laboratory want to manufacture the AMBU based ventilator.
    We are arranging required accessories and want to design for public use.

    Sir can you provide your Arduino code, so that we will modify, change, upgrade as per design requirement.
    After our final testing we will also share our code and optimized design publicly, so that others also use in their country.

    Mail ID- cp18@iitbbs.ac.in

    Waiting for your reply.

    Chinmaya Panda
    Junior Research Fellow
    Real Time Embedded System Lab
    School of Electrical Science
    Indian Institute of Technology Bhubaneswar

  36. Nicole Bisimwa

    je fais partie d’un groupe qui est entrain de voir comment adapter la solution des étudiants de MIT.
    Je suis en République Démocratique du Congo et j’avoue que coté matériel nous sommes un peu limité.
    J’aimerai avoir vos avis ou suggestions par rapport à des solutions alternatives (utilisation d’un moteur d’essui glace, de machine à coudre…) pour l’ensemble moto reducteur avec encodeur (qu’on a du mal à trouver) ainsi que le système d’entrainement.
    Toute aide est la bienvenue.
    Mon adresse : nicole.bisimwa@2020.ulc-icam.com

  37. Nicole Bisimwa

    I’m part of a group that is looking at how to adapt the solution for MIT students.
    I am in the Democratic Republic of Congo and we are really limited with materials.
    I would like to have your opinions or suggestions relative to alternative solutions (use of a windscreen wiper motor, a sewing machine, etc.) for the gearmotor unit with encoder (which is hard to find ) as well as the training system.
    Any help is welcome.
    My email: nicole.bisimwa@2020.ulc-icam.com

  38. oussama gadhoum

    oui car Tin=T/(1+IE) sa donne le temps de expiration et pas de inspiration si IE=Tin/Tex

  39. Jean Laffitte

    A Guide To Designing Low-Cost Ventilators for COVID-19 ( Apr 4 2020)
    By (Real Engineering) Brian McManus who worked for Medtronic. (the company that released ventilator plans to the industry) With Dr Rohin Francis explaining the needs and important considerations of Covid19 like the increased risk of alveoli collapse, etc. An why most Ambu Bag based designs won’t work.

    Pressure sensing is a must to avoid more lung damage!

    Not to discourage anyone looking for a Low-Cost solution, but as in the video many specialists say that simple Ambu Bag devices will damage the lungs.
    Unfortunately, in the video it looks like they talk about the previous version of the E-Vent without pressure sensing. I hope the pressure sensing makes a difference. Promising results in Study 4.

  40. Peter Ingram

    Whilst I realize that your project design is not yet complete and you are not ready to release a complete parts list, would it be possible for you to release a list of the parts that you know will be in the final design. That way we, well me, can start to acquire those parts. This would be useful since supply chain delays are lengthening due in part, I am sure to COVID-19 itself.

    An Arduino, is obvious as are the LEDs, POTS (10KB – Linear?), connectors, etc. You have specified a 12V 5A DC power supply preferably with a battery too. Is the motor now fixed as a “PG71 Planetary Gearbox with RS775 Motor and Encoder?”

    Please publish what you can. I know you are going as fast as you can but we need to catch up buy buying the parts.

    Thank you for doing this. It will save many, many lives.

  41. Jorge alberto Romero corona

    about the program that uses the arduino I do not know if it is already finished because I have looked it up on the page but I could not find the information of the program that will handle the arduino one if you could share that information please I thank you Thank you very much my email is Romerocoronajorgealberto@gmail.com

Comments are closed.