Fighting Germs

Enter Your Electronics & Design Project for a chance to win an $200 Shopping cart of product!

Back to The Project14 homepage

Project14 Home
Monthly Themes
Monthly Theme Poll


So I was trapped in my appartment as everyone else when all of a sudden I came to the realization that I had everything I neede to make a portable 5V respirator. The hospitals in Romania aren't yet crowded but they will be. And when that happens due to COVID-19 I know they will need respirators to keep people alive. It took me three to four hours to build this.


I had some drone standoffs made out of hard plastic that came to me by mistake with an eBay order a year ago. Thee are perfectly-shaped to hold an ovoid-shaped air pump. I also had enough acrylic sheets an screws to make an enclosure. Some DS04-NFC 360° Continous Rotation DC servo motors.

Using hot air I bent some transparent acrylic sheets to 90 degrees. These will be each attached to a servo motor.

One drone standoff was glued then better fied with screws to each L shaped acrylic plastic.

Then I made the transparent holdong platform out of thicker acrylic pieces I had laying around. Glued them with superglue then reinforced each base with 3M screws.

I scrwered-in each DS04-NFC servo to a 1cm thick plate after drilling holes in it.

I also made an enclosure for a 6V led/acid battery to make the respirator portable. The battery has a step-down tuned to 5V glued to it and cables with a jack connector attached. This way the whole platform can be carried away, moved or swithed to autonomous power in case of power failure. The autonomy should be of at leat two hours.

The logic is that each servomotor moves a white arm to the left and right, in sync. A manual, ovoidal air pump placed and secured in between these two will be thus constantly pressed and un-pressed depending on how I program the servos in terms of speed and pressure.

At first I wanted to use a micro:bit with a servo board add-on but the pulse of the servos was not correctly calculated and they wouldn't turn counter-clockwise.

So I've switched to using an Adruino UNO R3:

The Arduino can take 5V. The red, power servo wire goes to 5V, the black GND to GND in the Arduino, and the data connection goes to pin #3 and #4 respectively.


I am currently testing and tweaking the following code for the Arduino to control one of the servos:


#include <Servo.h> 
// testing with pin #3
int servoPin = 3; 
// we declare the first servo as Servo1 
Servo Servo1; 
void setup() {
// connect pin 3 
// move the servo back and forth 
void loop(){ 
   // move to 0 degrees and waith for 0,7 seconds
   // move to 90 degrees and waith for 0,7 seconds
   // move to 180 degrees and waith for 0,7 seconds
   // move to 90 degrees and waith for 0,7 seconds


Reading the documentation on the DS04-NFC servo motors I've found out that a pulse width (Pw) ranging from 1000us to 1500us at 4.8/5.0V makes the servo motor move counterclockwise with a maximum of 45 RPM. As you move the value closer to 1500us the servo speed slows down until it reaches the 1500us value (corresponding to a full stop). A Pw of 1500-2000us moves the servo clockwise with the same speed, the maximum speed being reached at 2000us. The lower you go and get closer to 1500us, the slower it moves. You can use the same 1500us Pw to send a stop signal to the servo motor.

These servos have a 5.5kg pressure power each but their rotor cogs are made out of plastic. So I either superglue them and secure them with screws or use different servos I have around that have a metal rotor cog. Would not want these wearing down while in use.


(Will be back with more updates as I go along with the development. Yesterday left me dead tired and my house is a mess. Have to take a few hours time-off.)