Introduction: COVID-19 Rapid Manufacture Ventilator BVM Ambubag for £80 OpenVent-Bristol

Please see my latest imporved design here which is closer to meeting the MHRA requirements:

Please share and donate if you can, we are in need of more funding to move to the next stage of development: click here to donate

The USP of this design is how easy and fast it can scale for mass production for the following reasons:

  • Automated production: The production of each part is fully automated (laser cutting), with only 8 different parts
  • Only 6 off-the-shelf components: Very few different components are needed and no exotic parts are needed (not even a motor coupling)
  • Simple mechanism: It uses a super simple mechanism with just an arm mounted to a motor - no complicated mechanisms to go wrong, just one moving part
  • Fast assembly: Complete assembly is possible in around 20 min with one person
  • Adjustable settings: Has full adjustment of breath frequency and pressure/tidal volume and with a small adaption can function within all NHS requirements
  • Low cost

I'm not selling this product, just releasing the design as open source to help others. This design doesn't currently meet the NHS requirements (in link below) and does not have medical product approval which will be needed for treatment. A list of improvements for the next version with the aim of meeting the NHS spec is kept in the GitHub readme (link below), some of those things are here:

  • A 12V battery backup with at least 20 min run time
  • A battery management circuit to automatically switch over to the battery in a power cut (not actually required but would seem sensible)
  • A pressure sensor alarm for sensing failure and a buzzer & LED to create an alarm on failure
  • An LCD screen to show pressure and other values and Settings

GitHub code link:

NHS Rapidly manufactured ventilator system specification:

Problem statement

Ventilation is the only known available treatment for sufferers of COVID-19. Existing ventilation machines in hospitals are complex general purpose machines costing £10s of thousands. The availability of the existing ventilators is no where near enough to meet the predicted required numbers, for example in the UK around 5000 ventilators currently exist within the NHS but it is predicted they will need around 30,000 in just a few weeks. Critically ill patients left without ventilation treatment are in danger of losing their life.

As far as I understand, one effect of the virus as well as damaging the lungs, it also produces a very sticky mucus in the lungs which causes the lungs to collapse and makes it very difficult for the patent to breath of their own accord. Ventilation can be delivered either via intubation or a well sealed mask and delivers continuous positive air pressure into the lungs to keep them inflated at all times. Conscious less ill patents can be aided using a CPAP (Continuous Positive Airway Pressure) ventilation device like a sleep apnea device, this delivers a constant air of the same flow rate and pressure. The more critically ill patients need a machine to breath for them which varies the pressure and flow according to inhale and exhale and relies on maintaining a good seal and a PEEP valve to keep the lungs continually inflated.

An analogy: Imagine inflating a balloon, letting it deflate completely, then re-inflating it, that is like CPAP. If you inflated the balloon, deflated it half way, then re-inflated it, that's more like the treatment needed for the worse sufferers.

The aim is:

1. for a very simple low cost design

2. made using readily available components

3. that can be manufactured quickly and easily in small quantities or on mass at low cost

4. to work reliably and with the lowest risk to the patient (partly to help speed up the medical product approval process, if this project gets that far)


All users of this design and device shall be deemed notified of the warnings stated herein. This device is a simply designed, fast produced ventilator. This device should not be used in place of an existing hospital ventilator. These should only be used as a last resort where a patient has no other alternative due to the lack of availability of existing ventilators. This is not a fully medically certified device and should not be relied upon as such. The device is designed for use by trained medical professionals and should only be used by trained medical professionals; it is not intended for home use.

The designers and manufacturers of this device shall not be held liable for any death or injury that may result from this device.

The designers and manufacturers of this device give no guarantees or warranties as to the efficacy and/or safety of this device.

This design isn't connected with dyson or any other ventilator projects including Dyson CoVent.


This design is based on a hand operated BVM (Bag Valve Mask) or known as ambu bag, which when combined with a PEEP valve will meet most of the NHS requirements for COVID-19 ventilation treatment. My design replaces the hand making this automated.


Credit to the people below for helping to make this all possible:

  • Sam Reilly - Software Certification Engineer
  • Sadie - ITU nurse
  • Tom Breddal
  • Consultant Anesthetist in UK ITU

Step 1: Buy Parts

Totaling around £80 (excluding the medical parts; BVM etc.)

DXFs for laser cutting are stored on GrabCAD in this link:

Other things not listed here that you will need for treating COVID-19 are a PEEP valve with valve ring adapter, a mask extension tube and a soft Velcro mask strap.

A list of improvements for the next version is kept in the GitHub readme, some of those things are below:

  • A 12V battery backup with at least 20 min run time
  • A battery management circuit to automatically switch over to the battery in a power cut
  • A pressure sensor alarm for sensing failure and a buzzer & LED to create an alert
  • An LCD screen to show pressure and other values and settings

Step 2: Laser Cut and Assemble Chassis

DXF files and STEP file of the assembly are stored on GrabCAD in this link:

Laser cut the following part files from 8mm acrylic or ply with the following quantities:

  • Q1x "Back plate.dxf"
  • Q1x "Left side big hole.dxf"
  • Q1x "Base plate.dxf"
  • Q1x "Arduino DJ shield cover V2.dxf"
  • Q1x "right side small hole.dxf"
  • Q4x "arm contact ring 25mm.dxf"
  • Q2x "Base fins"

To assemble you will need:

  • 9x M6x25mm bolts
  • 4x M6x15mm bolts
  • 14x M6 nuts

Watch this video for time-lapse assembly and refer to photos for what it should look like. Apologies for the poor quality and note I was using a older design of motor mount in this video which has been updated, see next step for up to date motor mount method.

Step 3: Mount Motor

As shown in the pictures;

  1. attach 4 cable ties (the beefier the better, I used 8mm wide ties) through the 6 holes in the back plate such that 4 of them sit parallel to each other in the horizontal axis
  2. then pass 2 jubilee clips (I used 25-40mm clips) through the loops in the cable ties and around the motor
  3. Then tighten the clips until it grips the motor nicely, but don't tighten it too much!!! Because it can crush the casing and damage the motor

Step 4: Mount Motor Arm

Attach the motor arm using the M8 nut and bolt. Hold the nut in its 'captive' slot and tighten the bolt up against the flat of the motor shaft with a hex key.

Attach some of the small laser cut circles to the end of the arm with the long M6 bolt and nut to distribute the pressing force on the bag. It is best to use a niloc M6 nut if you have one here. You may also want to add some bubble wrap or fabric around the end of the arm for extra cushioning as it may wear into the bag over extended use.

Step 5: Electronics

  • Connect up the motor to motor port A of the motor driver shield
  • Connect up the 12V power supply to the Vin connections of the motor driver shield (don't be tempted to plug your power supply direct into the Arduino board, it doesn't seem to like this)
  • Connect up your switch in line with the power supply and mount your switch into the 6.35mm hole in the side panel
  • Solder up your DJ shield but take care to only solder the components listed below as pins A0 and D3 are needed by the motor driver
    • The POT on A1
    • The POT on A2
    • The button on D6
    • The button on D2
  • Stack the motor driver shield and the DJ shield on top of the Arduino and secure them in place with the laser cut UI panel using an M6 nut and bolt

See photos for more info.

Step 6: Software

Download the latest version of my Arduino code from GitHub using the following link:

  1. Download "Motor_current_stop_test_V3_dwell_control.ino" and "Analogue_filtering.ino"
  2. Place these 2 files in a folder called "Motor_current_stop_test_V3_dwell_control" in your Arduino sketchbook folder
  3. Then when you double-click to open "Motor_current_stop_test_V3_dwell_control" it will automatically include the other file in another tab of your IDE

You will also need to install the Arduino motor shield rev3 library:

"Motor_current_stop_test.ino" is an old code, do not use.

Upload the code to the board but before you run it for the first time make sure the "max pressure/tidal volume" POT is dialed all the way down (all the way anti clockwise).

Once you run it for the first time be prepared to stop it quickly because you have a 50/50 chance that the motor is spinning in the right direction. If the motor trys to spin the wrong way initially then swap the motor wires around to reverse the polarity, if that doesn't work then gradually increase the current limit by dialing up the "max pressure" POT because bigger motors could be tripping out of the current limit upon startup. I think the current limit range on the POT is from 800mA to 1.2A.

Step 7: Enjoy!

Don't forget to add you PEEP valve and mask extension tube, then test and enjoy!

There is a running list of improvements we are keeping for the next version on the GitHub readme: