Edge Impulse logo
Blog Post

Maybe It’s Cold Inside: Monitor Vaccine Deliveries with Machine Learning

TinyML, Embedded Devices, Machine LearningThis low-cost solution for monitoring cold chain deliveries makes use of a common, off-the-shelf development board and the Edge Impulse platform. 

Nick Bild

April 3, 2022

    Such a tremendous amount of research and development is involved in bringing a new vaccine to market, that we tend to forget about all of the other moving pieces in the process. Distributing these vaccines is one such overlooked area that can be critically important. This is especially true when a vaccine has stringent storage requirements. Such is the case with mRNA vaccines, several of which have been developed to protect against infection from COVID-19. Current COVID-19 vaccines require ultra-low temperature storage, in the range of -86° C to -45° C; any exposure to warmer temperatures can render the vaccines ineffective.

    Keeping vaccines cool in transit is no problem — a number of commercial solutions exist that will make short work of the task, however, these solutions range in price from $5,000 to $15,000 USD. Unfortunately, this price tag is much too steep for low-income regions where inexpensive, but unreliable, dry ice storage units are often favored out of necessity.  Because these storage units are neither strictly temperature controlled or monitored, there is no assurance that vaccines are still fully effective on delivery. When global distribution of a vaccine is needed, this presents a serious problem.

    Arduino Nano 33 BLE Sense and Particle Argon

    Never one to shy away from tackling the big problems, engineer Dhruv Sheth developed a low-cost solution for monitoring cold chain deliveries. His system makes use of a common, off-the-shelf development board and the Edge Impulse platform. These highly-accessible tools allow virtually anyone, even in low-income regions, to assemble a device that can ensure a cold chain package has been properly handled throughout the entire delivery process.

    An Arduino Nano 33 BLE Sense board was selected because, in addition to being inexpensive, it packs an nRF52840 microcontroller with an Arm Cortex-M4 CPU running at 64 MHz and 256 KB of SRAM. The Nano 33 BLE Sense also includes a slew of onboard sensors, including an IMU, and temperature, humidity, and barometric pressure sensors. Tracking temperature is a given, considering that many vaccines have strict temperature requirements for their storage, but Sheth also pulled in data from the humidity and pressure sensors, as these values can also be indicative of conditions that lead to a reduction in vaccine efficiency.

    An anomaly detection impulse

    Making heads or tails of the raw data from this array of sensors is no easy job, so Sheth decided to build a machine learning model with Edge Impulse to interpret the readings.  He first collected a dataset of normal readings that simulate a cold storage unit, and uploaded them with the data acquisition tool. An impulse was then created to flatten the input data and perform a spectral analysis, which reduces the dimensionality of the data and extracts the most informative features, which enables running inferences on a low-power microcontroller.

    For the learning block, K-means anomaly detection was chosen, which is capable of detecting any deviations from normal observations. This allows one to detect exceptional conditions, without needing to know a priori what those exceptional conditions may be. This is a very powerful feature, because it can be used to raise an alarm any time that there might have been an event that caused the vaccine to lose some measure of effectiveness.

    Visualizing anomalies

    Deploying the data analysis pipeline to the development board was quite simple.  Edge Impulse has the ability to export the pipeline as a native Arduino library, which can then be incorporated into a sketch in the Arduino IDE. A Particle Argon board was also included in this stage of the build to allow for cloud connectivity via cellular networks. The Arduino communicates with the Particle via a serial connection, then data is sent to a Particle dashboard. In this dashboard, users can check up on the status of a shipment at any time.

    If you have an idea of your own where anomaly detection may come in useful, take a look at Sheth’s public Edge Impulse project for a template that will give you a head start.

    Want to see Edge Impulse in action? Schedule a demo today. 


    Are you interested in bringing machine learning intelligence to your devices? We're happy to help.

    Subscribe to our newsletter