OpenVentilator - Io Spartan Model Documentation
OpenVentilator - Io Spartan Model Documentation
OpenVentilator - Io Spartan Model Documentation
io
Spartan Model Mk1
Documentation
5.2.20
TABLE OF CONTENTS
1. DISCLAIMER
2. Note to Engineers and Medical Testers
3. Description of the project
4. Functional Description
a. System Diagram
i. Cycle Diagrams
b. Functional Schematics of Parts
i. Cycle Diagrams
c. Functional Description of the System
5. Parts List
6. Assembly Instructions
a. Organization of the GitHub Files
b. Manufacture of Components
c. Assembly of Machine
7. User Manual
8. CURRENT ENGINEERING PROBLEMS
9. Clinical; Engineering; and Testing Questions
10. Contact information
11. Credits
DISCLAIMER
WARNING GRAPHIC
THIS PROJECT IS NOT YET INTENDED FOR MEDICAL USE. THIS DOCUMENT IS AN
ENGINEERING DOCUMENT DESIGNED FOR MEDICAL DEVICE ENGINEERS TO
REPLICATE THE MACHINE AND TEST AND VALIDATE ITS FUNCTIONS, RELIABILITY AND
SUITABILITY FOR MEDICAL USE.
DO NOT USE THIS MACHINE FOR MEDICAL PURPOSES. THIS IS A PROTOTYPE, NOT A
MEDICAL DEVICE.
WARNING GRAPHIC
If you are an Engineer or Medical tester and have built this system and
tested it, we would appreciate your thoughts, results and suggestions. OR,
if you have technical questions, Please contact us at lab@openventilator.io
DESCRIPTION OF THE PROJECT
The OpenVentilator.io Spartan Model Mk1 is an open source mechanical ventilator designed to
be manufactured with a minimum of commonly available components.
There are no microcontrollers or off the shelf electromechanical valves which may be hard to
source in remote or low income locations, or in the event of supply chain slowdown or stoppage
in heavily developed locations.
The machine is designed to use components that can be used in other designs. The Spartan
Model Mk1 is designed to work with a minimum of off the shelf medical supplies, and to be
component agnostic. There may be more well suited solutions in different parts of the world, or
from different manufacturers. We hope that if and when a manufacturer of another ventilator
design cannot source a component for their design, that they will be able to use components
from the OpenVentilator Spartan Model Component Library in place of their original
components, or as stopgap measures during supply chain delays or stoppages.
The OpenVentilator.io Spartan Model Mk1 is designed to give an end user the following
operating controls:
1. Tidal volume control
2. Inhale vs. Exhale timing ratio as well as control over BPM (Breaths Per Minute)
3. Overpressure regulation
4. PEEP (Positive End Exhalation Pressure) regulation
5. O2 Mix ratio
In this section we will show functional diagrams of the system architecture for assembly and in
use in each of 3 states:
1. Cycle 1: Inhale;
2. Cycle 2: Exhale;
3. Cycle 2a: Autonomic inhale initiated by patient during Exhalation Cycle (Cycle 2).
We will show these diagrams both for the system architecture, and the main Diverter valve in all
three states.
System Diagram
Cycle Diagrams
Functional Schematics of Parts
VALVE ASSEMBLY DIAGRAM:
Functional Description of the System
**NOTE: INHALE CYCLE refers to the PATIENT inhaling, NOT the PUMP INHALING.
A 12 volt power supply (optional inline battery backup) is connected to multiple diodes in series
(10A10 diodes, commonly found in alternators and off the shelf). We will refer to this as a ‘Diode
Ladder.’ Two rotary 12 position switches are connected at each of their positions to different
points in the diode ladder. Their center taps are each connected to one side of a relay. In this
manner, each switch provides a voltage setting output to the relay by turning each switch. One
of the position switches corresponds to Inhale Cycle voltage, and thus Inhale Cycle motor
speed, and the other corresponds to Exhale Cycle voltage and thus Exhale Cycle motor speed.
The two 12 position switches will be used to control the DC motor speed in the inhale and
exhale cycle independently, so that BPM as well as Inhale/Exhale timing ratio can be set by
adjusting the two rotary switches.
The center tap of the relay is connected to the positive terminal of a DC motor that will turn a
crank wheel.
The control side of the relay is connected to either a limit switch in the case of a 360 degree
continuously rotating motor, or a Toggle switch in the case of a reciprocating geared motor that
moves in two directions. This will be explained shortly.
The DC motor we are using is a windshield wiper motor from a car, this part can be swapped for
other motors, with suitable adjustments made to the rotary switches, the motor mount on the
pump frame, and the mounting hole in the crank wheel.
The DC motor is affixed to the top of the pump frame and a Crank wheel is affixed to the motor
shaft.
The current design can take a 360 degree continuously rotating motor, or a motor with a
reciprocating gear drive that moves back and forth in both directions. Each type of motor will
require a different type of Crank, and either a toggle switch for a reciprocating motor assembly,
or a limit switch for a continuously rotating motor assembly.
In the case of a continuously rotating motor assembly: The Crank wheel has a 180 degree
cam along half of its circumference. (the difference between cam arcs will be explained later).
During one half of the rotational cycle, the cam depresses the limit switch, which in turn triggers
the relay, which toggles the motor voltage supply to the INHALE speed setting rotary switch,
thus setting the motor voltage supply and thus crank wheel rotational speed. This will determine
the speed of the INHALE cycle. During the EXHALE half of the rotational cycle, the cam on the
circumference of the crank wheel is not in contact with the limit switch, which does NOT toggle
the relay, causing the motor power to be supplied through the OTHER rotary position switch,
setting the crank speed and thusly the cycle time for the EXHALE stroke, opposed to the first
half of the crank’s rotational cycle.
*NOTE it is better to have the motor and crank wheel rotate Counterclockwise if possible, which
will resist loosening the bolt and nut that form the pivot between the crank wheel and piston rod.
****
In the case of a reciprocating motor assembly: The Crank wheel will move back and forth, so
a simple cam will not work, as the cam would pass the limit switch in both directions, and
therefore depress the switch on both inhale and exhale cycles. In this case we use two pawls or
tabs that extend from the crank wheel at an arc angle equal to the reciprocation angle of the
motor (minus the arclength of the throw of a toggle switch) that will toggle a toggle switch at the
end of each cycle, thereby toggling the relay which determines the power path to the motor
through one of the two rotary position switches that sets the voltage to the motor, and thereby
the crank speed and cycle times of each of the inhale and exhale cycles.
The crank wheel, in addition to the mounting hole for the motor shaft and either a cam or set of
pawls on its radius, has a radial mounting slot for one end of a piston rod. By moving the pivot
connection of the piston rod towards or away from the axis of the crank wheel, we can vary the
throw of the piston arm, and thereby control the vertical displacement of the piston, which will
set a tidal volume pumped to the patient.
The bottom of the piston rod is connected to the top of the piston on a pivot joint, and the piston
is held by a gantry that allows the piston to only move up and down.
The piston we are using consists of a section of a truck inner tube, clamped on both ends (top
and bottom) between two cut pieces. These can be wood, metal, acrylic, or injection molded or
3D printed plastic. We are using laser cut acrylic in the prototype, but these can be
manufactured in many different ways with equal effectiveness.
The bottom of the piston has a hose port which is connected at the other end to the ‘PUMP’ port
on the valve block assembly.
The Valve block assembly allows the stacking and folding of valves into one single assembly of
alternating acrylic or metal plates, and silicone or rubber gasket/membrane material. For
simplicity, in this section we will describe the individual valves in the system as if they were in
circuits of pipes, as they are depicted in the system architecture and cycle diagrams. In
actuality, these valves and circuits are nested and folded together into the valve block
assembly. You can see the actual physical flow paths through the valve block assembly in
valve block assembly cycle diagrams.
The GAS port is connected to a Venturi mixing valve designed by other crowdsourced and open
sourced groups, which mixes O2 and air in proportion before it enters the piston. This is 3D
printable, and possibly available as a pre-existing injection molded part from medical supply
manufacturers.
The Venturi mixing valve is connected to a filtered air supply, and an O2 supply.
The O2 supply is provided by a high pressure tank (or in the case of hospital use, a wall port)
and runs through a commercially available flow regulator before entering the venturi valve.
The air supply can run through the best particle filter available, as well as a UV C light chamber
for sterilization. NOTE: It is VERY IMPORTANT that if a UV C sterilization lamp is used,
that it is of the type that DOES NOT PRODUCE OZONE. There are UV C lamps that
produce ozone, and filtered lights that do not produce ozone. Ozone gas is extremely
dangerous if created at the ventilation air source.
The Gas in port leads to two check valves, one which leads directly to the patient inspiratory leg
of the circuit, which forms an autonomic inhale bypass, allowing the patient to inhale
autonomously while the pump is in the exhale cycle. If the Patient inhales during this cycle, the
check valve opens, and allows the patient to breathe mixed air and O2 around the pump, even
while the suction of the pump pulls the check valve on the normal inspiratory circuit pathway
closed. In normal operation of the ventilator, there is always a positive pressure from the patient
side on this bypass check valve, and it remains closed.
The second check valve on the leg of the circuit connected to the venturi air mixer is connected
to the bellows or piston inlet. This allows air to flow into the piston during the exhale cycle when
the piston is being expanded, and will close during the inhale cycle, while the piston is being
compressed, preventing gas flow back towards the venturi valve.
The Piston port is connected to: the previously described check valve coming from the venturi
mixing valve, that allows flow into the piston; a pressure chamber that forms the gate of a
pressure gate valve which we will see in function later; and then to a check valve which allows
flow to the patient, and prevents flow back into the pump. During the inhale cycle, the bellows
compresses, pushing air through this last check valve towards the patient, through a Y tube,
HME (Heat and Moisture Exchanger), and patient side mask, nasal cannula, or intubation setup.
The Y tube, located close to the patient, is connected on one side to the pump, through the
aforementioned inspiratory leg of the pneumatic circuit. On the other side of the Y tube, forming
the Expiratory leg of the circuit, there are connected two valves in parallel. First, a check valve,
which leads to a long tube placed vertically in a liquid tank, with its end at a known depth in the
liquid. This check valve and tube form the overpressure valve of the ventilator. If at any point, a
patient coughs, or some malfunction of the device induces a pressure in the circuit above the
known hydrostatic pressure at the end of the overpressure tube, any excess pressure above
that hydrostatic pressure will be released through this valve.
If a clear tube and tank are used, the overpressure tube can be marked at known intervals, and
the check valve on the overpressure section of the system will stop flow back into the system
from the overpressure valve, causing the water level in the tube to be displaced to a set depth
below the water level at the top of the tank, which will indicate to the operator the peak pressure
of the inhale cycle. If a clear tank cannot be sourced, another Tee in this system, after the
check valve, but before the overpressure exhaust tube, may be connected to a U-Tube
Manometer, so that peak pressure can be read by the operator.
The second valve on the expiratory leg of the circuit is a pressure gate valve. The pressure
gate valve is composed of three chambers. A patient pressure chamber, a PEEP valve
pressure chamber, and Pump pressure chamber. We will now discuss the function of this valve.
In the pressure gate valve, the patient pressure and PEEP valve pressure chamber are located
side by side, with one side of their chamber covered by a flexible membrane or diaphragm.
They are separated by a wall, that can seal to the membrane, or un-seal from the membrane,
depending on the differential pressures inside the valve. Above the membrane is a third
chamber, which leads directly to the bellows pump.
The PEEP valve pressure chamber is connected, much like the overpressure leg of the circuit,
through a check valve and to the top of a tube placed vertically in a tank of liquid, whose end is
at a known depth, and therefore known hydrostatic pressure on the end of the tube.
During the inhale cycle, the bellows pump exerts a pressure both on the upper pump pressure
chamber, and an equal pressure on the patient pressure chamber, since the pump pressure will
cause the check valve leading to the patient to open, and is connected after that check valve,
unvalved to both the patient and the expiratory leg of the circuit. This pressure in both the
patient pressure chamber and the pump pressure chamber will be higher than the hydrostatic
pressure exerted on the PEEP valve pressure chamber, through the PEEP valve leg of the
circuit. This will cause the membrane to seal to the peep valve pressure chamber, thus blocking
any flow from the patient to the PEEP valve. This allows the pump to pump a pressure higher
than the set PEEP into the patient, without gas escaping through the PEEP valve.
During the exhale cycle, the pump exerts a suction on the pump pressure chamber in the
pressure gate valve. The patient exerts an expiratory pressure on the patient pressure chamber
of the valve, which is a higher pressure than the PEEP valve pressure chamber. The flexible
membrane moves away from the wall between the patient pressure chamber and the PEEP
pressure chamber, thus allowing air to flow from the patient to the PEEP valve and out of the
system.
A note for electronics engineers: It is interesting that so often we explain electronics concepts by using
the analogy of water through a pipe. Voltage being a physical height difference in piping, and thus
hydrostatic pressure, resistors being strictures in the pipe, amperage being a flow rate, and so on. I wish
to point out that there is a good digital electronics analog to the pressure gate valve, and explain in
reverse here. This pressure gate valve works something like a MOSFET, where the gate is pressure
driven rather than voltage driven, and the flow of gas from one of the lower chambers to the other is
analogous to the flow of current through a MOSFET’s emitter and collector legs.
The top of the liquid tank containing the PEEP and Overpressure valves has a third port, which
is connected by pipe or hose, to the lower inlet of an exhaust module. This module is
constructed in exactly the same manner as the intake module, out of a large tank containing a
port on the bottom, a UV C bulb for sterilization of the exhaust gasses. Again, this light should
be filtered such that it does not create ozone gas, which is harmful to the patients and operators
of the device. Finally, there is an exhaust port in the top of this module that is covered ideally
with a HEPA filter, or the best filter material available.
A note about the construction of the PEEP and Overpressure valve tank:
There are multiple methods of controlling the liquid level in the tube. Earlier designs used a
float to control the level of the PEEP and Overpressure ports in the liquid, but maintaining float
height with stiff tubing or maintaining seal and flow with very flexible tubing were difficult to
achieve. Instead we use one of multiple methods for controlling the liquid level in the tank.
1. An attendant can manually check and refill the tank to a set height. This is the simplest
solution to build, but adds one additional task for a clinician using the machine.
2. A U shaped tank, with a floating ball sealed against a top orifice, leading to a shallow
reservoir will seal the port to the reservoir when the liquid is up to the correct level, and
when the level decreases, the floating ball will fall, thereby opening the port to the
reservoir until the water level is replenished to a level where the floating ball once again
seals the reservoir.
3. A mechanism similar to a toilet tank float valve, or an off the shelf toilet tank float valve
may be used, connected to a separate reservoir, such that when the liquid level is
correct, the valve will be closed, and if the liquid level drops, the float will drop, opening
the valve until the liquid level and thusly the float move back into position, and close the
valve.
ASSEMBLY INSTRUCTIONS
The OpenVentilator Spartan Model Mk1 is a component agnostic system, and because of that
there are many configurations that can be built, depending on the tools and resources at hand.
This section will document the assembly of the Mk1.0.0 as we have built our first prototypes. It
is possible to swap out an increasing number of components for assembly and testing by
following the GitHub organizational chart. Individual component assembly files are being
updated continuously. What follows is first a note about the organization of the Github files, and
then the assembly and manufacture instructions for our current core build, the Spartan Model
Mk1.0.0
MASTER LEVEL: This level contains a functional system description; a list of component groups
necessary to complete the system; and a list of completed builds lists of individual components,
materials, and tools used for that particular build.
COMPONENT GROUP LEVEL: This level contains folders for each component group: The
Pump; Valves; Electronic Controls; Exhaust Systems; Intake Systems.
Each Component Group folder will have a Readme file that contains a list of all the possible
ways fo build a component group, along with the list of necessary materials and tools needed to
complete that component. The component group level will have folders containing specific files
for individual components.
INDIVIDUAL COMPONENT LEVEL: This level will comprise individual components necessary
to complete the system.
Each folder will contain: a read me file that contains a description of the component, tools and
materials necessary to complete the component; assembly and manufacturing instructions.
This document will link to the source files (as in CAD files) when possible, so that builders and
designers can make their own modifications to individual components, and suggest
improvements. The folder will also contain any necessary design files: STL files; DXF files; PDF
dimension files, Electrical and wiring diagrams; etc.
PARTS LIST
This section will cover all necessary parts to build the OpenVentilator Spartan Model Mk1. build
1.0.0. Please note, once again, that it is possible to build a Mk1 system with different tools,
methods, and components by substituting component files within the system, increasingly
available on the Github page. This component list and assembly manual are for ONE particular
build, as an example.
LIST OF COMPONENTS
PARTS LIST
We currently have no designs for the manufacturing of many of the following components. If
you would like to add component files that could replace any of these part in the event of
scarcity, please let us know and we may add them to the part libraries.
1. 12V Motor - Car Windshield Wiper Motor (360 degree continuous, or reciprocating
gearbox type)
2. 2 way relay
3. 12V power supply
4. 12V battery (optional - more stable machine in the case of power outages)
5. 2x 12 position rotary switches
6. 14x 10A10 Diodes (commonly available off the shelf or in automotive alternators)
7. Wire
8. Solder (Preferable to only mechanical wire bonding)
9. Shrink wrap tubing
10. 1 piece of Proto-Board (perf-board or soldering prototyping board)
11. Limit Switch or Toggle Switch
12. ~5 meters Vinyl Tubing (minimum ½” diameter, but 1” is suggested. If you can get
proper Ventilation tubing, all the better. There will be valve files with all possible
connection nipples available, and currently they are open source files which can be
easily modified to fit your available tubing.
13. 2x to 3x Hose Barb Tees in the correct size diameter to fit the tubing in item 9. These
can be swapped for regular Tee’s with hose barb connectors at their ports. We will also
soon have 3D printable Tee files that can replace these off the shelf items.
14. A large tank ~1+ M deep, to hold the PEEP and overpressure tubes, a float, and sanitary
liquid. We recommend a section of 4” PVC pipe with an end cap on the bottom, and
hose clamps, duct tape, or zip ties to affix to something that will prevent it from tipping
over.
15. 2x electrical conduit glands to fit the PEEP and Overpressure Tubing
16. 2X Pipe cap for the liquid tank, which will accommodate 2 glands and a hose barb or
pipe nipple port.
17. 2x hose nipples or pipe connectors to connect from the top of the liquid tank to a hose or
pipe, and then from that pipe to the bottom of the exhaust module
18. A PVC pipe with end cap, and hose nipple fitting long enough to enclose an intake UV
light when possible. We recommend 4” PVC when possible.
19. 2x 90 degree pvc elbows (male threads on one side with retaining nut and seal gasket;
hose barb or pvc female fitting on the other) these will connect to the bottom of the
bellows pump.
20. 1 or 2 Ozone Free UV C sterilization Light Bulbs, and the appropriate Ballast to drive
them. If you have 1 UV light, we recommend using it on the exhaust port. If you have
access to 2 lamps, we recommend using them on both the intake and exhaust ports of
the machine.
21. Enough filter material to cover your Intake and Exhaust ports.
22. A Truck Inner Tube, R13 or R14 are common sizes that will fit our currently
manufactureable parts. (We also have alternate DXF and CAD files that will fit an
R15/16 tube currently)
23. 2x 608 roller skate style bearings
24. M3 NUTS AND BOLTS varying lengths.
25. Liquid Silicone or Teflon Sealant (Plumbers Pipe Dope)
26. Silicone or lithium or other bearing grease
27. Acrylic Cement / Wood Glue (We are using acrylic cement with laser cut acrylic panels,
we would use wood glue if we were forced to use wood or mdf panels to form the pump
chassis.
28. XXXX square meters of 6mm thick acrylic. This can be swapped for double the area of
3mm thick acrylic by doubling up the panels.
29. XXX square meters of (0.5-1mm thick??) Silicone, Latex, or other gasket material
30. About 2 meters of pvc pipe at ½”. ¾ or even 1” pvc pipe can be easily substituted with
minimal modifications to the design - by changing the intake and exhaust port hole
diameters on the pump, and choosing a larger port diverter valve listed on the github
page.
31. Pvc glue
32. 2x 330mm x8mm in diameter steel rods. These will form the linear slides for the pump
gantry. The diameter and length can easily be adjusted with only two dimensional
changes in the source files of the pump chassis.
33. About 500g of 3D printing filament - PLA or PETG is recommended
34. Silicone caulk or epoxy resin
35. Large rubber bands
BELLOWS PARTS:
Parts List Bottom Part
● 3x Screws
● 1x Washer (The Inner Diameter should be less than the size of the the shaft
diameter of the motor)
● 1x Nut (Our case and example is an 8mm Nut)
● 3x M5 Screws x 15mm
● 3x M5 Nut (A lower high is recommended like a 3mm nut to avoid colision on the
backpart of the Crank Disk)
GANTRY PARTS LIST
ASSEMBLY:
This Assembly guide will be broken into multiple parts: first component assembly, then system
assembly. The component assembly guides will comprise:
1. Valve assembly
2. Intake Module Assembly
3. Exhaust module assembly
4. PEEP and Overpressure tank assembly
5. Pump Frame assembly
6. Motor and Speed Control Assemby
7. System assembly.
Valve assembly
First 3D print 6X port nozzles for the valve block. We are currently working on a version
of this assembly that will not require printed nozzles, but instead will use common off the
shelf hose barb fittings. These will be updated to github when the design becomes
available
Laser cut all acrylic panels for the valve block assembly.
Laser cut all Silicone or rubber gasket sheets for the valve block assembly.
Once the pieces are cut, assemble the acrylic and silicone plates, along with the port
nozzles in the order shown in the diagram below.
Use rubber cement to glue the membrane layers to one acrylic layer. (ADD NUMBERS
TO MEMBRANE AND ACRYLIC LAYERS AND DESCRIBE GLUE ORDER)
Where there are small holes, insert M3 hex screws and fasten with M3 nuts. First
loosely hand tighten all of the nuts, then move in a star shaped pattern, tightening each
screw one turn at a time until the valve block assembly is sealed tight. This is the same
procedure as tightening engine head bolts, or lug nuts on a car. You don’t want to
tighten any one bolt much more than any other bolt at any one time, which could cause
poor seating of the gaskets and diaphragms inside the block.
The Assembly of the Exhaust module is exactly the same as the intake module.
With a section of vinyl tubing, connect the exhaust nipple on this tank assembly with the
intake port nipple on the bottom of the exhaust assembly.
Pump Frame assembly
First cut all the DXF files from the pump chassis folder on github, out of 6mm thick
acrylic. You will need to 3D print one knob for ease of use. Print the STL in this same
folder at 30% infill, 4 shell walls top, bottom, and sides, 0.4mm nozzle, 0.3mm layer
height. PLA or PETG.
This assembly will be done first with 15mm M3 Hex bolts and nuts, then glue/ acrylic
cement may be added to all joints using a needle applicator once the machine is fully
assembled. The assembly instructions will not specifically denote when to add a screw
and nut, it is assumed that every joint assembled that has a screw hole and nutsert
cutout will be fastened with a 15mm M3 Hex Screw and nut.
Make sure to read the instructions thoroughly. For the sake of expediency we
have omitted modeling off the shelf components like motors and switches in this
set of released files. We do note in the instructions where a component other than
fully modeled parts must be placed.
1. Assemble the Base Plate, Lower Rod Mounts, and Center Plate
2. Place the lower bellows clamping plate in the bottom end of the section of R13/15
inner tube cut to form the bellows. Place this plate on top of the baseplate, and
clamp these two plates together with an M8 bolt and nut, using a rubber sealing
washer, or a small piece of inner tube cut in the shape of a washer. Then place
two pvc threaded ports through the port holes, seal with pipe dope or silicone
sealant, and thread the locking nut down tight from above. This will complete the
piston port assembly. (PVC fittings and Inner Tube not pictured.)
3. Connect Motor Mounting Plate to Motor Mount Braces:
4. Add Rod mounts to Motor mount assembly (these may need either gluing or tape
to hold in place betore they are screwed in in a later step) DO NOT add the top
plate to this part of the assembly.
5. Move to the Gantry Assembly. Clamp the top of the inner tube bellows between
the two circular top bellows plates, and put an M8 bolt through the center hole,
facing up. Place the bottom three plates of the gantry on top of the top circular
bellows plate, and tighten a nut down on the M8 screw, fastening these pieces
together.
*Note* these photos are from an older gantry design. The current gantry is constructed in a
similar fashion, but the shapes are more reliable and sturdy.
6. Align the bearing block plates on either side of the gantry, and insert 2 LM8UU
bearings into each side hole. (see picture above.)
7. Add center and outer face plates to the gantry and screw together through the
front faceplate to the back faceplate to hold the assembly together with 2 M3
screws.
8. Add the Top gantry plate and bolt the assembly together with one M8 nut and
bolt on either side of the assembly running from top to bottom.
9. Slide the rods through the sides of the gantry, and into place in the lower rod
mounts
10. Now drop the Motor Mount assembly into place on the centerboard, and make
sure that the sliding rods seat into their upper mounts.
11. Install the side plates on the frame:
12. Add front and rear plates to the base of the machine:
13. Add limit switch mounting plates to the machine. There are mounts for Two limit
switches, one on either side of this machine for future expansion, however only
one side is required for this build. Note that there are 2 plates that mount in front
of the motor mounting plate, to achieve proper alignment between the limit switch
and the cam on the crank wheel. Now is a good time to mount the limit switch to
the switch mount (not pictured) Don’t fully tighten the nuts on these screws, you
will have to snake your hand inside to hold these nuts and tighten these screws
into position once you have mounted the motor and crank wheel, so that the
switch and crank cam are in propper alignment.
14. Add Rear Support Plate (This may be a good place to mount electronics
externally for testing purposes later)
15. Add Top Corner gussets on both sides of the top of the machine.
16. Add foot corners to the bottom of the machine with Acrylic Cement.
17. Mount the motor to the motor mounting plate. The mounting holes in the plate
are easily modified in the onshape source files, to a bolt pattern for many
available motors. Mount the Front and Rear Crank wheels to the end of the
motor shaft, and use washers to space the motor behind the plate, such that the
space between the crank wheel and the front of the motor mount plate is exactly
8mm.
18. Push an M8 hex bolt through the 3D printed knob, until the head bottoms out on
the recess in the face of the knob. Mount a 608 roller skate bearing in each end
of the two piston rods, and mount one end to the gantry, and one end to the slot
in the crank wheel. The end at the crank wheel will have a captured hex nut in
the rear crank wheel, and the bolt and knob entering from the front, through the
608 bearing.
19. Align and tighten limit switch mounting plates, such that the limit switch is tripped
when passed by the 180 degree cam on the outer radius of the crank wheel, and
not tripped when the cam is on the alternate side of the stroke.
Motor and Speed Control Assembly
Connect the following circuit to the machine. The Limit Switch will be mounted on one
side of the pump frame, the Two Speed Control Rotary position switches will be mounted
on the lower front panel of the pump chassis. The motor must mount to the motor mount
plate. It is preferable that the diode ladder is mounted inside the frame of the machine,
behind the center plate and away from the moving parts of the bellows and gantry. The
Power supply and optional battery may be affixed to the side of the machine for stability,
or placed away from the machine entirely.
System assembly.
This manual is designed for medical, scientific and testing labs, not for clinical use.
2. Tidal volume can be adjusted by loosening the end of the piston rod at its pivot in the slot of
the crank wheel, adjusting the crank length, and re tightening the pivot of the piston rod on the
crank wheel. The ‘pump volume’ will be roughly the cross sectional area of the bellows, times
the crank length setting. The patient side induced tidal volume will be a function of ‘pump
volume’ and peak pressure on the system, which can be read either from the liquid level in a
clear overpressure tube and liquid tank, or from a U tube or other manometer placed on the
circuit leg of the overpressure tube, between the tube, and the check valve leading to it from the
patient. We have not yet fully charted this function in our prototypes, and suspect that it will
vary between builds. This is one of the important questions that we have in the Clinical;
Engineering ; and Testing questions section.
3. PEEP (Positive End Expiratory Pressure) can be set by loosening the gland at the top of the
liquid tank and adjusting the height of the PEEP tube, so that the bottom end of the tube is at a
known depth below the waters surface, and therefore a known hydrostatic back pressure.
Tighten the gland once this adjustment is made, to once again seal the tank, and keep the
PEEP tube in place.
4. Overpressure setting can be made in exactly the same way as the PEEP setting above.
The Spartan model was designed for use in VCV (Volume Control Ventilation) mode, however,
we suspect that it can also be used in PCV (Pressure Control Ventilation) mode as well, buy
using the same adjustments in a different manner. For use in PCV, We suspect that a user
could set the overpressure setting to the desired peak plateau pressure, and then set the crank
wheel pivot radius such that the ‘pumped volume’ is enough that gas escapes the overpressure
valve during the entirety of the pressure plateau, which is to say, that we pump more volume
than necessary, and release excess pressure and flow through the overpressure tube.
CURRENT ENGINEERING PROBLEMS
1. In the Valve Block Assembly, layers that are supposed to have a flat membrane
sandwiched between two layers of acrylic, tend to flex into a channel, if one of the acrylic
panels has a channel cut through it. Gas pressure tends to find its way from the port
hole, up over the membrane, pushing the membrane down into the channel, and exiting
a connected port, even if that port has a check valve, because the membrane is deflect
down into the channel allowing gas to pass over the membrane. We think that this can
be remedied by gluing the membrane to the flat side acrylic without a channel cut,
however, this is not the cleanest solution. Glue makes it harder to disassemble and
sterilize the valves, although we think it can be done. We are working on alternate
solutions and welcome suggestions to overcome this problem cleanly.
Clinical; Engineering; and Testing Questions
The OpenVentilator Spartan Model Mk1 is an ongoing project, and we could use your
help in answering some questions, making modification suggestions, and posing
questions that we might not have thought of yet, or described here. In this section, we
will address some questions that we have that we are hoping that will be answered by
another group in a research or lab setting. If you have something to add along these
lines, please contact us at Lab@openventilator.io
1. We suspect that you could control O2 mixture by knowing the flow rate pumped
by the Spartan model, and the flow rate from the regulator on the input oxygen
tank. We would like clinical confirmation that this is the case, and thoughts on
factors affecting the O2 concentration that we have not considered should this be
the case.
a. We also suspect that using the calculation of O2 concentration from #1,
along with either a pulse oximeter, or other method of oximetry, a clinician
could control and adjust patient side oxygenation with some useful
accuracy. We would like a clinician or test facility to suggest a
methodology for controlling patient oxygenation with this hardware
system.
2. The tidal volume induced in the patient is a function of the ‘pumped volume’ and
the peak pressure induced in the system. We would like to empirically test a
formula for calculating patient side tidal volume from peak pressure and ‘pumped
volume’ We are unsure if this function will be fairly straightforward, or have some
nonlinearities caused by flow and compression inside the circuit. We would like
to connect the ventilator to a test lung, and measure peak pressure and tidal
volume in the test lung, while varying the ‘pump volume’ by changing the crank
pivot length on the pump, to better understand the patient side induced volume
as a function of ‘pumped volume’ and peak pressure.
3. We have not yet tested the method described in the previous section for PCV
(Pressure Control Ventilation), but suspect that it would be a useful mode of use
by clinicians. A detailed strategy and methodology as well as testing data for a
PCV operation mode would be very helpful to the project.
4. We think thiat this machine will be very useful in some, but not all clinical cases
of COVID-19. We would like suggestions for a methodology for determining, or
endpoint conditions that determine necessary functions of the hardware, that
would determine the clinical situations where this macnine WOULD and WOULD
NOT be appropriate.
5. We recognize that this machine, as it is built now, does not use standard sterile
medical materials, or manufacturing techniques. We would like suggestions
pertaining to:
a. Methods of sterilization of the machine
b. Manufacturing methods, and materials that might be more easily
sterilizable, keeping in mind the ethos of the Spartan Model, being
something that is still EASILY, CHEAPLY, and UBIQUITOUSLY
manufactured.
Contact information
For general inquiries contact:
For assembly or testing questions contact: Support@openventilator.io
For engineering questions or suggestions contact: Lab@openventilator.io
Credits