Monday, April 13th 2020
Newbie Ventilator Manufacturers Turn to Raspberry Pi as the Brains of Their Life-saving Devices
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.
Source:
Tom's Hardware
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.
15 Comments on Newbie Ventilator Manufacturers Turn to Raspberry Pi as the Brains of Their Life-saving Devices
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.
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...
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:
en.wikipedia.org/wiki/Ventilator
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...
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. 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. :)
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.
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.
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:
hackaday.com/2018/01/26/auto-tracking-sentry-gun-gives-deer-a-super-soaking/
TensorFlow Lite actually runs surprisingly well, but as with the ventilator - I wouldn't really want it driving my car...
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.
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