Important Disclaimer: This is a prototype device, offered free-of-charge as a public service during the COVID emergency, and no claim, guarantee, or warranty of performance or suitablity for any purpose is offered or implied. This device has not been independently certified or approved. Use of this design or any derivatives thereof is entirely at your own risk. By using any of these materials, you acknowledge that you have read and understood the full disclaimer at the end of this document. Please do not use these materials if you do not understand and accept these risks.
This is a low-cost 3D-printable PAPR project started by Edwin Chiu as part of RespiraWorks (github: inceptionev)
This project is currently at release-candidate stage. The current files can be found in the release-candidates folder. Most of the 3D files here were created in FreeCad v0.18.
The most current instructions are those in this README. They include instructions both for building the PAPR and for modifying off-the-shelf masks, hoods, and helmets for use with the PAPR.
I am making this for myself, and for my loved ones who are medical workers and essential workers. They wear masks all day to keep us safe, and supplies of disposable PPE are sometimes uncertain.
The combination of a respirator mask, powered air delivery, and commonly-available bayonet-mount filter packs provides a better face-seal, more comfortable breathing, and more re-usability than disposable masks.
- Uses commonly-available 6000-series or 7093 bayonet filter packs, which have many options in N95, P95, and P100 types.
- Powered by a USB-C PD battery pack (as long as it is 9V @ 2.0A capable)
- Packs can be swapped out for 20hrs+ of runtime per 26800mAH battery.
- If used with a modified respirator mask, it can be made to filter both inhaled and exhaled air.
- It can be used with a variety of full-head hoods, full-face masks, and respirator masks.
This project was designed in FreeCAD, and the main project file is here: PAPRv10-MAIN.FCStd
Individual .stl files for 3D printing are linked in the Bill of Materials below. Suggested support configuration and print orientation can be found in the assembly instructions below.
Also have a look at RespiraWorks' Ventilator project at https://respira.works and https://github.com/RespiraWorks/Ventilator
Table of contents generated with markdown-toc
- A = Aliexpress
- C = McMaster-Carr
- W = Wonsmart
- K = Digikey
- 3D = 3D printed
- Z = Amazon
- R = RS computing
- 3M = 3M
- G = Grainger
Item | Quantity | Manufacturer | Part # | Price (USD) | Sources | Notes |
---|---|---|---|---|---|---|
papr1 | 1 | Custom 3D print | TopLevelPart-Body | $6 (material) | 3D | Main Body |
papr2 | 1 | Custom 3D print | TopLevelPart-BatteryBack | $2 (material) | 3D | Battery Mount |
papr3 | 1 | Custom 3D print | TopLevelPart-OutletAdapter | $1 (material) | 3D | 22mm Taper Hose Outlet |
papr4 | 1 | Custom 3D print | TopLevelPart-OutletKey | $6 (material) | 3D | key to hold the outlet in |
papr5 | 1 | Wonsmart | WS7040-12-X200 | $36 | A | 12V Blower |
papr6 | 1 | Generic | PotBrushlessController | $10.11 | A | Potentiometer-Controlled Brushless Motor Driver |
papr7 | 1 | Generic | 9V/12V USB-C Trigger | $3.15 | A | USB-C 12V/9V PD Trigger - choose 9V option when ordering |
papr8 | 1 | Amazon | 6-inch USB-C Cable | $3.50 | Z | 6-inch USB-C Cable |
papr9 | 1 | Amazon | Carry Strap | $12.59 | Z | Carry Strap |
papr10 | 1 | Littelfuse | SMAJ9.0A | $0.41 | K | TVS diode |
papr11 | 1 | Various | CAP 0805 4.7uF 50V X5R | $0.27 | K | Filtering Cap - manufacturer stock rotates often, so search for an in-stock part |
papr12a | 1 | Amazon | Elastic Phone Holder | $10 | Z | Elastic band to hold battery |
papr12b | 1 | AliExpress | Elastic Phone Holder | $0.50 | A | Elastic band to hold battery |
papr13 | 1 | Conxwan | 26800mAh battery | $27 | Z | 18W USB-C Battery |
papr14 | 4 | Amazon | 6-32 x 3/8" Screws | $8.75 | Z | Screws to secure back |
papr15 | 1 | Amazon | 4ft CPAP hose | $10.57 | Z | CPAP hose |
papr16 | 1 | 3M | 7093 Filter Cartridge (pair) | $30 | 3M | example filter packs |
papr17 | about 6x6cm | McMaster-Carr | 8785K82-8785K822 (Extra Soft) | $22.22/12x12" | C | 1/8" Silicone Foam Gasket Material |
papr18 | 1 | 3M | Filter Gasket | $2.01 | G | Inlet Gasket for 6000-series filters |
papr19 | 1 | OWO | (Optional) Upgraded potentiometer | $1.00 | A | nicer pot with knob and jam nut |
papr20 | 1 | JST | (Optional) JST connector kit and crimper | $40 | Z | required connectors for upgraded potentiometer |
Parts for modifying and adapting masks and helmets for use with the PAPR
Item | Quantity | Manufacturer | Part # | Price (USD) | Sources | Notes |
---|---|---|---|---|---|---|
mask1 | 1 | 3M | 6100(S)/6200(M)/6300(L) Respirator Mask | $35 | 3M | example half-face respirator mask* |
mask2 | 1 | 3M | 6700(S)/6800(M)/6900(L) Full-Face Mask | $150 | 3M | example full-face respirator mask* |
mask3 | 1 | 3M | M-206 Full Face Helmet | $230 | 3M | example full-face respiratory helmet* |
mask4 | 1 | Allegro | Tyvek Full-Face Hood | $23 | Z | example full-face hood* |
mask5 | 1 | Custom 3D print | Bayonet Inlet Adapter | $2 (material) | 3D | Inlet Adapter for Bayonet-type masks |
mask6 | 1 | Custom 3D print | 6100/6200/6300 Outlet Plug | $1 (material) | 3D | Plug for sealing the outlet valve of 6100/6200/6300 masks |
mask7 | 1 | 3M | Inlet Filter Gasket | $2.01 | G | Inlet Gasket used as part of above outlet sealing |
mask8 | 1 | 3D | Outlet adapter to MGHT for allegro mask | $1.00 | 3D | Outlet adapter to allow garden hose connection |
*note, without modification, these masks do not filter the exhaled air. They are useful for keeping the wearer safe, but not for keeping others safe from the wearer.
Some of these can be modified enable full 2-way filtering. Instructions are planned for this lower down on this page.
Item | Quantity | Manufacturer | Part # | Price (USD) | Sources | Notes |
---|---|---|---|---|---|---|
papr-tool1 | 1 | Custom 3D print | InletGasketJigInsideV1 | $1 (material) | 3D | Jig for cutting blower inlet gasket |
papr-tool2 | 1 | Custom 3D print | InletGasketJigOutsideV1 | $1 (material) | 3D | Jig for cutting blower inlet gasket |
papr-tool3 | 1 | Irwin Tools | Tap kit | $30 | Z | Tap kit for chasing body threads |
Other Useful Tools
- Exacto blade
- 6-32 tap
- Phillips screwdriver
- Small flat-blade screwdriver (for removing outlet key)
- Assorted heat-shrink tubing or electrical tape
- Soldering iron and soldering supplies
- Small, 2mm thick needle file
- Can of compressed gas cleaner with a spray straw, like "Dust-Off" or similar, for clearing out the screw holes.
The following adapters can be used with a Portacount machine to test the efficacy of the PAPR, masks, and the filter cartridges it uses. Beware of counterfeit filter cartridges!
Item | Quantity | Manufacturer | Part # | Price (USD) | Sources | Notes |
---|---|---|---|---|---|---|
papr-test1 | 1 | Custom 3D print | 6200SamplingAdapter | $1 (material) | 3D | Portacount Sampling Adapter for 6200-series Masks |
papr-test2 | 1 | Custom 3D print | BayonetFilterTester | $1 (material) | 3D | Portacount Sampling Adapter for Bayonet-style Filter Cartridges |
Graphic for printing Outlet Stickers | Info cards (useful on planes or for the curious) Click image for PDF |
---|---|
![]() |
![]() |
Step 1: Print out all the 3D printed parts and tools. Tip: Select the print orientation such that supports fall on flat/inside faces, and avoid supports on text. Note that depending on your printer, you may need to chase the screw threads with a 6-32 tap.
The PAPR was designed and tested using the following setup. You may need to make modifications for your printer/material/setup.
- Printer: Elegoo Mars (SLA LCD Masking 3D Printer)
- Material: Blend of 30% Siraya Tech Tenacious and 70% Siraya Tech Fast Grey
- This blend makes a material that is strong but also slightly flexible and thus resistant to cracking due to impacts.
- Layer Thickness: 0.05mm
- Exposure time (bottom layers): 30s
- Expposure time (all other layers): 8s
Suggested Print Orientations
Body
- Tilt angle: 4.0° lean back
- This allows the supports to come in at an angle that makes them easier to remove.
- This is the maximum angle that still allows the supports needed to correctly print the bayonet teeth in the inlet.
- This orientation preserves the quality of the printed text.
- Most printing processes will require that the 6-32 threads the body be chased with a 6-32 tap. I recommend doing this step before post-curing, while the resin is still soft.
- Whether you chase the threads before or after post-curing, you MUST clear any uncured resin out of the thread holes before post-curing. If the residual resin cures inside the holes, it will plug the threads. A can of compressed gas keyboard cleaner that comes with a straw for directing the flow can be very useful here.
- Having a 2mm thick needle file can be useful for clearing residue from the supports in the outlet adapter key slot.
- This Chitubox project file reflects the recommended supports and orientation: _PAPRv10-Body.chitubox
Battery Back
- Tilt angle: 11° lean back
- These minimal supports were confirmed to print reliably with the settings above.
- This orientation keeps the inside surface of the back flat, which is required for pushing the blower into the gasket.
- This Chitubox project file reflects the recommended supports and orientation: _PAPRv10-BatteryBack.chitubox
Small Parts
- Only the outlet adapter and outlet key are required to build the PAPR, but if you are making the 6100/6200/6300 mask mods, you can combine the inlet adapter and outlet plug on this print.
- Tilt angle: 4° on the mask inlet adapter only. This overhangs the front face, allowing supports to reach the engagement teeth.
- These supports on the mask inlet adapter are necessary to make those teeth print correctly.
- Supports are necessary on the outlet adapter as well, to prevent vacuum formation, which can distort or fail the print.
- Supports are not technically necessary on the outlet plug and outlet key, but the rafts make removal from the build plate easier, and prevent bottom layer over-exposure distortions which you would otherwise need to remove during post-processing.
- This Chitubox project file reflects the recommended supports and orientation: _PAPRv10-SmallParts.chitubox
Other Printing Tips:
- Good curing is key. I recommend 60min under 405nm 6W lights minimum. Turn your parts to make sure no portions stay shadowed during curing.
- Keep the alcohol wash short, 5min maximum. Parts left in alcohol for too long will swell and lose strength.
- The next build steps can be done while the parts are being printed.
- The first part you will need in the following assembly process is the Gasket Jigs so if you print those first you can get moving. The next part is the body, followed by the outlet adapter and the outlet adapter key, and finally, the battery back.
Step 2: Gather your electrical parts.
Step 3: Prepare the PD Trigger. Here will we set the voltage to 9V and add voltage protection to the output.
Removing the solder bridge sets the PD mode to 9V.
The diode and cap are necessary to protect the battery from receiving damaging voltage kickback from the motor driver.
![]() |
![]() |
The diode has a line indicating the cathode. Make sure the side with the line goes to positive (+) on the trigger.
Now flip the PD Trigger over and solder the 4.7uF 50V cap to the backside between the two metal thru-holes.
Then solder the motor controller wires to the pads on the trigger. Heat shrink anound the completed trigger assembly.
![]() |
![]() |
Step 4: Attach the driver to the blower. Make sure to observe the right pin assignments as pictured or the blower will spin backwards.
Cut the White, Yellow, and Blue blower wires near the connector, preserving as much length as possible. Cut some heat shrink tubing and put them on the blower wires before you proceed.
Trim the driver's black phase wires short and strip them as pictured. Solder the blower and driver phase wires as pictured, being mindful of the driver orientation (capacitors below wires). Apply the heat shrink tubing.
![]() |
![]() |
Step 5: Install the pot into the body. If you are using the included pot that comes with the driver, most of these steps will be optional. For the included pot, push the pot into the slot and through the shaft hole, and glue it in place with some hot glue. If you are using the upgraded pot with knob, follow these instructions:
Take the included pot and cut off the wires, preserving the connector and wires.
Crimp JST XH sockets onto the ends of these pins. Populate the sockets into a 3-pin female JST XH housing, using the old pot as a guide for the pin arrangement. Insert the connector into the pot PCB.
![]() |
![]() |
Remove the knob, nut, and washer from the pot. The knob is push-fit and just slides off. Install it into the slot and through the shaft hole with the PCB up against the inner wall. Route the wires through the groove.
![]() |
![]() |
From the other side, install the washer and nut and tighten to retain the pot. Install the push-fit knob.
![]() |
![]() |
Plug the other end of the pot wires into the driver.
Step 6: Use the gasket jigs to cut out the blower inlet gasket from the gasket material.
First, make sure you have enough room to cut out the blower inlet gasket. Place the inner gasket jig and use it to make the inner cut.
![]() |
![]() |
Place the outer gasket jig into the hole you just cut and use it to make the outer cut.
![]() |
![]() |
Insert the completed blower inlet gasket into the housing.
Step 7: Install the blower into the housing.
Put the blower into the pocket over the gasket.
![]() |
![]() |
Insert the outlet adapter through the hole at the top of the housing and install the retaining key.
![]() |
![]() |
![]() |
Route the wires back through the groove to the electronics pocket. Fit the driver and PD trigger into this pocket. Install the 6" USB-C cable into the PD trigger and route it as shown, along the right side under the blower and out the top of the housing.
If for some reason you ever need to remove the outlet adapter key, wedge a screwdriver into the provided notch and lever it out.
Step 8: Install the battery back, being careful not to pinch any wires. It may help to slide it on, while holding the wires in place. Use the screws to secure the battery back onto the body. Install the battery into the PAPR and secure it with the elastic cage.
![]() |
![]() |
![]() |
Step 9: Take one of the filter gaskets and put it onto the inlet bayonet.
Step 10: Install the shoulder strap.
![]() |
![]() |
Step 11: Assembly Complete. Plug in and test! The blower should spin counter-clockwise. After confirming proper operation, install the bayonet filter cartridge.
![]() |
![]() |
Note that 6100 is the small side, 6200 is medium, and 6300 is large. These instructions and the 3D-printed pieces will work with all three sizes.
These modifications to the mask make it compatible with the PAPR, while also plugging the exhale valve and repurposing one of the inlet filters as an outlet filter. This converts the mask into a full 2-way PAPR that filters both inhaled and exhaled air.
Step 1: Select one side of the mask to be the outlet filter side. Remove the check valve membrane from the one-way valve on that side. Install the bayonet filter cartridge onto that side. On the opposite side, leave the valve membrane in place and install the 3D-Printed Bayonet Mask Adapter.
![]() |
![]() |
![]() |
Step 2: Remove the outlet valve cover. A flat bladed screwdriver will help. Leave the outlet valve membrane in place.
![]() |
![]() |
Put one of the 3M filter gaskets over the membrane, followed by the outlet plug.
![]() |
![]() |
Step 3: Reinstall the outlet valve cover, making sure it snaps into place, and mark it as sealed.
![]() |
![]() |
The following procesures are inteneded to be used with a Portacount machine to test the efficacy of the PAPR, masks, and the filter cartridges it uses. Beware of counterfeit filter cartridges!
The Portacount (and similar devices) measures the concentration of particulates in an air stream by counting the number of particles per volume sampled. It tests filters and mask fit by comparing the sample air inside a respirator to the outside ambient air. The fit factor or protection factor is simply the number of particles counted in the ambient sample divided by the number of particles counted in the respirator sample, for the same volume.
A proper P100 filter should register a protection factor of 1000 or greater (> 99.9% of particles filtered).
A properly-fitting resipirator should at minimum deliver a fit factor / protection factor of 100. Things like poor-fitting masks, loose masks, leaks in the hose or PAPR assembly, and poor-quality filter cratridges can all contribute to lower protection factors.
For reference, with the PAPR design described here, and a well-fitted 6200 mask modified per the instructions on this page, I have measured a protection factor of > 1100 consistently (as sampled inside the mask using the testing adapter below). 500 is generally considered the lower limit for a non-PAPR half-facepiece mask.
- Refer to the Portacount manual for proper set up and required calibration checks before use.
- Make sure a filter gasket has been placed on the 6200 Sampling adapter.
- Place the 6200 Sampling Adapter between the mask and the exhale filter cartridge (if you have performed the PAPR mods to this mask, this is on the side where the one-way valve membrane has been removed).
- Connect the Portacount sampling tube to the sample outlet on the 6200 Sampling Adapter.
- Run the Portacount Fit Test.
- If you are getting poor results, you may want to test your filter cartridges separately to determine if the filter or the PAPR or the mask is at fault.
![]() |
![]() |
- Refer to the Portacount manual for proper set up and required calibration checks before use.
- Make sure a filter gasket has been placed on the Bayonet Filter Tester.
- Connect the Portacount sampling tube to the sample outlet on the Bayonet Filter Tester.
- Run the Portacount Fit Test.
Instructions and 3D print files to modify more masks, hoods, and helmets for use with the PAPR.
Instructions on how to modify the outlet valves to enable filtering of the exhaled air.
18 July 2020 Update:
10 July 2020 Udpate:
Regulatory Notice
This product has not been cleared for medical use by the U.S. Food and Drug Administration. The product should only be used during the declared COVID-19 public health emergency if FDA cleared or approved products are unavailable. This product has not been evaluated for the prevention of specific diseases or infections, the filtering of surgical smoke or plumes, the filtering of specific amounts of viruses or bacteria, or the killing or reduction of the amount of viruses, bacteria or fungi. Not recommended for use in a surgical setting where exposure to liquid, bodily or other hazardous fluids may be expected or for use in a clinical setting where infection risk level through inhalation exposure is high. Not recommended for use in the presence of a high intensity heat source or flammable gas. This product is intended for use by a single user.
Liability Notice
By using this product, the end user assumes all risks associated with its use, including the voiding of manufacturers’ warranties of devices with which the product is used, and agrees to hold harmless and waive any claims against RespiraWorks, its officers, employees and agents, and other persons or companies which may have contributed to the design and specifications. EXCEPT WHERE SPECIFICALLY PROHIBITED BY LAW, NO WARRANTIES OF ANY KIND ARE OFFERED FOR THE PRODUCT DESIGN AND SPECIFICATIONS, INCLUDING WARRANTIES OF NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property License
Individuals and organizations are free to use, copy, and share this design and specifications, including for commercial manufacture, without payment of any fees or charges, and for the duration of the declared COVID-19 public health emergency only, but may not assert ownership in the design and specifications.
Notice to Manufacturers
Individuals or organizations that manufacture products utilizing this design and specifications are responsible for any federal or state regulatory requirements that apply to the manufacture of products intended for medical use, and are responsible for informing health care providers to which the product is supplied that they are responsible for decisions regarding appropriate personal protective equipment for their personnel. The distribution or sale of products manufactured using this design and specifications must include the Regulatory Notice and the Liability Notice as set forth above displayed prominently on packaging and marketing materials, as well as any information required by the FDA or other governmental authorities.