The system consists of:

A- a mechanical pump, based around an Ambu bag. The mechanical parts are largely built from lasercut aluminium sheets.

B- a microcontroller and sensors, controlling the pump & measuring pressures and flow rates. The microcontroller is an Arduino-compatible ATmega2560.

C- Medical tubing and valves to the patient

D- A computer, which plots p-, V-, and Flow-graphs from sensor data and provides a user interface to change settings on the machine.
Code for this was written in C#.



Power-out safety
Yes, machine switches uninterupted between 220V and 24V battery backup
PSUMaxwell 24V 10A
Battery backup2x 7Ah Lead-acid, hot-swappable
Battery autonomy+1h
Battery state-of-charge monitoryes
Power-out detection & alarmyes


MotorVolvo or DAF windscreen wiper motor, 24V
Motor power +-40W at shaft
Power usage1A@24V average over plunge, 8A peak
Manual actuation of pump possibleyes


MicrocontrollerAtmega2560 Atmega and pc operate as each others watchdog and will give an alarm when the other half of the system stops responding for 5 seconds.
Pressure sensors

Bosch BMP280 andMLP315115A2, ,
accuracy better than 2 cmH20
Dual sensors for error checking

Flow sensor

SDP-31 Calibrated in windtunnel against a calibrated sensor
Volume measurement

Vt inhaled through integration. Volume delivered to system checked with lookup table, checking plunger position versus volume.
Vt max


>35 BPM at Ppeak=50cmH20Tested without oxygen inflow. 
Ppeak max

Overpressure safety

In-line spring valve, fixed at 80 cmH20 to conform with MHRA requirements

Pressure control

Volume control

Pressure assisted mode with pressure-based breathing trigger

Pressure assisted mode with flow-based breathing trigger

RAMPUser-configurable control of motor-PID / pressure curve shape

1/1 to ⅓, adjustable in steps of 0.1

Manually adjustable PEEP-valve, reference value set in GUI for monitoring offset from desired value


Blockage / no flow alarmyes
Disconnect / no pressure alarmyes
Power interrupt alarmyes, machine switches to battery power
Low battery alarmyes
PEEP value incorrect or PEEP disconnectedyes
PC disconnect alarmyes, machine keeps running with current settings
Sensor disconnect alarmyes, machine goes to conservative operation settings.
Microcontroller failure alarmyes, PC acts as microcontroller watchdog and gives alarm
Configurable volume thresholdyes
Configurable pressure thresholdyes


PC running interfaceI3 or higher, running Linux, connected over USB
p-, flow- & volume graphsyes
Data loggingyes, local on pc
Remote control of multiple machinesyes
  • accurate pressure & volume control
  • p-, V- and flow-graphs in a graphical interface
  • redundant pressure sensors
  • pressure control mode, volume control mode
  • full user-configurable pressure curve (Ppeak, Passist, RR, IE, ramp)
  • breathing detection & breathing assist mode
  • alarms on configurable error ranges for achieved pressures and volumes
  • battery backup
  • a mature & robust pump design that can be rapidly manufactured from laser-cut aluminium sheets
  • a pump design with sufficient power that has no issues achieving the highest pressures, volumes and respiratory rates specified in the MHRA emergency certification requirements.
  • an electronics architecture where the main microcontroller and the connected PC each act as each others watchdog and give an alarm when the other one stops working.
  • possibility to enable remote monitoring of multiple machines