Skip to content

Low-Cost Opensource Mechanical Ventilator

3D model description

UPDATE May 10, 2020: We've redesigned the actuator to make it stronger and more reliable after issues with the gear slipping out of place. The actuator arm's point of contact has been made smaller to improve compression. We've also added designs for our control panel including knobs for the potentiometers used to control compression rate and percentage.

NOTE: This is a prototype. It is developed for educational purposes only and has not been evaluated by or approved for use by medical professionals.

Introduction: This is a low-cost opensource mechanical ventilator. It uses an Arduino controlled 25kg-cm servo driven linear actuator to compress a bag valve mask (the resuscitation bags you see paramedics using to keep patients alive until they reach the hospital).

A video showing the ventilator working can be found here:

More information can be found in the full-length article regarding the design here:

Details: For now, please open up the SketchUp 2017 file to see how parts are laid out for 3D printing, how they fit together, and note the labels describing what each part is.

We will be developing more documentation once the design is closer to something truly useable and are providing these files now just so anyone interested has a starting point.

We used friction welding and M3 nuts and bolts for assembly. There is also the use of 20mm PVC pipe which is easily sourced in Thailand but might not be where you live.

Arduino Code: Check out Wayne Smythe's code here:

It requires an Arduino Uno and two potentiometers used to control the servo.

Credit The linear actuator is based on this model:

We beefed it up a bit and made the main drive gear bigger to allow for a longer throw of the actuator (up to 100mm). The original model is an excellent baseline for a servo-based linear actuator.

The concept was widely guided by this MIT student project from 2010:

We changed the swinging cam to a linear actuator.

3D printing settings

The actuator set needs supports for the end of the arm. Everything else can be printed without supports.

Printed using PLA on a 300x200x200mm Thai-built Ultimaker clone called an ExtraBot.

  • 3D file format: SKP and STL



We're a freelance industrial design house in Bangkok, Thailand. We also like to upload and share free projects to inspire others to get into 3D design and 3D printing.



Add a comment