Ad Hoc ventilator

Warning !

The content described in this website is not approved and must be used at your own risk. It must be tested and validated by medical experts. The authors accept no liability in the event of accidents. This content is published solely as experimental technical documentation.

Key points :

  • Based on common 3D printer hardware/electronics/software (reprap), tested, easy to source and cheap.
  • Multiple hardware platforms supported thanks to Marlin software. Different stepper motor drivers supported (DRV8825, TMC2130, …) different motherboards supported (Ramps 1.4/Arduino, 32bit SKR 1.3, …) and different LCD Hardware (full graphic, 4 line text,…).
  • Big community supporting these software/hardware combinations.
  • Two motors powerful design. Auto alignment.
  • Just a few 3D parts to print to start building.
  • User friendly LCD interface.
  • Interface can handle multiple languages.

Work in progress :

  • Add pressure/humidity sensor(s) based on BME280 sensor.
  • Add max/min pressure alarms based on live sensor data.
  • Implement PEEP
  • Trigger inhalation on patient’s breath start.
  • Add humidity alarms
Pressure sensor installed
BME280 pressure/humidity sensor
Added interactive configuration

The goal is to build a “Ventilator” proof of concept based on a BVM (Ambu spur 2), using common 3D printer parts and open source tested electronics/software (essentially reprap).

We are two engineers living in Brussels, Belgium.

This is just an example to share/test ideas.

This is a Work In Progress. Test results and building instructions will follow. Check the progress and evolutions regularly.

The first prototype is built using wood, but it has be built in a medical compatible material like plexiglass for example. The wood prototype is built without leaving confinement and is perfect to make mechanic validation/testing.

The linear motion system is derived from the Rostock 3D printer. Only the carriage part is modified to accommodate the wooden board and endstops screws. The two other parts to download from thingiverse are motor_end.stl and idler_end.stl.

Testing :

  • 30 BPM : OK
  • LCD interface integration, independent (no PC) configuration/start : OK
  • Test with 40cm H2O resistance : Tested at 30 BPM with 37cm H2O (size of the jerrican) with or without 4kg of lead on it, works !
  • Long duration test : To be done

Hardware parts :

  • 4 LM8UU linear bearings
  • 6mm gt2 belt
  • 2 gt2 6mm 20 teeth (16 teeth is better) pulleys
  • 4 608zz ball bearings
  • The weight is not necessary anymore since the pumping board has been redesigned. However, can be useful in designs (motor/driver) that need a more force, read the following explanation carefully. This is used to add force in the descent part of the movement. This way, the system is more balanced and the motors works in the descent “against” the bag with the help of the weights and in the ascent part just lifting the weights. 4kg of weight (lead dive weights are perfect).
  • 4 steel rods 8 mm diameter. Length is 340 mm but bigger is not a problem, start with 360 mm to accommodate different board thickness.
  • 4 wooden boards (vertical boards) : 360 x 60 x 6 mm. Thickness can be more than 6mm without modification.
  • 2 wooden boards (horizontal boards) : 220 x 210 x 18 mm. Thickness can be different but the rods length must be adapted accordingly. The 210 mm side touches the rods. The interior width of the box is 220mm and the height is 274mm.
  • 1 wooden board: width 44 mm, length 200 mm and height at least 55 mm. This board has to be cut to the right profile.
  • nuts and bolts : M3, M8 bolts and wood screws…

Electronics :

  • 1 Arduino mega 2560
  • 1 Ramps 1.4
  • 2 DRV8825 Stepstick 1/32 microstep Stepper Motor Driver
  • 2 NEMA 17 stepper motors. Model on the prototype : 42BYGHW811 (2.5A, 0.47Nm) VRef with DRV8825 = 1.19v
  • RepRapDiscount Full Graphic Smart Controller not included in the configuration for the moment. Will be added when received from the postman (he has a hard work, thanks to him).
  • 12v 5A power supply

Software :

Marlin software modified to accomodate respirator parameters, configured as a CNC using only one axis and 2 endstops (link)

GitHub repository coming…

Two files must be replaced Configuration.h and Configuration_adv.h (link). These are for two endstops on Ymin and Ymax and the two motors on Y driver and E1 driver on the Ramps.