Wiznet makers

TheoIm

Published December 15, 2025 ©

75 UCC

27 WCC

7 VAR

0 Contests

0 Followers

0 Following

Original Link

AutoBVM

AutoBVM is an emergency resuscitator that automates an Ambu bag using motors and sensors, providing monitored ventilation and Ethernet-based remote monitoring.

COMPONENTS
PROJECT DESCRIPTION

What Problem Does AutoBVM Address?

During large-scale health emergencies, hospitals often face:

Severe shortages of mechanical ventilators

Deployment of temporary treatment spaces (gyms, convention centers, field hospitals)

Increased physical strain on medical staff required to manually operate Ambu bags

AutoBVM was created as a rapidly deployable, open-source emergency solution. It is intended to support trained medical professionals when standard ventilators are unavailable, following the safety guidance outlined in AAMI CR503:2020 for emergency ventilator systems.


System Architecture at a Glance

 

This architecture clearly separates patient-critical control logic from network communication, ensuring deterministic behavior and system safety.


Why WIZnet W5500 Is Used in AutoBVM

In AutoBVM, networking is treated as part of the safety and observability layer, not a convenience feature. The WIZnet W5500 Ethernet controller provides:

Deterministic wired Ethernet communication, essential in medical environments

Hardware TCP/IP offloading, reducing CPU load on the Arduino Due

Stable embedded HTTP connectivity for real-time monitoring

Unlike Wi-Fi, wired Ethernet minimizes unpredictable latency and interference. By offloading TCP/IP processing to the W5500, the microcontroller can focus on time-critical ventilation control tasks.


Remote Monitoring via Ethernet

The firmware uses the Ethernet2.h library to implement an embedded HTTP server on the W5500.

#include <Ethernet2.h>

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IPAddress ip(192, 168, 0, 177);
EthernetServer server(80);

void setup() {
    Ethernet.begin(mac, ip);
    server.begin();
}

Through a standard web browser, clinicians can remotely view:

Current airway pressure (cmH₂O)

Real-time flow values

Automatically refreshed status pages (5-second interval)

This allows multiple AutoBVM units to be monitored from a central location.


Safety-Critical Control Design

State Machine–Driven Operation

AutoBVM firmware is structured around a clear state machine:

STARTUP – Sensor and system initialization

OFF – Idle and standby

RUNNING – Normal ventilation

ALARM – Abnormal pressure or flow detected

FAULT – Critical hardware or system failure

This design prevents undefined behavior and ensures predictable responses under fault conditions.


Pressure Protection and Alarms

To comply with emergency ventilator safety expectations, the system implements layered pressure protection:

High Pressure Alarm: Immediate motor stop if airway pressure exceeds 40 cmH₂O

Low Pressure Alarm: Detection of leaks or patient disconnection

Continuing Pressure Alarm: Identification of valve or mechanical failures

All alarms are prioritized and handled in real time to protect the patient.


Pressure and Flow Measurement

Pressure sensor readings are derived from Honeywell Trustability SSC series sensors using manufacturer-provided transfer equations. Raw ADC values are converted to voltage, then to pressure units.
Differential pressure measurements are used to calculate airflow based on the Bernoulli principle, with digital filtering applied to ensure stable clinical readings.


Firmware Characteristics

MCU: Arduino Due (ARM Cortex-M3)

Development Environment: VS Code + PlatformIO

Firmware Size: ~90% Flash utilization

Debugging: Segger J-Link (JTAG) recommended

Time-critical tasks (control loop), UI updates, and Ethernet handling are scheduled independently to avoid interference and maintain real-time performance.


FAQ

Q: Is AutoBVM a replacement for a clinical ventilator?
A: No. AutoBVM is an emergency-use resuscitator intended for crisis situations when standard ventilators are unavailable.

Q: Why use Ethernet instead of Wi-Fi?
A: Medical environments require predictable, low-latency communication. Wired Ethernet with W5500 provides deterministic behavior and higher reliability.

Q: What role does W5500 play in this system?
A: It enables hardware-offloaded TCP/IP communication for remote monitoring without burdening the main controller.

Q: Can multiple devices be monitored at once?
A: Yes. Each AutoBVM unit can be assigned a unique IP address and monitored centrally via web browsers.


Original Source

GitHub Repository: https://github.com/WPI-AIM/AutoBVM

Project Website: http://autobvm.org
 

Documents
Comments Write