• About

Functional Prototype

Our first functional prototype consists of a control module, which controls the flow of oxygen to the patient, and a power module, which provides power to the control module. Each module has its own enclosure for splash protection and other safety considerations, and the enclosures are mounted to each other in a vertically-stacked configuration (Fig. 1). This modular design allows our prototype to be simple and modular.

The simplest possible control module would have the exposed power port as the only human-machine interface: the user would plug-in power to turn on the device and enable oxygen conservation, or disconnect power to turn off the device and enable continuous flow. For improved usability, we have included an on/off switch and an LED indicator to indicate the power and operation state of the device, as well as an alarm silencing button.

Schematic of the functional prototype.

Fig. 1: Schematic of the functional device, showing the contents of the control module enclosure, which is stacked on top of the power module enclosure.

For this prototype, we chose to have a dedicated pressure port for use with the dual-limb nasal cannula, so that pressure measurement is not affected by variable flow rate, making the software implementation of precise valve on/off timing straightforward and flexible. For example, threshold values can be set so that flow delivery starts near the end of exhalation (before inhalation starts) and stops before the end of inhalation for higher oxygen delivery and conservation efficiency.

In this prototype, the control module consists of (Fig. 2):

  • Tubing connectors for connections to the oxygen source and the nasal cannula. In this prototype, 1/8" ID, 1/4" OD AdvantaPure APHP High Pressure Unreinforced Silicone Tubing is used to connect the device to the oxygen regulator on the oxygen cylinder.
  • A Clippard 15 mm solenoid valve with a manifold for tubing connections to the oxygen source and the patient. This solenoid has a normally-open configuration, so that the device will allow full delivery of oxygen in the event of power loss.
  • A PWM valve driver IC which implements "hit and hold" actuation of the solenoid valve for reduced power consumption and heat generation.
  • A temperature-compensated differential pressure sensor with a range of up to ±6 kPa and either an SPI or I2C interface.
  • A Raspberry Pi Pico microcontroller, which was selected for reasons of cost and availability, and for compatibility with the Arduino project.
  • A medical buzzer and an LED to visually and auditorily indicate alarm conditions.
  • A button to temporarily silence alarms.
  • An on/off switch to turn the device on or off.
  • An enclosure with ventilation holes, to prevent build-up of oxygen in the event of a gas leak in the pneumatic circuit, and to allow sound from the medical buzzer to travel outside the enclosure.
  • A USB port which receives power from an external source, such as the power module.

Schematic of the control module of the proposed device.

Fig. 2: Mechanical layout of the control module.

The device must be placed close to the oxygen cylinder, in order to avoid pneumatic issues which result from having long inlet tubing between the oxygen cylinder and the device.

Mechanical Design

The control and power modules are each enclosed in a waterproof (IP67) enclosure made from either plastic or aluminum in a standard form factor for manufacturability. The enclosures of the two modules can be attached to each other via mounting holes, to rigidly integrate the modules into a full device (Fig. 3). The modules would be placed on a horizontal surface near the patient. In the first functional prototype for characterization, the enclosure was 3-D printed.

Mechanical rendering of the fully assembled device, with the control and power modules attached to each other, and all external interfaces shown.

Fig. 3: Mechanical rendering of the overall device.

Electronics Design

The microcontroller, pressure sensor, and driver circuitry are integrated on a custom printed circuit board in the control module (Fig. 4). This printed circuit board was designed in KiCad.

Mechanical rendering of the custom printed circuit board.

Fig. 4: Mechanical rendering of the custom printed circuit board for the control module.

The electronics in the control module are powered through a USB Micro B port by any USB power source such as the power module, which consists of a 5 V USB charging battery pack commonly used for charging cell phones. The two modules are connected by a USB Type A to Micro B cable. To protect against the risk of fire, a fuse for the power supply is included on the printed circuit board in the control module. The control module can be powered by any other standard 5 V USB charger instead of a power module, allowing alternative power sources to be used with our device. The control and power modules can be readily detached from each other to recharge the battery or power the control module from a USB power adapter on a wall outlet.


For simplicity, transparency, and ease of understandability, the firmware is written as a very short Arduino sketch. The firmware was written in the Arduino IDE.


A unit of the functional prototype was assembled using the custom printed circuit board and a 3-D printed enclosure for characterization under low-flow conditions (Fig. 5). Characterization results are presented on the next page. The current cost of the prototype is approximately $180 USD. For 10,000 units we anticipate the cost of parts to be reduced below $50 USD per unit.

Photograph of the functional prototype.

Fig. 5: Photograph of the functional prototype built for characterization. This photograph shows the device with the enclosure cover removed, and without the power module; during normal opration the cover will be closed.

Prakash Lab