• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Newbie Ventilator Manufacturers Turn to Raspberry Pi as the Brains of Their Life-saving Devices

btarunr

Editor & Senior Moderator
Staff member
Joined
Oct 9, 2007
Messages
46,422 (7.67/day)
Location
Hyderabad, India
System Name RBMK-1000
Processor AMD Ryzen 7 5700G
Motherboard ASUS ROG Strix B450-E Gaming
Cooling DeepCool Gammax L240 V2
Memory 2x 8GB G.Skill Sniper X
Video Card(s) Palit GeForce RTX 2080 SUPER GameRock
Storage Western Digital Black NVMe 512GB
Display(s) BenQ 1440p 60 Hz 27-inch
Case Corsair Carbide 100R
Audio Device(s) ASUS SupremeFX S1220A
Power Supply Cooler Master MWE Gold 650W
Mouse ASUS ROG Strix Impact
Keyboard Gamdias Hermes E2
Software Windows 11 Pro
The unprecedented demand for ventilators in the wake of the COVID-19 pandemic, has pushed many firms from various industries to re-tool their production-lines to make them. A big chunk of these makeshift ventilator manufacturers are from the automobile and aerospace industries. A ventilator isn't as simple a device as it sounds. It's not a mechanized ambu bag. It is an intelligent device that assists in respiration by precisely combining oxygen and ambient air specific to the patient's needs, and assists them in expiration. This requires a microprocessor-based control. Established biomedical equipment manufacturers use their own ASIC-based electronics for their ventilators; but the likes of General Motors don't have time to develop custom electronics. Enter the immensely versatile Raspberry Pi.

By leveraging Arm-based SBCs (single-board computers) such as Raspberry Pi, with its plethora of modern- and legacy I/O options, makeshift ventilator manufacturers are able to quickly design functional devices. All they have to do is write code for it. Even the cheapest $5 Pi Zero board with its GPIO interface suffices to run embedded Linux and code that runs the ventilator's hardware. Eben Upton, CEO and Founder of Raspberry Pi, says that demand for the Pi Zero is at an all-time high. The company manufactured over 192,000 units of the SBC in Q1-2020, and plans to scale up production to 250,000 per quarter, going forward. The Pi Zero features a Broadcom BCM2835 single-core Arm SoC and 512 MB of RAM, with a microSD slot for storage. That's plenty of brains to run a ventilator and save lives.



View at TechPowerUp Main Site
 

hat

Enthusiast
Joined
Nov 20, 2006
Messages
21,732 (3.41/day)
Location
Ohio
System Name Starlifter :: Dragonfly
Processor i7 2600k 4.4GHz :: i5 10400
Motherboard ASUS P8P67 Pro :: ASUS Prime H570-Plus
Cooling Cryorig M9 :: Stock
Memory 4x4GB DDR3 2133 :: 2x8GB DDR4 2400
Video Card(s) PNY GTX1070 :: Integrated UHD 630
Storage Crucial MX500 1TB, 2x1TB Seagate RAID 0 :: Mushkin Enhanced 60GB SSD, 3x4TB Seagate HDD RAID5
Display(s) Onn 165hz 1080p :: Acer 1080p
Case Antec SOHO 1030B :: Old White Full Tower
Audio Device(s) Creative X-Fi Titanium Fatal1ty Pro - Bose Companion 2 Series III :: None
Power Supply FSP Hydro GE 550w :: EVGA Supernova 550
Software Windows 10 Pro - Plex Server on Dragonfly
Benchmark Scores >9000
That's pretty cool, actually. That's all it takes to run a machine that can save lives. I wonder if RPi can also replace other expensive custom SoCs for specific applications.
 
Joined
Oct 27, 2009
Messages
1,133 (0.21/day)
Location
Republic of Texas
System Name [H]arbringer
Processor 4x 61XX ES @3.5Ghz (48cores)
Motherboard SM GL
Cooling 3x xspc rx360, rx240, 4x DT G34 snipers, D5 pump.
Memory 16x gskill DDR3 1600 cas6 2gb
Video Card(s) blah bigadv folder no gfx needed
Storage 32GB Sammy SSD
Display(s) headless
Case Xigmatek Elysium (whats left of it)
Audio Device(s) yawn
Power Supply Antec 1200w HCP
Software Ubuntu 10.10
Benchmark Scores http://valid.canardpc.com/show_oc.php?id=1780855 http://www.hwbot.org/submission/2158678 http://ww
That's pretty cool, actually. That's all it takes to run a machine that can save lives. I wonder if RPi can also replace other expensive custom SoCs for specific applications.

I wouldn't trust a pi for these applications outside a pandemic.
 
Joined
Jun 28, 2016
Messages
3,595 (1.25/day)
That's pretty cool, actually. That's all it takes to run a machine that can save lives. I wonder if RPi can also replace other expensive custom SoCs for specific applications.
IMO not that cool. Respirators would normally be run by rock-stable simple curcuits. Just like most industrial equipment.

Cheap single-board computers (SBC) are excellent for ad-hoc tasks and PoCs. And for learning. But they're too complicated to replace simpler chips and not robust enough for high availability systems...

We're a little pushed to the wall right now, so an RPi-powered respirator is better than none. But in long run we'll be back to custom electronics for sure.
 
Joined
Nov 18, 2010
Messages
7,142 (1.45/day)
Location
Rīga, Latvia
System Name HELLSTAR
Processor AMD RYZEN 9 5950X
Motherboard ASUS Strix X570-E
Cooling 2x 360 + 280 rads. 3x Gentle Typhoons, 3x Phanteks T30, 2x TT T140 . EK-Quantum Momentum Monoblock.
Memory 4x8GB G.SKILL Trident Z RGB F4-4133C19D-16GTZR 14-16-12-30-44
Video Card(s) Sapphire Pulse RX 7900XTX + under waterblock through Kryosheet
Storage Optane 900P[W11] + WD BLACK SN850X 4TB + 750 EVO 500GB + 1TB 980PRO[FEDORA]
Display(s) Philips PHL BDM3270 + Acer XV242Y
Case Lian Li O11 Dynamic EVO
Audio Device(s) Sound Blaster ZxR
Power Supply Fractal Design Newton R3 1000W
Mouse Razer Basilisk
Keyboard Razer BlackWidow V3 - Yellow Switch
Software FEDORA 40
Rpi is not suited for this task.

It seems people do not get what military/medical grade means these days.

PIC or AVR is enough. Bullet proof code with no memory leaks made from stable compiler and brute C or ASM code.

I cannot say that RPI's put in weather station can live without being reset. You cannot do a reset while someone is being ventilated.

Actually the Italian Arduino learning platform is much better suited alternative... plebs just like working with higher level HW and code language... there's no respect for that.

Considering the amount of time making a simple pump motor driver with two sensors a simple LCD and serial output? The speed is the same as on RPI. Because basically RPI always ends up in code troubles, stability issues. The board design is prone to many problems. During hang it even corrupts data on the only memory medium. It is good for learning, but outside that... no... don't mix up things. If I imagine myself being asked to make such thing on RPI, I would reply simply that I have no intentions to be a killer. Considering the experience with RPI platform, the probability would be certainly high.

MEGA32 is more than enough for this... there is even no need for Cortex-M. Actually the logic and more safe precaution is to split into several CPU's, machine, sensor, screen and a supervisor for them all, to ensure, if some of those pieces end up bad an alert would be made. We are talking about life here... RPI's sigh...
 
Last edited:
Joined
Jun 28, 2016
Messages
3,595 (1.25/day)
I cannot say that RPI's put in weather station can live without being reset. You cannot do a reset while someone is being ventilated.
Actually you can because, given how unstable RPi can be, these ventilators hopefully have redundant circuits...

But honestly, having used RPi for some time now, I wouldn't even want to run a home NAS/backup solution on one.
My RPi is currently used for 24/7 web scraping, but I'll probably retire it and go back to the free Google Cloud VM.
I'm not saying it's bad or something. It's exactly what I'd expect from a Linux PC. It's perfectly fine as long as you use well tested software and nothing goes wrong. And it quickly falls apart when there's a problem.

Still, RPi is really nice for non-production stuff. I know it's extensively used at my faculty (physics) for teaching, prototyping and even for cheap experiments.

As for ventilators, you can find the largest manufacturers here:
Lately we hear that, for example, car makers started making them.
If I had a choice, I'd prefer to be put under something from Getinge (a company I've never heard of before COVID-19) than from Mercedes. But - depending where you live - we are near or past the limits of "having a choice" part...
 

Aquinus

Resident Wat-man
Joined
Jan 28, 2012
Messages
13,147 (2.93/day)
Location
Concord, NH, USA
System Name Apollo
Processor Intel Core i9 9880H
Motherboard Some proprietary Apple thing.
Memory 64GB DDR4-2667
Video Card(s) AMD Radeon Pro 5600M, 8GB HBM2
Storage 1TB Apple NVMe, 4TB External
Display(s) Laptop @ 3072x1920 + 2x LG 5k Ultrafine TB3 displays
Case MacBook Pro (16", 2019)
Audio Device(s) AirPods Pro, Sennheiser HD 380s w/ FIIO Alpen 2, or Logitech 2.1 Speakers
Power Supply 96w Power Adapter
Mouse Logitech MX Master 3
Keyboard Logitech G915, GL Clicky
Software MacOS 12.1
Rpi is not suited for this task.
I actually think it's too much for the task. There are some small things you could do to make a RPi more stable, but really, not all that much. I would be far more concerned about software on the RPi, particularly if we're talking about running Linux in addition to whatever software is running on it. If they're treating it as an embedded system like an Arduino where they're writing C and booting the software as an ELF file directly, then from a software standpoint, it would probably be just as simple as the real thing. It gets far more complicated if you're talking about using something like Linux as an OS though because that changes things like latency characteristics of the code due to scheduling and kernel overhead.
Actually you can because, given how unstable RPi can be, these ventilators hopefully have redundant circuits...
Now, is that instability of the Pi or the software driving the Pi? Got to be careful with that one. An Arduino can be just as unstable if you write garbage code for it.
 

hat

Enthusiast
Joined
Nov 20, 2006
Messages
21,732 (3.41/day)
Location
Ohio
System Name Starlifter :: Dragonfly
Processor i7 2600k 4.4GHz :: i5 10400
Motherboard ASUS P8P67 Pro :: ASUS Prime H570-Plus
Cooling Cryorig M9 :: Stock
Memory 4x4GB DDR3 2133 :: 2x8GB DDR4 2400
Video Card(s) PNY GTX1070 :: Integrated UHD 630
Storage Crucial MX500 1TB, 2x1TB Seagate RAID 0 :: Mushkin Enhanced 60GB SSD, 3x4TB Seagate HDD RAID5
Display(s) Onn 165hz 1080p :: Acer 1080p
Case Antec SOHO 1030B :: Old White Full Tower
Audio Device(s) Creative X-Fi Titanium Fatal1ty Pro - Bose Companion 2 Series III :: None
Power Supply FSP Hydro GE 550w :: EVGA Supernova 550
Software Windows 10 Pro - Plex Server on Dragonfly
Benchmark Scores >9000
Well, I didn't see that coming. I didn't realize the RPi was unreliable like that.
 
Joined
Jun 28, 2016
Messages
3,595 (1.25/day)
Well, I didn't see that coming. I didn't realize the RPi was unreliable like that.
It's not unreliable. :) It's as stable as most PCs. There are conflicts, there are software errors and so on.
OS can handle them and restart the problematic services. But it takes time.

You only have to think about the consequences.

So, your computer lost connection to the WiFi (you know the router is fine - other devices at home work fine).
It's thinking, thinking... and a minute later it works again. Shit happens.

So, your computer lost connection to the ventilator motors.
It's thinking, thinking... and a minute later you have a corpse.
Now, is that instability of the Pi or the software driving the Pi? Got to be careful with that one. An Arduino can be just as unstable if you write garbage code for it.
Well of course. But I'm under the impression that RPi's are being used precisely because they're easy to program on top of Linux. Not unlike the reason why they got so popular in the first place. :)

If they're using ELF, they may as well use a industry-standard microcontroller - easier to get and probably still more robust.
Cheaper too, although it doesn't really make a difference in an expensive device like a ventilator. :)
 
Joined
Nov 18, 2010
Messages
7,142 (1.45/day)
Location
Rīga, Latvia
System Name HELLSTAR
Processor AMD RYZEN 9 5950X
Motherboard ASUS Strix X570-E
Cooling 2x 360 + 280 rads. 3x Gentle Typhoons, 3x Phanteks T30, 2x TT T140 . EK-Quantum Momentum Monoblock.
Memory 4x8GB G.SKILL Trident Z RGB F4-4133C19D-16GTZR 14-16-12-30-44
Video Card(s) Sapphire Pulse RX 7900XTX + under waterblock through Kryosheet
Storage Optane 900P[W11] + WD BLACK SN850X 4TB + 750 EVO 500GB + 1TB 980PRO[FEDORA]
Display(s) Philips PHL BDM3270 + Acer XV242Y
Case Lian Li O11 Dynamic EVO
Audio Device(s) Sound Blaster ZxR
Power Supply Fractal Design Newton R3 1000W
Mouse Razer Basilisk
Keyboard Razer BlackWidow V3 - Yellow Switch
Software FEDORA 40
An Arduino can be just as unstable if you write garbage code for it.

At least it is one single piece of code where you are the governor, not a collection of binaries on top your code resides, too many vairables. Also prototyping on arduino makes a single MCU where in parallel you think of the actual PCB with proper powering and interfacing. It is the same Atmega in the end. I am not a fan of Ardiuno IDE tho. I usually chose different approach making a beta HW board and then tailoring the code on different platforms and not vice versa. It is such a robust platform actually... no wonders there... also the libraries driving peripherals have proven themselves more than decades, so we can assume they are really safe.

I have also seen these MCU's die after few years of usage tho. So using parallel approach splitting tasks to each function is the most safe approach. They are also cheap and widely available, while RPI actually often exhibits shortage.
 

Aquinus

Resident Wat-man
Joined
Jan 28, 2012
Messages
13,147 (2.93/day)
Location
Concord, NH, USA
System Name Apollo
Processor Intel Core i9 9880H
Motherboard Some proprietary Apple thing.
Memory 64GB DDR4-2667
Video Card(s) AMD Radeon Pro 5600M, 8GB HBM2
Storage 1TB Apple NVMe, 4TB External
Display(s) Laptop @ 3072x1920 + 2x LG 5k Ultrafine TB3 displays
Case MacBook Pro (16", 2019)
Audio Device(s) AirPods Pro, Sennheiser HD 380s w/ FIIO Alpen 2, or Logitech 2.1 Speakers
Power Supply 96w Power Adapter
Mouse Logitech MX Master 3
Keyboard Logitech G915, GL Clicky
Software MacOS 12.1
easier to get and probably still more robust.
I think that's probably an assumption with regard to how easy it is to get. It's not like those components are part of GM's supply chain either. Also, if it's the actual biomedical companies that produce the ventilators who made these circuits, then it's hard to get this hardware to where you need it since those companies are producing these components for themselves, not for others. So the extra stock probably isn't there, nor is there a supply chain to connects these companies. Just saying.
Established biomedical equipment manufacturers use their own ASIC-based electronics for their ventilators; but the likes of General Motors don't have time to develop custom electronics.
 
Joined
Nov 18, 2010
Messages
7,142 (1.45/day)
Location
Rīga, Latvia
System Name HELLSTAR
Processor AMD RYZEN 9 5950X
Motherboard ASUS Strix X570-E
Cooling 2x 360 + 280 rads. 3x Gentle Typhoons, 3x Phanteks T30, 2x TT T140 . EK-Quantum Momentum Monoblock.
Memory 4x8GB G.SKILL Trident Z RGB F4-4133C19D-16GTZR 14-16-12-30-44
Video Card(s) Sapphire Pulse RX 7900XTX + under waterblock through Kryosheet
Storage Optane 900P[W11] + WD BLACK SN850X 4TB + 750 EVO 500GB + 1TB 980PRO[FEDORA]
Display(s) Philips PHL BDM3270 + Acer XV242Y
Case Lian Li O11 Dynamic EVO
Audio Device(s) Sound Blaster ZxR
Power Supply Fractal Design Newton R3 1000W
Mouse Razer Basilisk
Keyboard Razer BlackWidow V3 - Yellow Switch
Software FEDORA 40
My RPi is currently used for 24/7 web scraping, but I'll probably retire it and go back to the free Google Cloud VM.
I'm not saying it's bad or something. It's exactly what I'd expect from a Linux PC. It's perfectly fine as long as you use well tested software and nothing goes wrong. And it quickly falls apart when there's a problem.Still, RPi is really nice for non-production stuff. I know it's extensively used at my faculty (physics) for teaching, prototyping and even for cheap experiments.

Well it is what it is. I've used to make Weather station with web access, to observe how fast MEMS type gas sensors do really deteriorate under normal indoor conditions, and their measurement starts to lie, with what you can kick them out of order. Because same sensors are used in climate controls for closed buildings... and there are often anomalies that is hard to explain(they actually often cease to work, the CO2 pullout despite the sensors are duplicated... well I got my answer.

It ran... with some character, it choke often on data, yet being alive, multitasking sucked and some services died the web access died... it is the Linux core bug actually. Also data corruption on long term with some memory cards was observed and that is serious thing... you never know.

It is really meant to play with GPIO actually. SPI devices and compile code and drivers for those small IoT things. And their drivers really also suck. Now RPI has different archs, some ports are swapped, the binaries never work and making them compile often is a frustration, as no documentation exists for that. Last time I used Pi few weeks ago was to flash a SPI EEPROM 25W64..., my dedicated programmer suddenly died, the time a took it once a year out of the closet and it failed. Some of the I/O ports kicked the bucket, haven't looked closer what's dead. Glad I had RPI for that. But other than that... RPI is by no means a stable machine. For NAS also naaah... get some of those abstract small BIOSTAR APU's motherboards, properly set it might kick the Synology solutions but for fraction of a price.
 
Last edited:
Joined
Jun 28, 2016
Messages
3,595 (1.25/day)
For NAS also naaah... get some of those abstract small BIOSTAR APU's motherboards, properly set it might kick the Synology solutions but for fraction of a price.
Well actually I'm just going for a Synology device. I really need it to work. Especially since it will run the 1st tier backup for all my devices.
Just choosing between DS118 and DS218+ at this point. I would be fine with a single drive, but I'm not sure about the file number limit (100k vs 1M). And of course the latter can run simple VMs, so it would replace my RPi in that as well. :)

As for use of my RPi at that point... I honestly don't know. I obviously had huge plans and expectations, but actually I just don't have that much time for "fun projects". I need some stuff to work out of the box.
Maybe I'll build an autonomous water cannon to scare pigeons on the balcony. A pump, few motors, TensorFlow Lite, some bird-finding model - should be fun.
Basically:

TensorFlow Lite actually runs surprisingly well, but as with the ventilator - I wouldn't really want it driving my car...
 
Joined
Nov 18, 2010
Messages
7,142 (1.45/day)
Location
Rīga, Latvia
System Name HELLSTAR
Processor AMD RYZEN 9 5950X
Motherboard ASUS Strix X570-E
Cooling 2x 360 + 280 rads. 3x Gentle Typhoons, 3x Phanteks T30, 2x TT T140 . EK-Quantum Momentum Monoblock.
Memory 4x8GB G.SKILL Trident Z RGB F4-4133C19D-16GTZR 14-16-12-30-44
Video Card(s) Sapphire Pulse RX 7900XTX + under waterblock through Kryosheet
Storage Optane 900P[W11] + WD BLACK SN850X 4TB + 750 EVO 500GB + 1TB 980PRO[FEDORA]
Display(s) Philips PHL BDM3270 + Acer XV242Y
Case Lian Li O11 Dynamic EVO
Audio Device(s) Sound Blaster ZxR
Power Supply Fractal Design Newton R3 1000W
Mouse Razer Basilisk
Keyboard Razer BlackWidow V3 - Yellow Switch
Software FEDORA 40
Maybe I'll build an autonomous water cannon to scare pigeons on the balcony.

Maybe a cat as a plan B?

I have also looked into sentry gun. Albeit for a laser equiped mosquito killer device... it ended up into military area, needing parts tech... it needs a heck of a lot coding time for imaging, sonar, tof data, and those things are fast.

Well Bill Gates actually has ordered development of such mainstream device... to fight malaria so I canned the idea.
 
Joined
Mar 26, 2010
Messages
9,804 (1.90/day)
Location
Jakarta, Indonesia
System Name micropage7
Processor Intel Xeon X3470
Motherboard Gigabyte Technology Co. Ltd. P55A-UD3R (Socket 1156)
Cooling Enermax ETS-T40F
Memory Samsung 8.00GB Dual-Channel DDR3
Video Card(s) NVIDIA Quadro FX 1800
Storage V-GEN03AS18EU120GB, Seagate 2 x 1TB and Seagate 4TB
Display(s) Samsung 21 inch LCD Wide Screen
Case Icute Super 18
Audio Device(s) Auzentech X-Fi Forte
Power Supply Silverstone 600 Watt
Mouse Logitech G502
Keyboard Sades Excalibur + Taihao keycaps
Software Win 7 64-bit
Benchmark Scores Classified
PIC or AVR is enough. Bullet proof code with no memory leaks made from stable compiler and brute C or ASM code
wait, there's anyone try to brute C ventilator?
 
Joined
Nov 18, 2010
Messages
7,142 (1.45/day)
Location
Rīga, Latvia
System Name HELLSTAR
Processor AMD RYZEN 9 5950X
Motherboard ASUS Strix X570-E
Cooling 2x 360 + 280 rads. 3x Gentle Typhoons, 3x Phanteks T30, 2x TT T140 . EK-Quantum Momentum Monoblock.
Memory 4x8GB G.SKILL Trident Z RGB F4-4133C19D-16GTZR 14-16-12-30-44
Video Card(s) Sapphire Pulse RX 7900XTX + under waterblock through Kryosheet
Storage Optane 900P[W11] + WD BLACK SN850X 4TB + 750 EVO 500GB + 1TB 980PRO[FEDORA]
Display(s) Philips PHL BDM3270 + Acer XV242Y
Case Lian Li O11 Dynamic EVO
Audio Device(s) Sound Blaster ZxR
Power Supply Fractal Design Newton R3 1000W
Mouse Razer Basilisk
Keyboard Razer BlackWidow V3 - Yellow Switch
Software FEDORA 40
wait, there's anyone try to brute C ventilator?

Brute means function less language. No higher level commands that after recompiler usually means smaller binary and much faster code execution.

Coding for small MCU's is often irrational. You have to do stupid code using primitive commands and equations in order to have better speed, ram footprint etc
 
Top